#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 Dmitrij Vladimirov · Mar 25, 2025

Hi!
I have question about MDX functionality in context of IRIS Analytics.

How does IRIS MDX distinct selection works? Is there any restruqtion when analyzing strings? Like special symbols or length?
Here is an example
I have this data:
 6 rows and 2 of them unique
Then we create data cube based on this model and examine it with Analyzer
 
Detailed listing
 
6 rows an ONE unique string. Which is obviously not true. 
This happed only with string with symbols in it
My task is to get the right amount of unique strings

2
0 129
Announcement Michelle Spisak · Mar 25, 2025

Are you a developer, data engineer, integration engineer, or data scientist who works hands-on with InterSystems products? 

We are conducting 30-45 minute interviews to understand your experience — how you started with InterSystems products, where you find helpful code samples, and how we can improve our products to better support your journey. 

If you’re interested, fill out a quick survey to share your contact info and experience.

If you're selected, we will schedule a session at your convenience between April 2 and May 8 for an interview based on the information you provide.

🎁 As a thank-you, interview participants will receive 10,000 Global Masters points!

Your feedback will directly help us improve your experience using InterSystems products and services.

Kindly note that the spots are limited. 

0
0 118
Question Kurro Lopez · Mar 25, 2025

Hi all.

I'm trying to create an indexed table with an vector field so I can search by the vector value.
I've been investigating and found that to get the vector value based on the text (token), use a Python method like the following:

ClassMethod TokenizeData(desc As%String) As%String [ Language = python ]
{
    import iris
    # Step 2: Generate Document Embeddings
    from sentence_transformers import SentenceTransformer

    model = SentenceTransformer('/opt/irisbuild/all-MiniLM-L6-v2')

    # Generate embeddings for each document
    document_embeddings = model.encode(desc)

    r
2
0 134
Job varsha Vijay · Mar 6, 2025

Role: Principal Architect and Integration Engineer

Employment Type: Full Time 

Note: Expertise in Rhapsody/Intersystems is Mandatory.

Main Responsibilities  

  1. Technology Strategy Key contributor to the technology strategy for the business, setting a north star, and driving excellence for our adoption and implementation of technologies to deliver Data Sharing/Integration, API Enablement, and Data Migration Services now and into the future. 
  1. Customer Facing This technical leader will represent technology in the public eye, can think quick on their feet and are a confidence building
1
0 246
Question Guilherme Silva · Mar 18, 2025

Hi, 

i'm with a trouble to take the api/monitor/alerts using prometheus.

i'm using prometheus 3.2.1 with IRIS 2022.1, the api metrics is working fine, but with the alerts, i'm receiving the following error:
 

and this is the answer in the request:

it apears the iris is not using the right way to answer the OpenMetrics the way Prometheus want.

Someone already see this?

3
0 186
Question Touggourt · Mar 25, 2025

Hi Guys,

I'm looking to create a service to download files from S3, so I used the EnsLib.AmazonS3.BusinessService with settings as below to download files that starts with SMfile_48 but I'm not getting any files, am I missing something?

Thanks

1
0 101
Announcement Celeste Canzano · Mar 24, 2025

Hello again IRIS community,

We have officially released our InterSystems IRIS Developer Professional certification exam for beta testing. The beta test will be available until April 20, 2025. As a beta tester, you have the chance to earn the certification for free!

Interested in beta testing? See the InterSystems IRIS Developer Professional Beta Test Developer Community post for exam details, recommended preparation, and instructions on how to schedule and take the beta exam. 

Thank you!

0
0 153
Discussion Paul Hula · Mar 21, 2025

Hi All,

  After doing IRIS/Ensemble etc for 20 years I've come across a company who have very odd view, especially about DTL's and routers.

  They have convinced themselves to use COS for transforms (including HL7) and for routers (and one of their 3rd party providers agree!)

  Their reasons are; efficiency, compatibility, flexibility, power and re-usability.

  Of course these reasons are wrong!

  • Efficiency, difference between 1-2 lines compared to a DTL/XML going to 3-4 lines (This also assumes the COS code is well written)
  • Compatibility, surely less with COS as its subject to developer style?
3
1 172
Question Scott Roth · Mar 21, 2025

I was using VSCode to edit a DTL because it seemed easier to copy/paste code from parts of the DTL I was editing. I tried to add <sql> tag and code to call a SELECT statement, but when I compiled I got the following error...

ERROR <Ens>ErrInvalidDTL: Invalid DTL

  > ERROR #5490: Error running generator for method 'GetSourceDocType:osuwmc.Epic.MFN.DTL.EpicMFN949002Normalization'

ERROR: Ens.DataTransformDTL.cls(GetSourceDocType) of generated code compiling subclass 'osuwmc.Epic.MFN.DTL.EpicMFN949002Normalization'

    > ERROR #5030: An error occurred while compiling class

2
0 135
Article Megumi Kakechi · Jul 18, 2024 1m read

InterSystems FAQ rubric

This can be done with TRY-CATCH:

#dim ex As%Exception.AbstractExceptionTRY {
    //Code that causes an error
  }
  CATCH ex {
     do ex.Log()
  }

If you use ^%ETN, call it from the BACK entry (BACK^%ETN).

Please also take a look at the related article: How to get application errors (^ERRORS) using a command

1
0 302
Article Phillip Wu · Mar 24, 2024 5m read

Introduction

This is a quickstart guide to IRIS for Linux systems administrators who need to be able to support the IRIS DB as well as other normal infrastructure tasks.

IRIS is a DB system from Intersystems. An IRIS DB can hold code (in the form of a Class) or data (in the form of Globals). IRIS DB are Linux files called IRIS.DAT.

1
0 547
Discussion Enrico Parisi · Mar 20, 2025

Once upon a time in Ensemble Management Portal the pool size of each component (Business Host) within the production was displayed in the Production Configuration page.

This information was very useful, especially when a production have tens or hundreds of components.

Now days the pool size is no longer displayed in the Production Configuration page and to get the pool size you need to click in each and every host in your production.
What if you have hundreds of business hosts and you need to check the pool size of each? It's a nightmare!

In systems I have control of I've modified the production

0
0 128
Question Rob Schoenmakers · Nov 30, 2022

Perhaps this is an issue that has long been discussed somewhere.I have searched for it but still could not find the solution anywhere.In our environment, we send a container of SDA objects to UCR from HealthConnect.To populate the container we do a SQL query on a source system and then populate the appropriate SDA objects.Sometimes it happens that I want to do an update of a field and I want to empty the corresponding SDA field.In other words, send an empty string.The Alert.toTime field of the object in question is filled with the date '2022-11-29Z13:00:00'.

3
2 378
Discussion Eduard Lebedyuk · Mar 18, 2025

How do you collect stack info when debugging non-interactive jobs?

I cobbled this together today from the docs, but maybe there's something pre-built? LOG^%ETN()?

set stack = ""for loop=0:1:$STACK(-1) { 
      set stack = stack _ "Context level:" _ loop _ " Context type: " _ $STACK(loop) _ $c(10,13) _
                          "  Current place: " _ $STACK(loop,"PLACE") _ $c(10,13) _
                          "  Current source: " _$STACK(loop,"MCODE") _ $c(10,13)
}

Log meth

6
0 196
Question Mauricio Sthandier · Mar 20, 2025

Hello there 🙋‍♂️,

I'm looking towards a functionality alike Python's difflib, but made with Intersystems products. I already know could embed Python code within IRIS but thought maybe there was a development already done for handling deltas, with a different approach or extra utils.

Even if I find such a library after comparing both might still go with difflib or any other more suitable. Intend to use it for a cross-environment checklist/check tool.

Please find below a sample of HTML rendering computed and made with difflib, with a few lines of code:

thanks ! best regards,  

0
0 113
Question john.smith4237 · Mar 18, 2025

Hi Guys,

I get the attached error when trying to populate JSON string into a textarea, I'm running IRIS 2024 in a container in Ubuntu, any clues what could be the problem? 

Thanks

2
0 79
Announcement Brett Saviano · Aug 7, 2024

The VS Code extension development team is looking for beta testers to provide feedback on a proposed overhaul of the client-side editing workflow. The full list of changes can be found in the GitHub pull request description. Here are the highlights:

  • Support the use of client-side editing in any non-isfs workspace folder, not just folders in your local file system. For example, with VS Code Remote Development.
  • Create an index of all Classes, MAC and INT routines, and Include files inside non-isfs workspace folders.
35
2 855
Announcement Anastasia Dyubaylo · Mar 18, 2025

Hello Community!

We are delighted to invite all our customers, partners and community members to participate in the InterSystems UK & Ireland Data Summit 2025! The registration for the Summit 2025 is already open.

This year’s InterSystems UK&I Data Summit event will focus is on empowering our partners to harness the transformative power of innovative technology to drive business growth and success. At this event, we'll explore how you can build and deploy innovative new solutions to stay competitive and achieve sustained growth.

➡️ InterSystems UK & Ireland Data Summit

🗓 Dates: March 26 - 27, 2025

📍 Place:  Hyatt Regency, Birmingham, UK

0
0 200
Article Brett Saviano · Dec 21, 2023 2m read

Have you ever been editing files in VS Code, but needed to check a global value or run a few ObjectScript commands? Now you can, with no setup required! If you have vscode-objectscript extension version 2.10.0 or later and are connected to InterSystems IRIS 2023.2 or later, you can now open a terminal connection to your server, regardless of where it's located.

There are three ways to open this new terminal:

  • The "Launch WebSocket Terminal" command in the command palette (Ctrl-Shift-P on Windows, Cmd-Shift-P on Mac): Launch WebSocket Terminal command

  • The VS Code integrated terminal's Profiles menu: terminal profiles menu

  • The Server Manager

7
11 1893
Question Scott Roth · Mar 12, 2025

I have the need to query an external database and write the result set/snapshot to an internal %Persistent [ DdlAllowed ] table that I built. I have built inbound SQL Services before and write them externally to replace SSIS jobs, but how would querying a database via a Service and writing the data to an internal table work?

Can I just take the inbound query structure and write it to the class file of the internal table in a DTL? If so, what would be the Target? Or does this need to be done within a BPL as a Code block?

2
0 111
Article David Hockenbroch · Jul 16, 2024 6m read

For programmers new to ObjectScript, one question will inevitably arise: “What is the difference between methods and class methods?” A typical answer would be: “A class method applies to a class, but a method applies to an instance of that class.” While that answer is correct, it lacks important information on how these methods differ, and how they are used in ObjectScript. Many things could be written as either. For instance, suppose we had a class called “User.Person” with a property called “Name”. If we wanted to create a method to write that name, we could do either of the following:
 

Metho
2
6 603
Article Luis Angel Pérez Ramos · Mar 17, 2025 3m read

As you may know, the so-called Private Web Server that came with every IRIS installation has been eliminated, making an external web server necessary.

For Docker deployments, it's most common to use the webgateway image (available here) along with the IRIS image to seamlessly access the management portal. This image can be configured to access via HTTPS without any issues by configuring the certificates.

Problem 1: Unable to verify the first certificate

Your SSL connection through the web gateway may have a self-signed certificate configured, and Visual Studio Code is attempting to verify it.

2
2 278
Question Evan Gabhart · Mar 13, 2025

Is there a way in ObjectScript to return the OS user of the superserver? I know %SYS.ProcessQuery can find this for a given process but is there a clean way independent of a specific process ID I can find the OS user used for background jobs?

For IRIS this is usually irisusr and Caché this is usually cacheusr but may vary based on installation and upgrade history of an instance. I would find it very useful to determine programmatically if a process is running as this particular user when the username may vary.

12
0 219
Question Anna Golitsyna · Feb 4, 2025

The task is to find all globals that are referenced in certain routines. I could search for ^ using class(%Studio.Project).FindInFiles  but that would also find ^ in comments and function calls. I can distinguish between a global and a function call visually, but it would be lovely to be able to skip function calls programmatically. Is it possible?

The Find and Replace screen in Studio has a capability of searching for ^ with Match Element Type set to Global Variable. Maybe I could use that but what is the ObjectScript function behind this screen if any?

16
0 291
Article Daniel Cole · Feb 14, 2025 5m read

InterSystems has been at the forefront of database technology since its inception, pioneering innovations that consistently outperform competitors like Oracle, IBM, and Microsoft. By focusing on an efficient kernel design and embracing a no-compromise approach to data performance, InterSystems has carved out a niche in mission-critical applications, ensuring reliability, speed, and scalability.


A History of Technical Excellence

During its earlier years, InterSystems distinguished itself through its groundbreaking database architecture, which addressed inefficiencies in legacy relational

4
2 599
Article Alessandra Carena · Feb 4, 2025 7m read

Introduction

A REST API (Representational State Transfer) is an interface that allows different applications to communicate with each other through the HTTP protocol, using standard operations such as GET, POST, PUT, and DELETE. REST APIs are widely used in software development to expose services accessible by other applications, enabling integration between different systems.

However, to ensure that APIs are easy to understand and use, good documentation is essential. This is where OpenAPI comes in.

OpenAPI is a standard for describing RESTful APIs.

6
5 769