Article Dmitry Maslennikov · Mar 2, 2025 5m read

After so many years of waiting, we finally got an official driver available on Pypi

Additionally, found JDBC driver finally available on Maven already for 3 months,  and .Net driver on Nuget more than a month.

 As an author of so many implementations of IRIS support for various Python libraries, I wanted to check it. Implementation of DB-API means that it should be replaceable and at least functions defined in the standard. The only difference should be in SQL.

And the beauty of using already existing libraries, that they already implemented other databases by using DB-API standard, and these libraries already expect how driver should work.

I decided to test InterSystems official driver by implementing its support in SQLAlchemy-iris library.

7
4 362
Article Iryna Mykhailova · Mar 18, 2024 2m read

Recently, the question came up while discussing the access to the data stored in IRIS from different languages with my students if it was possible to initiate the connection and get data from Cloud solution (InterSystems IRIS CloudSQL) from Microsoft Excel, not the other way around. Considering the many varied ways one can get data in Excel (import data from external sources, connecting to databases using ODBC drivers, using power queries and web queries etc.) the obvious choice was to try ODBC driver. The only task left was to try to connect to the database in the cloud using the ODBC driver.

4
0 451
Announcement Laurel James (GJS) · Mar 13, 2025

Visual Studio Code releases new updates every month with new features and bug fixes, and the February 2025 release is now available.

There have been enhancements to GitHub Copilot with predictive editing, autonomous task completion, smarter code search, improved terminal and notebook support, and UI and workflow refinements.

If you need help migrating from InterSystems Studio to VS Code, or want to advance your knowledge of VS Code, take a look at the training courses George James Software offers > georgejames.com/vscode-training/

Highlights from version 1.98:

1
0 210
Question Scott Roth · Mar 12, 2025

My query that I am running on my Custom SQL Inbound Service has columns that are larger than the typical string length. How do I enlarge the SQL Snapshot Column limitations 

Class osuwmc.Epic.Clarity.DepartmentMaster Extends%Persistent [ DdlAllowed ]
{
Parameter USEEXTENTSET = 1;Property CostCenter As%String(MAXLEN = 15) [ SqlColumnNumber = 2 ];Property ID As%String [ Required, SqlColumnNumber = 3 ];
Index IDIndex On ID;Property Abbr As%String(MAXLEN = 20) [ SqlColumnNumber = 4 ];Property Name As%String(MAXLEN = 254) [ SqlColumnNumber = 5 ];Property ExternalName As%String(MAX
4
0 122
Question Sebastian Thiele · Feb 27, 2025

Hi guys,

I am looking for a way to search for FHIR Encounter resources from an InterSystems FHIR server where there period.start is before or after a certain time. I can´t get my head around which would be a correct way to do this since docs and FHIR spec is not clear to me which fields can be used for searching with wich prefixes.

In my local InterSystems FHIR server I have a set of Encounter ressources, each set with a period.start and (possibly) a period.end. I´d like to retrieve all Encounters with a start date time prior to a given datetime. I did a little testing with URL parameters.
//

7
0 181
Announcement Anastasia Dyubaylo · Mar 12, 2025

Hey Community,

We're excited to invite you to the next InterSystems UKI Tech Talk webinar: 

👉 Cloud Health: FHIR Server

Join this webinar to dive into the world of HealthShare Health Connect Cloud with our upcoming session on Cloud Health: FHIR Server.

⏱ Date & Time: Thursday, March 20, 2025 2:30 PM GMT

👨‍🏫 Speaker: @Regilo Regilio Guedes de Souza, Director of Cloud Delivery, InterSystems

2025 Tech Talk Social Tile 20 березня (чернетка).png

0
0 119
Announcement Evgeny Shvarov · Jul 25, 2022

Hi Community,

There is a new PDF Resource published on our official site depicting key features and a comparison of InterSystems healthcare interoperability products: Health Connect and IRIS For Health.

>> https://www.intersystems.com/health-data-integration-chart.pdf

I think this could be useful for the Community.

2
1 868
Question Matthias Thon · Mar 11, 2025

Hello,

i am building a new container with Docker-Compose with a --volume ./:/irisdev/app:rw to mount a host volume (UBUNTU).

If i try to create some data in /irisdev/app i have no write permission

If i open a bash host session i see all mounted files of my ./ directory. But with ls -l only UID 100 has write permission. The UID for "iris owner" is 52773.

Is there a way to set the UID and Group to "iris owner" ?

regards Matthias 

1
0 104
Question Harshitha · Mar 11, 2025

Hello everyone,

I'm looking for a practical project guide to help me gain hands-on experience with InterSystems Ensemble HL7. Ideally, this guide would walk through building a small project — something that covers key concepts like message routing, transformations, and interoperability.

If there's a resource that also includes step-by-step instructions and perhaps even offers a certification upon completion, that would be perfect.

Any recommendations or guidance would be greatly appreciated. Thanks in advance! 😊

2
0 171
Question Farman Ullah · Mar 4, 2025

Looking for a SQL query or any other method to find the Unique/distinct message counts for all productions or at least per production namespace within a given time frame. For e.g TimeCreated = January 2025 (Whole month)

I have used the following, but its not restricting the numbers based on the TimeCreated filter. Every time a new message is processed by system, its added to the total. I am running the query in today's date

Select Sum(MsgCount)

From

(Select DISTINCT TargetConfigName, count(DISTINCT SessionID) as MsgCount

FROM ENS.MessageHeader 

Where TimeCreated >='2025-01-01 00:00:00' and

12
0 233
Article Evgeny Shvarov · Mar 11, 2025 1m read

Hi colleagues!

Often, while developing a frontend app or any other communication vs REST API, it is worth having a Swagger UI - a test UI for the REST API that follows Open API 2.0 spec. Usually, it is quite a handful as it lets have quick manual tests vs REST API and its responses and the data inside.

Recently I've introduced the Swagger support to the InterSystems IRIS FHIR template for FHIR R4 API:

How to get it working.

0
3 348
Article Colin Langella · Mar 11, 2025 2m read

Intro

In the process of trying to get more familiar with Objectscript I decided to try to build a general priority queue since I wasn't able to find an implementation anywhere. My though process for implementing this followed this general path.

Binary Heap

My first though to try to make this work quickly was to implement a binary heap and my first attempt at this used a multidimensional to build it. This version was relatively efficient, worked for strings/numbers natively, and worked for objects be letting the user override the comparitor.

Class pqueue.Queue Extends %RegisteredObject
{

Property
0
0 233
Article Jose-Tomas Salvador · Mar 5, 2025 8m read

In this article I'll show you how to set up in your laptop, very quickly, a cluster of IRIS nodes in sharding. It's not the goal of this article neither to talk about sharding in detail nor define a deployment of a production ready architecture, but to show how to set up quickly, in your own machine, a cluster of IRIS instances configured as shard nodes, with which you'll able to play and test this functionality. If you're insterested in knowing more about sharding in IRIS, take a look at the documentation clicking here.  

First and foremost, I want to remark that IRIS sharding will allow us 2 things:

  • Define, load and query shard tables, which data will be distributed transparently between the cluster's nodes
  • Define  federated tables, which offer a global and composed view of data belonging to different tables that will be physically stored in different distributed nodes

So, as I said, we let for other article playing with shard or federated tables, and just focus now in the previous step, that is, setting up the cluster of shard nodes.

1
3 266
Question Krishnamuthu Venkatachalam · Mar 10, 2025

Hi all,

I'm working on a requirement to loop through all encounter streamlets(SDA) to identify specific encounters based on an encounter extension property for a patient fetch request. However, this current process is time-consuming, and we need to create indexes for that property to quickly retrieve the expected results without going through all the encounter streamlets of a patient.

I would appreciate help on how to achieve this, as I couldn't find any documentation explaining how to create indexes on a SDA element.

Thanks in advance.

1
0 136
Announcement Anastasia Dyubaylo · Mar 8, 2025
Hello and welcome to the January 2025 Developer Community YouTube Recap.
InterSystems Global Summit
"Code to Care" videos
Open Source and Proprietary LLMs
By Don Woodlock, Head of Global Healthcare Solutions, InterSystems
AI model distillation
By Nicholai Mitchko, Manager of Solution Partner Sales Engineering, InterSystems
1
1 85
Article Joe Fu · Mar 7, 2025 2m read

We recently changed the 'UserID" property in a "User" class from type of %String to be %Library.Username. This is for better consistency across our codebase regarding MAXLEN limit.

%Library.Username is a system wrapper datatype which extends %String and has a MAXLEN of 160. This change should have minimal/no impact on code behavior. However, we found that some SQL query cannot return expected rows after the change. Query will return empty values even if the entry is in the table.

After investigation, we found that re-building index could solve the issue, which means the data type change caused

3
0 236
Question Dmitrii Baranov · Mar 9, 2025

Hey,

I need to read a directory on a remote server which requires a user to be su. The question is how to correctly read the server response and then to send a su password using IRIS device I/O API (I'm able to read other commands output such as uname, but can't figure out how to switch to su):

// Init SSH session
Set ..Session = ##class(%Net.SSH.Session).%New()
Set status = ..Session.Connect(..Server)
$$$ThrowOnError(status)
Set status = ..Session.AuthenticateWithUsername(..UserName, ..Password)
$$$ThrowOnError(status)

// SUDO
#Dim device
Set device = ""
Set status = ..Session.Execute("su " _
1
0 135
Question john.smith4237 · Mar 6, 2025

Hi,

I would like to convert an html zen page to PDF using wkhtmltopdf so I've installed it in Ubuntu and the command wkhtmltopdf but because I've my IRIS installed in a container that command is not recognized and we can't install wkhtmltopdf  in the container so is there a way to be able to run this command?  

Thanks

3
0 115
Question Dmitrii Baranov · Nov 2, 2024

I'm experimenting with FHIR bulk data load using NDJSONs, so far the import is running smoothly, but when I'm trying to perform a request of kind /Patient or /Procedure I'm getting back the following error:

{
    "resourceType": "OperationOutcome",
    "issue": [
        {
            "severity": "error",
            "code": "too-costly",
            "diagnostics": "<HSFHIRErr>SearchTooCostly",
            "details": {
                "text": "Search selects more than maximum allowed number of results (1000)."
            }
        }
    ]
}

Is this a limitiation of IRIS for Health community

2
0 213
Article Suze van Adrichem · Mar 3, 2025 4m read

 

Submission for InterSystems Technical Article Contest 2025

By Suze van Adrichem, Alice Heiman and Bubble Yu

View our video here: https://share.descript.com/view/JjI5tob8La


Inspiration

Mitigating climate change is only possible through a patchwork of collective action. The future of our planet will be determined by our ability to change previous destructive corporate processes radically. However, companies often struggle to find concrete solutions and actions to reduce their carbon footprint while advancing their business goals.

We partner with Race to Zero to create a climate action matcher.

1
1 198
Article Andre Larsen Barbosa · Feb 11, 2025 2m read

   

Unlike the movie mentioned in the image (for those who don't know, Matrix, 1999), the choice between Dynamic SQL and Embedded SQL is not a choice between truth and fantasy, but it is still a decision to be made.Below, I will try to make your choice easier. 

If your need is interactions between the client and the application (and consequently the database), Dynamic SQL may be more appropriate, as it "adapts" very easily to these query changes.However, this dynamism has a cost: with each new query, it is remodeled, which can have a higher cost to execute.Below is a simple example of a Python code snippet. 

16
5 644