Given a sting beginning with "-----BEGIN CERTIFICATE-----" and ending with "-----END CERTIFICATE-----", how do I save the string as X509 certificate in ObjectScript?
Hi, I have simple email alert setup (EnsLib.EMail.AlertOperation) where in operations I have SMTP server setup and Recipients emails.
Also I find Alert Groups dropdown option in operations, processes, how this is different from setting up simple email alert with recipients list?
Please advise.
Hi
I see AlertGroups dropdown shows emails under operations and processes.
Need help where I can find email accounts which shows under AlertGroups dropdown?
We’re excited to announce the first mini hackathon“Building AI Agents with InterSystems”, taking place on a pre-conference day as part of InterSystems READY 2026.
In this hands-on challenge, participants will design and build AI agents using upcoming InterSystems capabilities, exploring how intelligent automation, orchestration, and reasoning can be applied to practical use cases.
📅 Event date: 27 April 2026
📍 Location: Gaylord National Resort & Convention Center, National Harbor, Maryland
🔗 Learn more here: Building AI Agents with InterSystems mini-hackathon at InterSystems READY 2026
Hi folks!
Is there any way to know the text of the SQL queries executed against the IRIS server?
My case: I have an SQL class query with a few parameters and and some combination of values causes unexpected results.
It'd be great if I could just copy the query from some log of queries done vs my IRIS the server. Cannot find it easily, though. Any advice?
Needs some help with FHIR return code 200 or 201 when processing HL7 messages in HealthConnect.
Issue:
1. If FHIR code is 200 or 201, HealthConnect keep processing HL7 messages
2. If FHIR code is NOT 200 or 201, HealthConnect keep suspend the HL7 messages in the messages queue, then keep processing NEXT subsequent HL7 messages in the TEXT file if the FHIR code is 200 or 201
3. I am also using following "Reply Code Actions" in Operation settings (:?R=S,:?E=S,:~=S,:?A=C,:*=S,:I?=W,:T?=C)
Please advice if I have a "if condition check" for FHIR codes 200 or 201, what "Reply Code Actions" I sh
Where can I download the Cache ODBC drivers?
Where can I download the Cache ODBC drivers for Windows?
I need to connect to a cache database by odbc but the FPTs that I have found do not work,
could you tell me where to download the ODBC drivers
Hey Community!
We're happy to share the next video in the "Code to Care" series on our InterSystems Developers YouTube:
I like to install Cache Evaluation version for learning purpose. Could you please share the download link to install it? I appreciate any help you all provide. Thanks.
Over the last 9 years, I published more than 90 packages in OEX.
And over this time, conditions and environments changed.
In the beginning, there was
- no Docker
- no IPM/ZPM
- no embedded Python, no AI
- Caché, Ensemble, CSP, ZEN, .... were dominating
As time changed, also product versions and external languages changed.
Adjustment of a few packages was no issue in the beginning,
and was a matter of support quality to my "consumers".
With the actual volume, I see no way to keep this target up for all my packages.
and based on the quality checks, I have the impression it is not just my problem.
Re

Hi Community!
Starting from January 2026, developers who turn product ideas from the Ideas Portal into real, working solutions with be awarded with 7,000 points on Global Masters and a badge.
✨ What you get:
🧙♂️ Idea to Reality Wizard badge — awarded once to community members who implement a product idea suggested at the Ideas Portal
⭐ 7,000 Global Masters points — awarded for every implemented idea from the "Community Opportunity" list.
Details:
RabbitMQ is a message broker that allows producers (those who send a data message) and consumers (those who receive a data message) to establish asynchronous, real-time, and high-performance massive data flows. RabbitMQ supports AMQP (Advanced Message Queuing Protocol), an open standard application layer protocol.
The main reasons to employ RabbitMQ include the following:
- You can improve the performance of the applications using an asynchronous approach.
- It lets you decouple and reduce dependencies between services, microservices, and applications with the help of a data message mediator, meaning that there is no need for producers and consumers of exchanged data to know each other.
- It allows the long-running processing of sent data (with the results) to be delivered after utilizing a response queue.
- It helps you migrate from monolithic to microservices, where microservices exchange data via Rabbit in a decoupled and asynchronous way.
- It offers reliability and resilience by making it possible for messages to be stored and forwarded. A message can be delivered multiple times until it is processed.
- Message queueing is the key to scaling your application. As the workload increases, you will only have to add more workers to handle the queues faster.
- It works well with data streaming applications.
- It is beneficial for IoT applications.
- It is a must for Bots’ communication.
✓ 6,717 downloads in 2025
✓ 1,101 applications all time
✓ 44,992 downloads all time
✓ 3,484 developers joined
We are hiring! 100% Remote W2 Contract | 3-6+ Months (numerous extensions likely)
Two Roles:
🔹InterSystems Engineer
🔹Epic Bridges Certified/InterSystems Engineer
Having solid experience with the below:
- Interface Development: Building and configuring message routes, business processes, and transformations using components like IRIS, Ensemble, or HealthShare.
- Interoperability Standards: Implementing and supporting workflows for healthcare standards including HL7 (v2/v3), FHIR, etc.
- System Integration: Connecting disparate health information systems to EMR like Epic Bridges, clinical app
Hi folks!
How can we handle JSON boolean types in IRIS?
I'm having a UI sending me a JSON payload as:
{
"id": 1,
"strprop": "string",
"boolprop": true
}The class is
MyPackage.MyClass Extends (%Persistent, %JSON.Adaptor)
{
strprop as%String;
boolprop as%Boolean;
}And I'm trying to update an instance of a MyPackage.MyClass and I'm getting a datatype-related error, something like %JSONImportInternal+269...
How am I supposed to deal with booleans in JSON with IRIS and ObjectScript? Any best practice advices?
There are numerous excellent tools available for testing your REST APIs, especially when they are live. Postman, various web browser extensions, and even custom ObjectScript written with %Net.HttpRequest objects can get the job done. However, it is often difficult to test just the REST API without inadvertently involving the authentication scheme, the web application configuration, or even network connectivity. Those are a lot of hoops to jump through just to test the code within your dispatch class. The good news is that if we take our time to understand the inner workings of the %CSP.REST class, we will find an alternative option suited for testing only the contents of the dispatch class. We can set up the request and response objects to invoke the methods directly.
Hi, now I would like to continuous on the topic that we talk about previously
Using Postman for testing the OAuth2.0 of the InterSystems FHIR repository - Part1
Question 1: Where is my client_id and client_secret come form?
Short answer: Authentication Server.
If you don't have an Authentication Server, you may set up one as following
Provide the hostname (the host must support Https), at least 1 grand type (we choose client credential here), and SSL/TSL configuration
Input the scopes (here we input user/*.read and user/*.write, which is based on the scope support by
.png)
Sometimes customers need a small IRIS instance to do something in the cloud and shut it down, or they need hundreds of containers (i.e. one per end user or one per interface) with small workloads. This exercise came about to see how small an IRIS instance could be. For this exercise we focused on what is the smallest amount of memory we can configure for an IRIS instance.Do you know all the parameters that affect the memory allocated by IRIS ?
Memory Settings
These are the different buckets that affect memory allocation by IRIS and its corresponding parameters:
- Global Buffers (32 MB) =>

Hey Community,
Enjoy the new video on InterSystems Developers YouTube:
What is JWT?
JWT (JSON Web Token) is an open standard (RFC 7519) that offers a lightweight, compact, and self-contained method for securely transmitting information between two parties. It is commonly used in web applications for authentication, authorization, and information exchange.
A JWT is typically composed of three parts:
1. JOSE (JSON Object Signing and Encryption) Header
2. Payload
3. Signature
These parts are encoded in Base64Url format and concatenated with dots (.) separating them.
Structure of a JWT
Header
{ "alg": "HS256", "typ": "JWT"}
Payload
{"sub": "1234567890", "namtrying importing classDefinition to Iris via LoadStream() fails with <INVALID OREF>zLoadStream+1^%SYSTEM.OBJ.1 ----> InterSystems.Data.IRISClient.IRISException : Exception thrown on server (code = 1192)...
Code is here; use any valid exported ClassDefinition as File to test that:
public static void loadClassFromStream(this IRIS iris, string txt)
{
// IRISObject globalCharStr = IrisStreamExtensions.FromTxt(iris, text);
var fp = @"C:\tmp\TestClass.xml";
txt = File.ReadAllText(fp);
var stream = new MemoryStream();
var bytes = Encoding.DefaIf one of your packages on OEX receives a review, you get notified by OEX only of YOUR own package.
The rating reflects the experience of the reviewer with the status found at the time of review.
It is kind of a snapshot and might have changed meanwhile.
Reviews by other members of the community are marked by * in the last column.
I also placed a bunch of Pull Requests on GitHub when I found a problem I could fix.
Some were accepted and merged, and some were just ignored.
So if you made a major change and expect a changed review, just let me know.
| # | Package | Review | Star |
|---|
Anyone else is passing through this issue?
Since last week when I create a new class definition, It is created without the full name into the signature class and I have to put it by myself.
I thougth that should be any configuration about the language patterns, but I didn`t found it..png)
Thank you all
I have a Postgres table which should be migrated to IRIS. The table has a computed column, like:
CREATE TABLE example_table (
id VARCHAR(10) PRIMARY KEY,
normalized_id VARCHAR(10) GENERATED ALWAYS AS (LPAD(id, 10, '0')) STORED
);
IRIS also has the LPAD function but I can't figure out how to achieve the same result using pure SQL DDL.
Tried this:
CREATE TABLE example_table (
id VARCHAR(10) PRIMARY KEY,
normalized_id VARCHAR(10) COMPUTECODE {
set {normalized_id} = LPAD({id}, 10, '0')
}
COMPUTEONCHANGE(id))
Got the following error:
SQL Error [400] [S1000]: [SQLCOI'm generating a XML (Enlib.EDI.XML.Document) using a Subtransformation within a DTL. Writing this XML-Document to the filesystem works good, but in the XML-File is missing the header line (<?xml version=1.0 encoding=UTF-8?>):
.png)
What do I have to do to get the header in my XML-File?
Any help is appreciated.
Hi developers!
There is a very neat variable in IPM ${ipmdir} that lets packages be installed on a particular IRIS server and ensures that the data and resources they bring don't mess around as ${ipmdir} variable during the installation transforms into:
iris installation dir/ipm/package_name/version/whatever_you_install_here
It is very convenient, e.g., to bring some data and resource files that can be useful during the installation setup, e.g., via FILECOPY. Indeed, suppose you bring some csv_file, e.g. titanic.csv via FILECOPY as:
<FileCopy Name="data/titanic.csv" Target="${ipmdir}data/titanic.csv"/>or even the whole folder of data in the source code repo into the package:
<FileCopy Name="data/" Target="${ipmdir}data/"/>And in the case of Iris in Docker it resides in:
/usr/irissys/ipm/package_name/1.0.0/data/titanic.csv
This is all great, but is there any way for the installed code to determine the location of the data files? It'd be neat to let the installed app know somehow where is the data that came with it? Could it be the method in the IPM client that will resolve ${ipmdir} for the app?
Over the last year, the CCR development team has prioritized changes to the CCR application to better expose and encourage best practices for using CCR. This article will highlight some of the areas that we've focused on:
- Organization Dashboard
- System Alerts
- Branch Hygiene
In each of these areas, we have increased the visibility of potential CCR usage issues and given users tools to proactively address them.
Organization Dashboard
We have continued to build out the available information on the Organization details page
The overview is a great place to get an overall sense of your
.png)
I know this is not recommended but I need to investigate a bug and to modify some system classes. When I set the "Mount as read-only" flag to "off" IRIS says:
ERROR #43: the write daemon failed to set the READ/WRITE flag in IRISLIB
This database is mounted as read-only due to 'Failed to access iris.lck file'!
Hi, Community!
Do you need a way to securely manage your passwords, API keys, and other credentials? See how the Secure Wallet in InterSystems IRIS® data platform can help:

