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.
Hi Guys,
We are migrating from Ensemble 2018 to the latest IRIS, and while compiling we get many of these errors in our queries:

and this a sample of one our queries:
&sql(select CASE WHEN StarterKitName != "" THEN Kit->Name || ' - ' || StarterKitName ELSE Kit->Name END into :KitName from MSDS_Serenity.KitLabelAssoc where Label = :Label and Status = 1
I've also heard that the &sql syntax also has changed, I've download the How to Migrate to InterSystems IRIS but couldn't find changes related to the above?
Thanks
I'm trying to learn M programing for an Epic db class prerequisite. They said to download the IRIS Studio software to do the testing. I'm having a very difficult time finding information the language. I'm trying to run some examples that Epic has provided (like in below) but the compiler complains that it isn't valid. Of course, it doesn't tell you why it isn't valid.
r !,"Enter the hour: ",hr
r !,"Enter the minute: ",min
r !,"Enter the second: ",sec
s Mtime=$$ConvertToMTime(hr,min,sec)
w !
An updated developer preview of InterSystems IRIS 2024.2 and InterSystems IRIS for Health 2024.2 has been posted to the WRC developer preview site. This release contains a few noteworthy changes:
- Containers – we skipped containers for the previous preview, but we’re including them this time. In a future preview, we’re planning to switch these to use the Ubuntu 24.04 base image.
- Ubuntu 24.04 support – this preview includes support for the brand-new Ubuntu 24.04 operating system. We will be dropping support for Ubuntu 20.04 in a later preview.
Geographic use of vector search
The basic idea is to use Vectors in the mathematical sense.
I used geographic coordinates. These are of course only 2-dimensional
but much easier to follow as vectors in text analysis with >200 dimensions.
The example loads a list of worldwide capitals with their coordinates
The coordinates are interpreted as vectors from geographic point 0°N/0 W
(some very wet spot in the Gulf of Guinea, >400 km from the African Coast)
Finding common directions from that spot is a quite theoretical case.
So adjustment to your preferred starting point is implemented.
This question originally appeared in the comments of the post: IDE platform for beginners
Hello All,
Visual studio code doesn't allow debugging of code or running of code as far I can see. Since I am new, could someone guide me on this.
Thanks
I have an angular UI communicating with a iris rest api. Now I need to authenticate (to federated) before accessing the UI, and for a better solution as the users are using the healthshare clinical viewer 2023, find a way to use the clinical viewer authentication / user to go to the UI.
The angular way would be to do an angular guard and have a function 'am I authenticate to federated', but I never found a function like this and how to get my username.
Hi, please let me know where i find details on Objectscript internal implementation - is it an interpreted language ? - compiled into binary code (how - which compiler/toolchain ?) ? - support of LLVM ? thanks a lot Frank
I need to convert dd/mm/yyyy --> yyyymmdd
example
Input = 25/03/1988
expected Output = 19880325
Hey Community,
Play the new video on InterSystems Developers YouTube:
⏯ Container Lifecycle - When is Your App Ready to Accept Work @ Global Summit 2023
I am trying to setup a OAuth2.0 configuration to connect to a server within our Network using OAuth2.0. My previous attempt worked, however forgot to capture the steps before I had whipped the System so please bear with me.
I have an SSL/TLS Client configuration setup as we use the setup for our LDAP configuration.
When I go through the following steps within the Terminal, I am getting the following error...
%SYSkill^ISCLOGWhen I attempt to Test the SSL/TLS configuration to that same FHIR server, that I can access from my desktop I am seeing...
.png)
Hi Community,
InterSystems Certification Program officially changed exam delivery platforms from Questionmark to Certiverse on May 6, 2024. We have made this decision in hopes of providing a better experience for our certification candidates. To take an exam on this new platform, you will be required to sign in with an InterSystems account, the same one that is used for the Developer Community, Online Learning, etc. If you do not have one, please register for an account.
Find more information about Taking InterSystems Exams on Certiverse here, and reach out to certification@intersystems.com
On IRIS version 2024.1.0.262.0 I have a table that store streams as %GlobalCharacterStream.
But depeding on the blob being saved I get the error: [Error: <<MAXSTRING>]
I had that with Caché, but to solve that I'd just enable the long strings on the page System Administration > Configuration > System Configuration > Memory and Startup > Enable Long Strings.
But for Iris I can't find that configuration, I looked on every config page from the portal and couldn't find it.
Btw this blobs are stored on Caché and the system using IRIS is reading from Caché and saving on IRIS.
Most examples I've seen so far in OEX or DC left the impression that VECTORs
are just something available with SQL with the 3 Functions especially around VECTOR_Search.
* TO_VECTOR()
* VECTOR_DOT_PRODUCT ()
* VECTOR_COSINE ()
There is a very useful summary hidden in iris-vector-search demo package.
From there you find everything you need over several links and corners.
Introduction
Accessing Amazon S3 (Simple Storage Service) buckets programmatically is a common requirement for many applications. However, setting up and managing AWS accounts is daunting and expensive, especially for small-scale projects or local development environments. In this article, we'll explore how to overcome this hurdle by using Localstack to simulate AWS services. Localstack mimics most AWS services, meaning one can develop and test applications without incurring any costs or relying on an internet connection, which can be incredibly useful for rapid development and debugging. We used ObjectScript with embedded Python to communicate with Intersystems IRIS and AWS simultaneously.Before beginning, ensure you have Python and Docker installed on your system. When Localstack is set up and running, the bucket can be created and used.
Did you know that you can get JSON data directly from your SQL tables?
Let me introduce you to 2 useful SQL functions that are used to retrieve JSON data from SQL queries - JSON_ARRAY and JSON_OBJECT.
You can use those functions in the SELECT statement with other types of select items, and they can be specified in other locations where an SQL function can be used, such as in a WHERE clause
The JSON_ARRAY function takes a comma-separated list of expressions and returns a JSON array containing those values.
I am trying to locate a method that would allow me to differentiate between InterSystems preinstalled/system namespaces and "our own" namespaces. I am interested both in Cache and Iris answers if they are different. Yes, I can list what to disregard, like if not HSLIB or if not DOCBOOK but hoping for a more universal and elegant answer.
In our previous article we presented the general concepts as well as the problem that we wanted to solve by using the task engine integrated in InterSystems IRIS, in today's article we will see how we configure an interoperability production to provide a solution.
Workflow Engine Configuration
First we are going to define the roles of the tasks that we are going to manage, in our example we are going to define two types:
- AutomaticBloodPressureRole: to create automatic tasks that will have no intervention from the user.
BPL from 10,000 feet
BPL stands for Business Process Language.
This is an XML format for describing complex information orchestration interactions between systems.
InterSystems Integration engine has for two decades, provided a visual designer to build, configure, and maintain, BPL using a graphical interface.
Think of it like drawing a process flow diagram that can be compiled and deployed.
An example: Make a cup of tea

BPL components are added to Integration productions like any other built-in or custom business component.
InterSystems FAQ rubric
After upgrading your system, you may receive the error below when you try to open the Management Portal:
ERROR #5001%ZEN.Component.vgroupThis error is caused by outdated information remaining in your browser's cache.
You can resolve the error by clearing your browser's cache.
Hi, I hope this post helps.
The bottom line: MAXLEN is relevant mostly for odbc/jdbc connections and you need to specify an appropriate value within your tables (classes), otherwise the data might be truncated when you query it, or even fail when you try to insert data.
I'm trying to configure an SSL/TSL configuration in our test environment so we can send ADT messages to an external server. I've verified connectivity/firewall to the external server.
type is set to Client, Server certificate verification is set to Require.
I have received a certificate from the external supplier and linked that in the "File containing trusted Certificate Authjority certificate" field. (I've also imported it into the cert store and tried using %OSCertificateStore).
My client certificate is in PEM format, the decrypted key was extracted using SSLOpen. Protocol enabled is TLSv1.
Alert: SQL Query using “NOT %INLIST” fails to return results
InterSystems has corrected an issue that can cause a small number of SQL queries to return incorrect results. See below for the specifics on impacted queries.
This issue exists in the listed versions of the following products:
- InterSystems IRIS® data platform
- InterSystems IRIS for Health™
- HealthShare® Health Connect
As well as:
- Other InterSystems products based on the above products.
Impacted versions:
- 2021.1.3, 2021.1.4
- 2022.1.3, 2022.1.4
- 2023.1.0, 2023.1.1, 2023.1.2, 2023.1.3
- 2024.1.
A few weeks ago I posted an announcement about a JavaScript-based interface for our mg_web WebServer interfacing addon module. mg_web isn't just restricted to use by JavaScript developers though. Many readers will be ObjectScript developers who are more used to using CSP as their web gateway. Some may even have much older legacy WebLink-based applications (and be wondering how to support them given that IRIS does not support WebLink).
This article aims to provide some more information on mg_web and to explain why it's worth a look for ObjectScript developers.
hi there,
I recently created a shell script to run the integrity check.
I used this as reference - Introduction | InterSystems IRIS Data Platform 2023.3
I found the example from above url having a line - "
kill ^IRIS.TempIntegrityOutput(+$job)it isn't working when I used in a script. it returns the pid of my iris session instead.
I had to simplify the example to run following lines instead -
Do CheckList^Integrity(,,,,5)
do Display^Integrity(,1,)
script runs fine and can see integrity check results as expected.
Hi all,
When making a Business Process reusable, I needed to make the target of a <call> configurable as a business host setting. This can be done through indirection. Here's how:
Parameter SETTINGS = "TargetConfigName:Basic";
/// BPL Definition
XData BPL [ XMLNamespace = "http://www.intersystems.com/bpl" ]
{
<process language='objectscript' request='Ens.Request' response='Ens.Response' height='2000' width='2000' >
<sequence xend='200' yend='450' >
<call name='Call configurable target' target='@process.
Technical surprises using VECTORs
>>> UPDATED
Building my tech. example provided me with a bunch of findings htt I want to share.
The first vectors I touched appeared with text analysis and more than 200 dimensions.
I have to confess that I feel well with Einstein's 4 dimensional world.
7 to 15 dimensions populating the String Theory are somewhat across the border.
But 200 and more is definitely far beyond my mathematical horizon.
Hi Everyone,
We are using SQL based KPI's to display reports in IRIS dashboards. We have applied the filter functionality in these SQL based KPI reports.
I need your help for below scenario.
Below is my full report. Filter is applied on Name and Subject Name in this report.
.png)
Now I have used filter on Name and selected values 'Virat' and 'Big Show'
2 entries were displayed from 5 records.
Now when I look in Subject Name Filter, it still display all the distinct values of Subject Name.
I want this to display only Chemistry and Social (as Name filter got applied).
While performing the IRIS upgrade on our backup test server I noticed the following error in the messages log after restarting IRIS: 04/26/24-16:28:36:788 (5701964) 1 [Utility.Event] (HSHCPRT) Failed to retrieve journal file #9567 from FCHHSHCPRTTX02/PRT: Failed to allocate a 33686036 byte tcp buffer for zlib compress.
Stumped on this one, I logged a WRC and looked at some things with support but was not able to resolve the issue. Any help would be greatly appreciated.
Hello Community,
I just go through the IRIS latest documentation and I found the openAPI property is "x-ISC_DispatchParent" was mentioned in sample swagger and its the actual property used in spec-first approach. However in some place the property was mentioned like "x-ISC_DispParent" and bit discrepant
/confused. So, Just want to ensure Is this is an issue in documentation?
.png)
Thanks.
Ashok.
