#Business Operation

4 Followers · 262 Posts

InterSystems Ensemble provides specialized business operation classes that use specific outbound adapters to communicate with external systems and UI.

Documentation.

Question bastien bouko · Mar 27, 2017

Hello,

i'd like to create a directory chain with  "EnsLib.FTP.OutboundAdapter"

i'm using it like that with the class file and it's working:

file = ##class(%File).CreateDirectoryChain(directory)

But now i'd like to create a directory chain with the FTP Outbound but i don't know how , i didn't see a method to do that.

Thanks in advance.

3
0 816
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 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 658
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
Article Tamara Lebedeva · Jan 28, 2017 10m read

Many mobile applications that enable users to get information about road fines and pay them, send notifications about newly added fines. This functionality can be efficiently implemented using push notifications sent to users’ devices.

Our application was not an exception. The server side is based on the Ensemble platform that offers integrated support of push notifications starting from version 2015.1.

0
0 662
Article Markus Mechnich · Jul 14, 2016 1m read

Recently we have exercised this with a partner. It may be helpful for others as well.

The basic functionality is to connect to SAP through SAPJCo (Supporting SAPJCo 3.07+).

As a first step have a production with at least two items of the following type:

  • EnsLib.JavaGateway.Service
  • EnsLib.SAP.Operation

Configure the settings for the Java Gateway and the SAP Operation accordingly. And start the production.

Now the library sapjco3.jar needs to get imported to be used by further internal functionality.
Therefore start in a browser the webpage for simplified SAPJCo base installation

/csp/<your sapjco

2
1 1219
Question Kurro Lopez · Jan 4, 2017

Hi all,

I've a problem with EnsLib.FTP.OutboundAdapter

I've configured this adapter using a SFTP connection, it has been working the first time but now its raising the following error message:

ERROR <Ens>ErrFTPPutFailed: FTP: error al colocar archivo '1600000107279008930.pdf' (mensaje='Error in SFTP Put('C:\stream\QhFaDm4L1Jrgbg.stream','mypath/1600000107279008930.pdf') ERROR #7500: Error SSH '-2146430933': SSH Error [8010102B]: Unable to send FXP_OPEN* [8010102b] at SFTP.cpp:539,0',código=0)

This is part of my code:

    try {
        set name = pRequest.FileName
        set ..Adapter.FilePath =
4
0 3137
Question Scott Roth · Oct 6, 2016

maybe I am not looking in the correct spots, but how should one handle an Exception from a SOAP web service within the Business  Process Language? For example I am sending a request to a Web Service to try to get information, but the response I am getting is an Exception like "Patient Not Found".

Is there a function I can call to check the response similar to what I do to check a SQL Snapshot to see if it is valued?

Thanks

Scott Roth

Sr. Applications Development Analyst
Information Technology Integration - Interfaces

The Ohio State University Wexner Medical Center

2
0 796
Question Jenny Ames · Sep 20, 2016

Hi all,

We're in the process of creating several courses for creating custom business components for productions. This includes custom business operations, BPL processes, and custom business services. Custom Business Operations and Custom Business Services are both aimed at software developers while BPL processes can be also be created by business analysts. What are some gotchas or best practices you've learned that you wish you knew when first building these components?

We'd love to include what you've learned into these courses so others can learn from them as well!

Thanks!

1
0 462
Article Brendan Batchelder · Sep 20, 2016 4m read

Framing refers to the characters that mark the start and end of an HL7 message (or other types of framed messages).  Most HL7 services and operations have a Framing setting that allows the user to define this framing.  The most common choices are available as defaults, but with the AsciiMM/NN setting, components can be configured to recognize any framing characters.

The most common framing error is ErrEndBlock.  Other typical errors include a warning saying "Discarding received non-HL7 data", a warning saying "Returning unused unexpected n-char segment", and "Discarding leftover input ''".

These

0
2 2803
Article Daniel Kutac · Sep 8, 2016 2m read

This short article was motivated by a problem of one of my customers. They use Ensemble to integrate many systems, some of them use just plain files.

So they naturally selected File Outbound Adapter to write into target file. Things were running smoothly for years, until recently, when the volume of data being written to the file reached large size of tens of megabytes. The operation took around half an hour to complete, causing timing problems where subsequent operations within the process had to wait, and third party system was not happy to wait so long.

The customer's code looked somehow

2
0 873
Article Markus Mechnich · Aug 23, 2016 1m read

This is the first follow up after the post about headstarting SAPJCo3 with Ensemble and HealthShare ( https://community.intersystems.com/post/headstart-connect-sap-using-sapjco3-ensemble-and-healthshare).

Using the wizard which is available with Version 2016.1 and up (currently only through direct call in the webbrowser http://<server>:<port>/csp/<namespace>/EnsPortal.Dialog.SAPJCO.BaseConfiguration.cls ).

Make sure you have a running production with a configured SAPJCoOperation.

1
1 761
Question Laura Cavanaugh · Aug 9, 2016

Hello community,

I have productions running in several different namespaces.  They all use a common credentials ID for sending email, which is set up in only one of the namespaces.  The documentation says that credentials are entered by namespace.  When I ran a production in a second namespace, the error log said that credentials were not found (expected), but later attempts to send a file thorugh the production did successfully send an email.  I'm wondering if Ensemble is able to look in other namespaces for the same credentials ID?

I just want to make sure, since I'm moving this to a live

2
0 914
Article Randy Pallotta · Jun 7, 2016 1m read

Hello,

We are sometimes asked for examples of how to do 3rd party SQL database selects/updates/inserts/stored procedures from an Ensemble SQL Business Operation.

In the attached file there are 4 sample Ensemble Operations that demonstrate four different types of transactions with an external SQL DB:

1:  The "CheckExists" shows how to use an Operation to do a select statement to see if a given patient MRN exists in a DB
2:  The ExecSP Operation shows how to execute a stored procedure from a BO
3:  the Update Operation does an Update
4:  the Insert Operation does an Insert

Given the samples, one can

3
0 1895
Article David Loveluck · May 27, 2016 1m read

Java Business Services and Operations

In Ensemble 2016.3 ‘Java Business Hosts’ provides the means to create new Business Services and Business Operations using Java without need for any ObjectScript coding. There are two major reasons to use this capability:

  •  Add new protocols to Ensemble using available Java libraries.
  •  Allows Java developers to create custom business services and operations without needing to learn Caché ObjectScript..

At Global Summit there were two sessions and an experience lab covering Java Business Hosts that got a lot of attention and a very positive reaction.

Maxim

0
0 550
Question Steve Shaw · Apr 14, 2016

Hi,

IHAC who is trying to connect Ensemble to Quadramed for HL7 messaging, however, it seems that in order to do this, the following is required:

"we open a passive connection to Quadramed and then listen for a connection request from Quadramed, once this is established we then send messages"

Has anyone done this before?  Is this possible with the standard HL7 components?

Thanks,

Steve.

1
0 451