#InterSystems IRIS

19 Followers · 5.6K Posts

InterSystems IRIS is a Complete Data Platform
InterSystems IRIS gives you everything you need to capture, share, understand, and act upon your organization’s most valuable asset – your data.
As a complete platform, InterSystems IRIS eliminates the need to integrate multiple development technologies. Applications require less code, fewer system resources, and less maintenance.

Question Oliver Wilms · Apr 27, 2025

I combined @Rodolfo Pscheidt https://github.com/RodolfoPscheidtJr/ollama-ai-iris with some files from @Guillaume Rongier https://openexchange.intersystems.com/package/iris-rag-demo.

My own project is https://github.com/oliverwilms/ollama-ai-iris

I can run load_data.py and it connects to IRIS (same container).

When I try to run query_data.py https://github.com/oliverwilms/ollama-ai-iris/blob/main/query_data.py , it cannot connect to ollama:

ConnectionError: Failed to connect to Ollama. Please check that Ollama is downloaded, running and accessible.

I wonder if I need to add in query_data.py, how it

3
0 147
Article Irene Mykhailova · Apr 25, 2025 4m read

When working with InterSystems IRIS, database developers and architects often face a critical decision: whether to use Dynamic SQL or Embedded SQL for querying and updating data. Both methods have their unique strengths and use cases, but understanding their performance implications is essential to making the right choice. Response time, a key metric in evaluating application performance, can vary significantly depending on the SQL approach used. Dynamic SQL offers flexibility, as queries can be constructed and executed at runtime, making it ideal for scenarios with unpredictable or highly variable query needs. Conversely, Embedded SQL emphasizes stability and efficiency by integrating SQL code directly into application logic, offering optimized response times for predefined query patterns.

In this article, I will explore the response times when using these two types of SQL and how they depend on different class structures and usage of parameters. So to do this, I'm going to use the following classes from the diagram:

3
2 288
Article Kurro Lopez · Apr 14, 2025 14m read

 

As we all know, InterSystems is a great company.

Their products can be just as useful as they are complex.

Yet, our pride sometimes prevents us from admitting that we might not understand some concepts or products that InterSystems offers for us.

Today we are beginning a series of articles explaining how some of the intricate InterSystems products work, obviously simply and clearly.

In this essay, I will clarify what Machine Learning is and how to take advantage of it.... because this time, you WILL KNOW for sure what I am talking about.

1
9 376
Question Michael Davidovich · Apr 23, 2025

I think I found my solution but I'm trying to understand better why it works. Forgive me as my descriptions here may be scattered but I'm trying to piece the puzzle together.

Scenario: I've found there are times when I make a request using a %Net.HttpRequest object and as I'm debugging and stepping through via the debugger in VSCode, if I try to access an object in the 'variables' menu, sometimes when I click that little expand button it will just spin and never load what's in the object to the viewer.

0
1 124
Question Touggourt · Apr 23, 2025

Hi Guys,

I'm a newbie that doesn't know much about integratedML and looking for a first push into it, I've setup VSCode with my IRIS 2024.3 running in Linux and my understanding is that we can create models using SQL, so first, do I need to setup a specific environment where I can run my SQL commands to create & train Models or just using SMP, and do I need to install or enable Python ..etc things required to setup the environment?

Then if there are easy samples or training materials on how to create, train & deploy my model?  

Thanks

2
0 98
Question Andreas Schneider · Apr 22, 2025

I've conducted some tests using different InterSystems IRIS Community Edition container images, which I pulled from https://containers.intersystems.com.

During this process, I noticed some inconsistencies that I’d like to clarify:

  • The tag latest-preview pulls: InterSystems IRIS Version 2025.1.0.204
  • The tag latest-cd pulls: InterSystems IRIS Version 2024.3.0.217
  • The tag 2025.1 pulls: InterSystems IRIS Version 2025.1.0.223

This behavior was a bit confusing to me, especially since latest-preview does not point to the most recent 2025.1 build.

Could someone please confirm if this is the

2
0 104
InterSystems Official Daniel Palevski · Apr 22, 2025

The 2024.1.4 and 2023.1.6 maintenance releases of InterSystems IRIS® data platform, InterSystems IRIS® for HealthTM, and HealthShare® Health Connect are now Generally Available (GA). These releases include the fixes for the following alert recently issued - Alert: SQL Queries Returning Wrong Results | InterSystems. Please share your feedback through the Developer Community so we can build a better product together.

Documentation

You can find the detailed change lists & upgrade checklists on these pages:

Early Access

0
0 213
Question Scott Roth · Apr 22, 2025

I was wondering if someone could help me. In the past I have been able to call external Stored Procedures through a SQL Outbound Connection and have them return me the EnsLib.SQL.Snapshot to use within a BPL to extract data.

But this time instead of using a SQL Outbound BO to make the Stored Procedure call, I decided to create a Linked Stored Procedure through the %JDBC_Server to point to the Stored Procedure out on MS SQL.

However, I am struggling to get the code just right to return the Column value from the Linked Stored Procedure.

set result = ##class(EnsLib.SQL.Snapshot).%New()
 set result
2
0 105
Article Yuri Marx · Nov 1, 2021 4m read

The InterSystems IRIS is a great data platform and it is met the current features required by the market. In this article, you see the top 10:

Note: this list was updated because many features are added to IRIS in last 3 years (thanks @Kristina Lauer)

Rank Feature Why Learning more about it
1 Democratized analytics InterSystems IRIS Adaptive Analytics:
Delivers virtual cubes with centralized business semantics, abstracted from technical details and modeling, to allow business users to easily and quickly create their analyses in Excel or their preferred analytics product
3
3 1072
Question Touggourt · Apr 21, 2025

Hi guys,

Would like to replace our scheduled Tasks to instead run in a production, so basically the same code running in OnTask () to be instead called in a Business Service (I guess) and use the Interval filed to specify the iteration, so with adapter would be suitable in this case, and I noticed the Schedule filed as well but not sure how to use it? 

Thanks

7
0 126
Question Steve Pisani · Apr 22, 2025

Hi - I'm refreshing my IRIS instance, now upgraded to 2025.1, and ensuring IPM is installed in each namespace, as well as git-source-control, but in my first attempt I get this error. 

Everything else seems to work - but why the error (I'd like to get rid of it) ?

[git-source-control]    Module object refreshed.
0
0 92
Discussion Oliver Wilms · Apr 20, 2025

I read the article by @Rodolfo Pscheidt:

https://community.intersystems.com/post/ollama-ai-iris

I forked his app and copied selected files from @Guillaume Rongier iris-rag-demo to make it containerized:

oliverwilms/ollama-ai-iris
 

I ran load_data.py and I got this output:

irisowner@e10968e4da42:/irisdev/app$ python3 load_data.py
Document ID: cbfa2f20-6627-407b-bbad-31722d18ca13
modules.json: 100%|█████████████████████████████████████████████████████████████| 349/349 [00:00<00:00, 778kB/s]
config_sentence_transformers.json: 100%|████████████████████████████████████████| 123/123 [00:00<00:00, 447kB/s]
RE

0
0 130
Question Patrik Spisak · Apr 19, 2025

After upgrading from 2024 to 2025 Im not able to compile any class.

I was using ZPM and git-source-control.

Now Im getting 

Compilation started on 04/19/202520:53:00 with qualifiers 'cuk /checkuptodate=expandedonly'

ERROR #5002: ObjectScript error: <CLASS DOES NOT EXIST>OnAfterSave+4^SourceControl.Git.Extension.1 *SourceControl.Git.Utils
Detected 1 errors during compilation in 0.209s. class '%Studio.SourceControl.Interface', method 'OnBeforeTimestamp': <CLASS DOES NOT EXIST> 150 

I disabled SourceControl in Management portal and nothing happen.

2
0 146
Question Oliver Wilms · Apr 19, 2025

I cloned iris-rag-demo from Open Exchange and issued docker-compose up -d. I went to the front end and type in the chat message:

Who was the 46th President of United States of America?

I got a run time error:

RuntimeError: ERROR <Ens>ErrBPTerminated: Terminating BP ChatProcess # due to error: ERROR #5002: ObjectScript error: <PYTHON EXCEPTION> *<class 'RuntimeError'>: <PYTHON EXCEPTION> <class 'ValueError' > ERROR #5002: ObjectScript error: <PYTHON EXCEPTION> *<class 'RuntimeError'

Traceback:

 

File "/irisdev/app/src/python/rag/app.py", line 28, in process_input agent_text =

0
0 85
Article Eduard Lebedyuk · Apr 18, 2025 8m read

For my hundredth article on the Developer Community, I wanted to present something practical, so here's a comprehensive implementation of the GPG Interoperability Adapter for InterSystems IRIS.

Every so often, I would encounter a request for some GPG support, so I had several code samples written for a while, and I thought to combine all of them and add missing GPG functionality for a fairly complete coverage. That said, this Business Operation primarily covers data actions, skipping management actions such as key generation, export, and retrieval as they are usually one-off and performed manually anyways. However, this implementation does support key imports for obvious reasons. Well, let's get into it.

0
2 232
Announcement Andreas Dieckow · Apr 17, 2025

InterSystems IRIS 2025.2.0 introduces several features to improve the user experience of configuring OAuth2.

- OAuth2 is now a native authentication type and can be easily enabled for your services and web applications. Previously, OAuth2 was a type of delegated authentication.

- You can now create resource servers with the new OAuth2.ResourceServer class, which simplifies resource server configuration significantly. Previously, resource servers were instances of OAuth2.Client.

- The OAuth2.ResourceServer class and provides a sample authenticator for determining user permissions which, for

0
0 146
Discussion Hannah Sullivan · Apr 16, 2025

I have written a new script for csv file export, which writes lines to a %Library.File file based on a SQL query.

The code is simplified into the following as 

try {
    // set up file as %Libary.Fileset f = ##class(%Library.File).%New()
    set f.Name = "export.csv"if (##class(%File).Exists(f.Name)) { $$$ThrowOnError(##class(%File).Delete(f.Name)) }
    $$$ThrowOnError(f.Open("WUN"))
    $$$ThrowOnError(f.LineTerminatorSet($C(13,10)))
    
    // Write lines from SQL 
    &sql(DECLARE cur CURSORFORSELECT a, b into :a, :b	FROMtable)
    &sql(OPEN cur)
    &sql(FETCH cur)
2
0 146
Question Raj Singh · Jun 9, 2020

Say I have an ObjectScript object called Book. It has 2 properties title and author. It extends JSON.%Adaptor, so I can call book.%JSONExport() and get this output:

{ "title": "For Whom the Bell Tolls", "author": "Hemmingway" }

In my web service I want to have a search function that returns an array of Books along with the total number of responses, like this: 

{
    "results": 3,
    "items": [
        { "title": "For Whom the Bell Tolls", "author": "Hemmingway" },
        { "title": "The Invisible Man", "author": "Ellison" }, 
        { "title": "Tender is the Night", "author": "Fitzgerald" }
    ]

}

W

18
2 2105
Article José Pereira · Aug 2, 2024 28m read

An experiment on how to use the LangChain framework, IRIS Vector Search, and LLMs to generate IRIS-compatible SQL from user prompts.

This article was based in this notebook. You can run it with a ready to use environment with this application in OpenExchange.

Setup

First, we need to install the necessary libraries:

!pip install --upgrade --quiet langchain langchain-openai langchain-iris pandas

Next, we import the required modules and set up the environment:

import os
import datetime
import hashlib
from copy import deepcopy
from sqlalchemy import create_engine
import getpass
import pandas as pd
9
5 709
Article Ariel Glikman · Apr 15, 2025 4m read

If you look at the values.yaml of the IKO's Helm chart you'll find:

useIrisFsGroup:false

Let's break down what it is and in what situations you may want to set it to true.

FsGroup refers to the file system group.

By default, Kubernetes volumes are owned by root, but we need IRIS to own its files (IRIS in containers is installed under irisowner user). To get around this we employ one of two methods:

1) initContainers

The initContainers run before app containers (like IRIS) in a pod.They generally set up the environment for the application and then run to completion/terminate.

0
0 213
Discussion Alex Woodhead · Apr 12, 2025

There is a list of numbers from 1 to 190.

AllList="1,2,3,4,5,6,7,8,9,.....,187,188,189,190"

There is a collection of sets of these values:

List(1)="3,5,6,7,9"
List(2)="1,2,6,9"
List(3)="5,8,9"
List(4)="2,4,6,8"
List(5)="4,7,9"

What is an elegant approach in Object Script to pick the least number of list items:

  • List(1)
  • List(5)
  • List(n)

That together would cover as many numbers as possible from the AllList.

Interested in best coverage over efficiency.

7
0 227
Question Ashok Kumar T · Apr 15, 2025

Hello Team,

I got xDBC protocol is not compatible while executing python script. How to fix this error

C:\Users\ak\Desktop\lpyth\iris>C:/Users/ak/AppData/Local/Programs/Python/Python312/python.exe c:/Users/ak/Desktop/lpyth/iris/irisconn.py
An error occurred: connection failed: IRIS xDBC protocol is not compatible

py -m pip list
Package            Version
------------------ ---------
intersystems-iris  3.9.2

import intersystems_iris as iris
args = {'hostname':'127.0.0.1', 'port':1972,'namespace':'LEARNING', 'username':'_SYSTEM', 'password':'SYS'}
try:
    conn = iris.connect(**args)
    irispy =
2
0 128