#Business Operation

0 Followers · 255 Posts

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

Documentation.

Question Pietro Di Leo · Sep 11, 2023

Hi everyone, 

I'm working on a Business Operation whit an HTTP Outbound Adapter and I would like to know if is possible to adjust the FailureTimeout value based on the incoming message type. For example, I would like to have a FailureTimeout of 60 seconds for the standard operations and a FailureTimeout of -1 (wait forever) for few special operations that absolutely need a response. 

Can we dynamically modify the FailureTimeout through code, based on either the incoming message type or a specified parameter?n the incoming message type or depending by a parameter?

For example, something like: 

10
0 563
Question Pietro Di Leo · Oct 16, 2023

Hi everyone, 

My problem today is how to send an HTTP message to a web service deployed via Render and gunicorn. 

Issue

Every time I try to contact the web service I get an error. Searching on the web, I've found this StackOverflow question that suggests the issue could be set off from a missing "/" character in the endpoint string.

I've tried in many ways, both including and excluding the final slash character, but I always get an error:

4
0 287
Question Colin Brough · Oct 17, 2023

Pointers please for debugging a SOAP web-client.

We have several clients in different productions all accessing a web-service. We are trying to add another client in a new production, and its not working. The messages between the relevant Process and the SOAP web-client Operation are the same in the working and the non-working productions. But the web-service is reporting an XML parsing error to the non-working production. Here's the error as reported in the SOAP web-client Operation...

Is there any way to see the output of the web-client Operation - what Ensemble is actually sending out?

3
0 348
Announcement Derek Robinson · Oct 4, 2023

Hi All! If you have looked into Health Connect Cloud at all, you may know that the cloud-native environment presents a few differences from traditional deployments of InterSystems integrations. If you've taken a classroom course at InterSystems, you may have used "in" and "out" folders in productions to simulate receiving and outputting HL7 messages.

Configuring Secure File Transfer in Health Connect Cloud shows how this is achieved in a cloud environment where you can't simply create an "in" and "out" folder on your local server. Let me know if you have any questions!

0
0 181
Discussion Evgeny Shvarov · Sep 18, 2023

Hi Interoperability experts!

Recently noticed an interesting conceptual discussion in our Interoperability Discord channel to which I want to give more exposure.

All we know that typical InterSystems Interoperability production consists of the following chain:

Inbound adapter->Business Service->Business Process->Business Operation->Outbound adapter.

And Business Process (BO) here is always considered as a passive "listener" either on port/folder/rest API for an incoming data.

4
0 315
Question Smythe Smythee · Sep 11, 2023

Hi Community,

I have SDA file as Ens.StreamContainer Message using pRequest As Ens.StreamContainer

SDA file structure looks like this 

<Name><FamilyName>Lucy</FamilyName><GivenName>Hale</GivenName><MiddleName>Park</MiddleName></Name><Gender><Code>F</Code><Description>F</Description></Gender><BirthTime>2023-09-07T00:00:00</BirthTime>

How can i change individual value from the Steam and then save changed value into the stream?

3
1 822
Question Julio Rodriguez · Jul 10, 2023

Hello,

I have a EnsLib.HL7.Operation.FTPOperation that uses SFTP protocol and public/private key to connect to an external vendor moveitcloud.

Issue: The vendor is planning to enable Multi Factor Authentication for this file transfer account.

Question: Have you configured a SFTP operation to use Multi factor Authentication? If not, is there another way?

Thank you,

1
0 390
Question Scott Roth · Jul 21, 2023
First time setting up a SSL/TLS connection, and I am running into issues when I call it from within a Business Operation. I used openssl to generate a RSA 4096  SHA512 key/csr request for our Active Directory Certificate Service to generate a Certificate Chain for me to use within RedHat. I was 
able to connect to our Web Service server using a generic request from terminal, however when I try it from our Business Operation I am running into issues.

I tested the SSL/TLS connection using the following commands from the terminal...

DEVCLIN>set request=##class(%Net.HttpRequest).%New()
1
0 660
Question Eduard Lebedyuk · Jul 20, 2023

I have the following setup: REST broker calls inProc BO via BS. As BO initialization is time-consuming, I want to reuse the same BO during the CSP process lifetime.

I have tried the following approaches:

  1. Set %session.Preserve to 1 (I would prefer not to use it as the BO object is not linked to a specific client)
  2. Set $$$EnsInProcPersist to 1 (looked relevant)
  3. Cached BS between calls

However, every time I call my REST endpoint, I get a new BO. Is there a way to cache inProc BOs in the CSP context?

0
0 123
Question Scott Roth · Jul 10, 2023

Trying my first REST call operation to our internal EMR (Epic) server, and I am receiving "ERROR #6097: Error '<READ>Read+28^%Net.HttpRequest.1' while using TCP/IP device '9999'" when I attempt to test my operation. When I look up the General Error Messages for 6097 I am seeing...Error '%1' while using TCP/IP device $zu(189,1)='%2'. What does this mean? 

I am trying to connect to the server over port 443 which is HTTPS but I am not using an SSL Configuration. Could that be the issue? 

Is there a way to debug HTTP like their is with the ISCSOAP log?

1
0 932
Question Scott Roth · Jul 6, 2023

I had attempted to create a REST Operation before but did not have success. As I am going through the Tutorials and Documentation everything references REST services, but I have a case where I want to create a REST Operation that makes Epic API calls against Interconnect. I have done SOAP operations before and we currently have one in our Production Namespace, but from what I understand SOAP has the wsdl which defines al the structures and etc, where REST does not. 

1
1 274
Article Kurro Lopez · Jun 19, 2023 9m read

 

As you all know, the world of artificial intelligence is already here, and everyone wants to use it to their benefit.

There are many platforms that offer artificial intelligence services for free, by subscription or private ones. However, the one that stands out because of the amount of "noise" it made in the world of computing is Open AI, mainy thanks to its most renowned services: ChatGPT and DALL-E.

<--break->What is Open AI?

6
2 1371
Article Nikolay Solovyev · Jun 21, 2023 3m read

The Telegram Adapter for InterSystems IRIS serves as a bridge between the popular Telegram messaging platform and InterSystems IRIS, facilitating seamless communication and data exchange. By leveraging the capabilities of the Telegram API, the adapter allows developers to build robust chatbots, automate tasks, and integrate Telegram with InterSystems IRIS applications.

The most common scenarios where the Telegram Adapter can be used include:

0
2 383
Article Yuri Marx · Aug 25, 2022 8m read

EHR (Electronic Health Record) systems are modeled in a proprietary format/structure and are not based on market models such as FHIR or HL7. Some of these systems can interoperate data in a proprietary format for FHIR and other market models, but others can not. InterSystems has two platforms that can interoperate proprietary formats for market ones: InterSystems HealthShare Connect and InterSystems IRIS for Health. The transformation functionality (DTL - Data Transformation Language) of these platforms can receive data in any format, structure, or communication channel (CSV, JSON, XML, and

1
4 1127
Question Scott Roth · May 1, 2023

I am running into an error trying to send an Alert Email to test the functionality of IRIS HealthShare Health Connect  2022.1 compared to Cache HealthShare Health Connect 2018.1.3. I was trying to send an Alert email, when I am getting the following error on my EMailAlert operation which is using EnsLib.EMail.OutboundAdpater.

ERROR <Ens>ErrException: <UNDEFINED>FText+4 ^%occMessages *msg -- logged as '-'
number - @''

I verified the message to the EMailAlert was populated, so what could be throwing this error...

5
0 333
Announcement Shane Nowack · Feb 14, 2023

Hello InterSystems HL7 Community,

InterSystems Certification is developing a certification exam for InterSystems HL7 interface specialists and, if you match the exam candidate description given below, we would like you to beta test the exam. The dates the exam will be available for beta testing are March 28 - April 30, 2023. Interested beta testers should sign up now by emailing certification@intersystems.com (see below for more details)

1
0 1072
Question Thembelani Mlalazi · Apr 17, 2023

I am using the %Net.HttpRequest class to download a file from the internet .using the following code. When a file is returned in the DOM I am able to read the file content and save it to the desired location but when my response is a download dialog nothing is returned in the HttpResponse. Am I doing something wrong here is where I have gotten to so far any help appreciated.

current code

1
0 399
Article Julian Matthews · Mar 17, 2023 7m read

Introduction

Say you have a receiving system that accepts HL7 and provides error messages in field ERR:3.9 in the ACK it returns. You require a different reply code action depending on the error message, however the Reply Code Actions settings for the operation do not provide this level of granularity. One option could be to create a process that takes the ACK and then completes the action you were expecting, however things can get a bit messy if the action is to retry the message, especially when trying to view a message trace.

2
1 788
Question Smythe Smythee · Mar 23, 2023

Hi Community,

I am trying to save data into SQL table but each entry  getting saved twice in the SQL table. Is there any reason data is saving Twice in the SQL table 

I have created a %Persistent class for the fields

Please find the business operation below

Class Patient.DBOperation Extends Ens.BusinessOperation

{

Parameter ADAPTER = "EnsLib.SQL.OutboundAdapter";

Property Adapter As EnsLib.SQL.OutboundAdapter;

Parameter INVOCATION = "Queue";

6
0 344
Article Philipp Bonin · Feb 13, 2023 3m read

In today's fast-paced and highly competitive manufacturing industry, efficient machine communication and data exchange is essential to maximize productivity and minimize downtime. That's where MTConnect comes in. MTConnect is an open, royalty-free standard that provides a common language for communication between machines, devices, and software applications in a manufacturing environment.

0
0 342
Question Clint Childs · Dec 2, 2022

What I can do:
Get a subset of HL7 messages.
Send the messages to a RecordMap (with key fields from the HL7 message).
Save each message to a file.

How can I send all messages until a set time (e.g. 9am each day) to single file?

Scenario:
In the period 09:00 1 Jan 2022 to 09:00 2 Jan 2022 there are say 50 messages to save to file: File001.txt
In the period 09:00 2 Jan 2022 to 09:00 3 Jan 2022 there are say 40 messages to save to file: File002.txt
etc

2
0 503
Question Ravi Akkiraju · Dec 15, 2022

I am trying to figure out how to loop through the EnsLib.LDAP.Message.Results to get all the attributes. From router I am passing EnsLib.LDAP.Messge.Search as the request param. Response is  EnsLib.LDAP.Message.Results. I am invoking the EnsLib.LDAP.Messge.Search BO.

At the BP level, trying to figure out how to extract all the attributes for a EnsLib.LDAP.Message.results

2
0 265
Question Smythe Smythee · Nov 7, 2022

Hi Community,

I am working on sending Gmail with error details when any errors occurs in the ensemble production.

I am facing the below issues while doing it

1.I have Ens.Alert (Business process) using the class Ens.Alerting.AlertManager and Emailoperation (Business operation) using the class EnsLib.EMail.AlertOperation. here my business process is not sending the Alarm request to business operation eventhough i am using rule to connect the business operation 

2.What are SMTP server details needs to given for Gmail?

Please let me know how to resolve these issues

Thanks,
Smythee

2
0 331
Question Smythe Smythee · Oct 10, 2022

Hi ,

Still a newbie for ensemble, I am trying to convert XML message to HL7 Message. I am using Custom schema for XML structure which includes MSH and PID segments from HL7 Message.

These are the service, process, Operation classes i am using 

Business service-EnsLib.EDI.XML.Service.FileService

Business Process-EnsLib.MsgRouter.RoutingEngine

Business operation -EnsLib.HL7.Operation.FileOperation

I am using data transformation to convert XML message to HL7 message  and data transformation is working fine and im getting this in the business operation.

8
0 1016