| “At the request of the survivors, the names have been changed. Out of respect for the dead, the REST has been told exactly as it occurred.” |
Using SQL Gateway with Python, Vector Search, and Interoperability in InterSystems Iris
Part 2 – Python and Vector Search
Since we have access to the data from our external table, we can use everything that Iris has to offer with this data. Let's, for example, read the data from our external table and generate a polynomial regression with it.
For more information on using python with Iris, see the documentation available at https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=AFL_epython
Let's now consume the data from the external database to calculate a polynomial regression. To do this, we will use a python code to run a SQL that will read our MySQL table and turn it into a pandas dataframe:
Using SQL Gateway with Python, Vector Search, and Interoperability in InterSystems Iris
Part 1 - SQL Gateway
Hello
In this article we will look at the use of SQL Gateway in Iris. SQL Gateway allows Iris to have access to tables from other (external) database via ODBC or JDBC. We can access Tables or Views from various databases, such as Oracle, PostgreSQL, SQL Server, MySQL and others.
Hi Community,
Enjoy the new video on InterSystems Developers YouTube:
⏯ Make Upgrades Easier - Introducing the Upgrade Impact Checklist @ Global Summit 2024
First, let me wish the developer community a Happy New Year! We hope to bring you many good things this year, and today I'd like to introduce the latest version of the Intersystems Language Server extension to VS Code. Most Language Server improvements are experienced via the ObjectScript extension UI, so you many not be aware of the many improvements in areas like Intellisense and hover overs that were released throughout 2024. Please take a quick read over the Language Server's CHANGELOG and find out what you missed. Most recently, version 2.7.0 brings support for the Windows ARM platform,
I have an operation using $ZF this operation ran and did not error but the job has been active and it can not be stopped I have tried stopping it from the front end and through the terminal using ##class(ENSLIB.Job).%New() Stop method. Now my production will not update even if I add a new item to the production I cannot update the item is there a way to force stop this job.
Hello,
It's possible to set a value to a "variable" in SQL Cache?
Like in SQl Server or Oracle?
Thanks
I have a scenario where I send a GET request to a broker and receive a FHIR response. When I attempted to use the built-in InterSystems functions to convert this FHIR response into SDA, the transformation failed—likely because it is not a standard FHIR request.
How should I handle this situation? Is there a recommended approach to processing FHIR responses in this context?
I understand that InterSystems provides functions to facilitate transactions between FHIR and HL7 via the SDA segment. My question is:
- Does this transformation only work when InterSystems receives FHIR requests and converts them into HL7, or does it also support responses?
- Specifically, if our operation sends a GET request to a broker and receives a FHIR response, does InterSystems support transforming this response into an SDA segment automatically?
- Or should we manually parse and modify the response to handle it according to our needs?
Hi experts,
Please, I'd know how the best way to do freeze and thaw databases on windows.
I'll do freeze databases before snapshot and thaw after snapshot.
I think is necessary execute scripts. Please, do you know where can I found it?
Thank you.
Hi,
I'm trying to get a property from a class but I get an error:
SET status=##CLASS(Backup.Task).LastRunStatus
^
<CLASS PROPERTY>
Can someone please tell me the correct way to get the property?
The property is dexcribed here:
https://docs.intersystems.com/irislatest/csp/documatic/%25CSP.Documatic…
Thanks in advance.
Where is InterSystems IRIS Download for Windows (better free)?
By Benjamin Spead, Pravin Barton
In MySQL I have the following table:
CREATE TABLE `info` ( `created` int(11) );
And it is linked (via JDBC SQL Gateway) to Cache table mysql.info. `created` field stores unix timestamp. So when I execute this SQL in SMP:
SELECT created FROM mysql.info
I receive the following output (which is expected):
| created |
| 1435863691 |
| 1436300964 |
But I want to to display `created` field converted to ODBC timestamp format. To do that I call this SQL procedure
Hi Community,
Enjoy the new video on InterSystems Developers YouTube:
⏯ Driving Optimal Business Outcomes: InterSystems Supply Chain Solutions @ Global Summit 2024
Hi Community,
We're excited to invite you to the webinar Configuring a Web Server for use with InterSystems IRIS.
Join this webinar for an engaging and insightful tech talk on the configuration of a web server to use with InterSystems IRIS.
⏱ Date & Time: Thursday, February 27, 10:30 AM GMT
👨🏫 Speaker: @Steve Mallam, HealthShare Team Lead, InterSystems UK&I

The IKO allows for sidecars. The idea behind them is to have direct access to a specific instance of IRIS. If we have mirrored data nodes, the web gateway will (correctly) only give us access to the primary node. But perhaps we need access to a specific instance. The sidecar is the solution.
Building on the example from the previous article, we introduce the sidecar by using a mirrored data node and of course arbiter.
In the WRC, we frequently see customers contact us because their Web Gateway is unable to serve web pages. This article will explain a frequent reason why these errors can occur, and explain some tools which can be used to debug the problem. This explanation is focused on the Web Gateway serving InterSystems IRIS instances, but the same explanation should apply to the CSP Gateway serving Caché instances as well.
The Problem:
Attempting to load a Web Application (either a custom application or the System Management Portal) results in one of the following errors (depending on your browser):
Hello Community,
Is it possible to track or determine where the global variable was set (routine or class) in a form of like label+offset^routine?
Regards,
Ashok
Learning LLM Magic
The world of Generative AI has been pretty inescapable for a while, commercial models running on paid Cloud instances are everywhere. With your data stored securely on-prem in IRIS, it might seem daunting to start getting the benefit of experimentation with Large Language Models without having to navigate a minefield of Governance and rapidly evolving API documentation. If only there was a way to bring an LLM to IRIS, preferably in a very small code footprint....
Some warnings before we start
I set up all the credentials and IP, Port, Namespace, SSL/TLS Server Name and .ini file but I still cannot connect to db. and It says
Iris ODBC][State : 08S01][Native Code 459]
[C:\Windows\system32\odbcad32.exe]
Connection via irisconnect failed:
Matching SSL server config not found in ssldefs.ini or registry
"basedOn" : [{
"reference" : "CarePlan?identifier=urn:ietf:rfc:3986|urn:uuid:3aae92e6-9c51-46ab-83bb-bc3a5a66d429"
}],Hello,
I am new to InterSystems FHIR server implementation and in process of evaluating it. (R5)
I try to create a Task referencing a CarePlan resource as above.
I got the following error message and I wonder what could be the mistake as it used to work against another FHIR server implementation. (the referenced CarePlan resource does not exist but I guess that in this case the error code would be different?)
Hello,
Please we need some help in connecting IRIS to SAP RFC.
We would appreciate if anyone has a detailed documentation for it.
Thank you
In this article, exceptions are covered.
Working with Exceptions
Instead of returning a %Status response, you can raise and throw an Exception. You are then responsible for catching the exception and validating it. IRIS provides five main classes to handle exceptions effectively. Additionally, you can create custom exception class definition based on your needs.
My usecase is sorting and removing duplicates and getting count from a file that has json messages as a individual rows.
I am currently planning to use pandas for this purpose as its really fast. Below are the steps i am following
1) call a python function (called function) from IRIS classmethod(calling function)
2) the call python function will read the json file in a dataframe
3) perform sorting, dup removal, count in the dataframe
4) convert the dataframe into iris stream
5) return back the stream to iris calling function class method
You may encounter errors during any point of program execution, and there are several ways to raise and handle these exceptions. In this article, we'll explore how exceptions are handled efficiently in IRIS.
One of the most commonly used return types is %Status, which is used by methods to indicate success or failure. Let's begin by discussing %Status values.
Working with %Status
I have an MDM interface with a DTL that takes OBX:5 and replaces "{\E\rtf" with "{\rtf" and "\X0A\" with nothing. Most rtf's this works without a problem, some others, it corrupts the document.
Code:
<assign value='..ReplaceStr(..ReplaceStr(source.{OBXgrp(k1).OBX:ObservationValue(1)},"{\E\rtf","{\rtf"),"\X0A\","")' property='target.{OBXgrp(k1).OBX:ObservationValue(1)}' disabled = '0' action='set' />
My question is - anyone know of any other "gotchas" that could possibly need to be replaced or something?
At the moment we're creating multiple BPLs are using a router (or another BPL) to direct to these based on a unique key modulo the amount of BPLs available, e.g. if we have 3 BPLs created.Message key = 1 mod 3 + 1 -> BPL02Message key = 2 mod 3 + 1 -> BPL03Message key = 3 mod 3 + 1 -> BPL01FIFO only matters in that each messages for each key is processed in order.What we were considering doing is increasing the pool size to 3 and programmatically creating a BPL on each thread that processes messages that would be directed to it, rather than having to create multiple BPLs into the
Overview
With the help of SQL, you can build, train, and manage machine learning models directly in the database with InterSystems IRIS's robust IntegratedML tool. Using SQL examples that represent your data, we will go over IntegratedML configuration and how it is used in practical situations in this article.
Hello,
When setting up a new web app in iris (iris is in a container) iris complains that a WSGI framework is not installed. I have installed python into the container as well as both flask and django via the python virtual environment (see second screenshot) and the python language server is running
Is this the wrong way to install flask? How do I get the container version to recoginize that flask is installed?

