In response to a community question asking to view Request and Response message types in Production settings..

A community helper class was implemented should people need this. ( alwo.EnsHelper.HostRequestResponseInfo )

Install

zpm install alwo-enshelper

The code may serve as an example, to project bespoke configuration into Production settings.

6 1
2 215

Hi All,

We're doing our first babysteps with embedded Python and IRIS with an interoperability solution. We want to convert a CSV file to an Excel xlt file.

As service we've got a EnsLib.File.PassthroughService which picks up a csv file

As operation we've got a EnsLib.File.PassthroughOperation which writes the Excel file.

In the middle:

We've created an Business Process with an %Stream.GlobalCharacter in the Request and a %Stream.GlobalCharacter in the Response.

0 3
0 275

Problem

In a fast-paced clinical environment, where quick decision-making is crucial, the lack of streamlined document storage and access systems poses several obstacles. While storage solutions for documents exist (e.g, FHIR), accessing and effectively searching for specific patient data within those documents meaningfully can be a significant challenge.

7 0
2 376

I have a pResponse output in my onrequest method, in here I build an ACK and set the pResponse variable to it, and return a status object afterwards.

The pResponse doesn't show up in the trace or message viewer, yet if I move the interface to another more established namespace it works fine, what settings or config could be preventing the ACKS going back?

0 4
0 173

Hi, Developers!

I wonder if it is possible to use class parameters in DTL XData?

E.g. in an example below of the DTL I'd prefer to setup ChatGPT prompts in parameters (GPTPrompt1) of DTL rather than quotes inside the XData XML:

If possible, how can I refer to a class parameter from XData?

Thanks in advance!

2 2
1 245

Hi folks!

I have an example where I want to write a string into a file.

I have a message with string and I want to write the string down into a file.

I took EnsLib.FilePathThrough.Operation which expects Ens.StreamContainer message.

So I perform a data transformation where I need to transfer string to a stream. Here is the DataTransformation:

1 4
0 478

Hi folks!

How can I change the production setting programmatically?

I have a production that is a solution that uses some api-keys, which are the parameters of Business Operations but of course cannot be hard-coded into the source code.

E.g. here is the example of such a production that runs a connection of Telegram and ChatGPT.

And it can be installed as:

zpm "install telegram-gpt"

But now one needs to setup the key manually before using the production, having the following setting:

I'd like to set up it programmatically so one could install it as:

zpm "install telegram-gpt -D Token=sometoken"

How can I make it work?

0 18
0 502

Hi Community!

Just want to share with you an exercise I made to create "my own" chat with GPT in Telegram.

It became possible because of two components on Open Exchange: Telegram Adapter by @Nikolay Solovyev and IRIS Open-AI by @Kurro Lopez

So with this example you can setup your own chat with ChatGPT in Telegram.

Let's see how to make it work!

6 8
1 357

Recently I needed to restore a version of a production class, which was overwritten by compilation and running UpdateProduction. As the correct version was unavailable in the source control, I used journals to restore the data. Journals store a plethora of information about what's happening in the system and are quite a powerful tool. This article explains how to work with journals to extract the data you require.

5 0
1 183

Hi all,

I'm wondering if is possible to call to a BO from a HL7 Route according to a parameter of the HL7 Message

I mean,

According to the identify of the laboratory, I want to call to other TCP process to retrieve information about blood tests.

We are creating the BO using this partern.

LAB.BO.TCP. + name of the laboratory.

The name of the laboratory is stoted in the lookup table T_LABORATORIOS

I've tried to assign the name into a variable and put it in the "send" instruction, but it doesn't work.

1 3
0 168

I'm proud to announce the new release of iris-pex-embedded-python (v2.3.1) with a new command line interface.

This command line is called iop for Interoperability On Python.

First I would like to present in few words the project the main changes since the version 1.

A breif history of the project

Version 1.0 was a proof of concept to show how the interoperability framework of IRIS can be used with a python first approach while remaining compatible with any existing ObjectScript code.

What does it mean? It means that any python developer can use the IRIS interoperability framework without any knowledge of ObjectScript.

Example :

from grongier.pex import BusinessOperation

class MyBusinessOperation(BusinessOperation):

    def on_message(self, request):
        self.log.info("Received request")

Great, isn't it?

5 3
0 214

Hi all,

I am looking for a way to serialize fhir content received via interoperability adapter into it´s corresponding ISC model class (e.g. HS.FHIR.DTL.vR4.Model.Resource.DiagnosticReport) for later use. In my opinion the outline to accomplish this would be something like

1) Receive the FHIR data
2) Get quick stream containing the JSON data
3) Examine if bundle or single ressource
4) For resource serialize to coressponding model class (HS.FHIR.DTL.vR4.Model.Resource.*)
5) further use of newly created object of type HS.FHIR.DTL.vR4.Model.Resource.*

0 3
0 208

Hello,

We currently have the following scenario: We have a bussiness SOAP Operation, where we get a SAML String and we convert it into a %SAML.Assertion object correctly.

👩‍💻👨‍💻 We would need to send the SAML Assertion inside the SOAP Header to the Target System.

First of all thanks for reading, and thanks for answering.

We currently have opened Log Soap and we do not observe it being added to the SOAP Header, as you would observe in the following Log Soap:

0 1
0 166
Article
· May 23, 2023 1m read
Production settings

When developing interoperability productions, it might be useful to have settings outside of a Business Host. The primary reason is when you need a setting to affect several different Business Hosts and want to guarantee that the value is the same. While System Default Settings can be used to propagate settings for Business Hosts, they can be changed by overriding the value on a BH level (although the advantage of Business Host settings set via SDS is that they don't need custom code which our current approach requires).
Another reason is when you need to affect non-setting parts of the Business Host configuration (PoolSize, Enabled, etc.)

We will be adding an env setting to a production.

3 1
0 216

Hi Community,

Watch this video to learn how to achieve true Interoperability in Healthcare Systems which is all about going beyond the typical "syntactic" interoperability and understanding what's needed to bring that interoperability to the next level in healthcare:

Achieving True Interoperability in Healthcare Systems

https://www.youtube.com/embed/aoywXULERQk
[This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]

2 2
0 235
Question
· May 12, 2023
TCP Error

Hi Everyone,

I tried to send the Sample XML from Packet Sender to Intersystems IRIS TCP Inbound adapter for learning purpose.
I'm using Predefine d Class : EnsLib.XML.TCPService and the adapter is EnsLib.TCP.CountedInboundAdapter (it selected by Default.)
My sample XML file would be <Patient><Name>John,Williams</Name><MRN>12345</MRN></Patient>
I got an error like

0 3
0 140

Hello everyone,

I am looking for a sort of REST interoperability adapter that can forward REST calls within HealthConnect. If necessary, we need to adjust the requests or responses.

For Fhir calls, we use the FHIR Interoperability Adapter. This works perfectly; a message comes in as HS.FHIRServer.Interop.Request, and a message HS.FHIRServer.Interop.Response goes out. I can make adjustments as needed to both the request and response. I am looking for the same functionality, but then for non-FHIR REST calls.

0 2
0 137