Hey Community,
Enjoy the new video on InterSystems Developers YouTube:
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
trying 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:
If 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.
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:
I'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?>):
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:
In each of these areas, we have increased the visibility of potential CCR usage issues and given users tools to proactively address them.
We have continued to build out the available information on the Organization details page
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:
Hello InterSystems EHR community,
InterSystems Certification is currently developing a certification exam for InterSystems EHR integration specialists, and if you match the exam candidate description below, we would like you to beta test the exam! The exam will be available for beta testing starting November 10, 2025.
Hey Community,
Enjoy the new video on InterSystems Developers YouTube:
⏯ Leading Healthcare Digitalization - Success Story from Hospital Olomouc @ Ready 2025
We are a group of interface analysts in a healthcare setting, running IRIS for Health 2024, having upgraded over time from an old ENSEMBLE environment. We have been working on a wish list of development goals, but are having trouble finding the correct, best practice method/path for getting to what we envision.
Configure, tune, and work with InterSystems EMPI, an Enterprise Master Person Index
This 3-day course teaches the installation, configuration, and use of InterSystems EMPI™ (formerly HealthShare® Patient Index). Starting with version 2025.1, HealthShare Patient Index has been renamed to InterSystems EMPI, but the core functionality remains the same.
The first half of the class focuses on person identification issues and the tools for reviewing records and record matches. This part of the class is
Hello community!
We are delighted to invite all our customers, partners, and community members to InterSystems France & Benelux READY 2026!
This event promises to be an interactive experience highlighting inspiring case studies, technological innovations, and roadmaps for the coming year in the fields of healthcare and data platforms. Hands-on demonstrations will also allow you to explore the latest developments in a tangible way.
🗓 Dates: February 3-4, 2026
📍 Location: Les Jardins de Saint-Dominique, Paris, France
Hello everyone,
InterSystems Certification is still looking for InterSystems EHR (TrakCare/Intellicare) integration specialists to help us beta test our new InterSystems EHR Integration Specialist Certification exam. This is a great way to earn the certification for free! The deadline to participate in the beta test has been extended to March 15th.
Please note, there are eligibility requirements for this exam. For details, please see the original announcement. Please contact certification@intersystems.com with any questions.
Thank you!
If you want to generate JWT from x509 cert/key, any operation (including reading) on %SYS.X509Credentials requires U on %Admin_Secure resource.%Admin_Secure is required because %SYS.X509Credentials is persistent, and it's implemented this way to prevent all users from accessing private keys.
If %Admin_Secure resource is not available at runtime, you can use the following workaround.
SETassigns value to the variable at RUNTIME.
#DIM declare the variable and it's Data Type at COMPILE TIME.
SET |
#DIM |
| Makes the variables Dynamic. | Improves Readability. |
| No Data Type Declaration. | Enables IDE auto-completion. |
| Runtime | Useful for Object references. |
#DIM name As%StringSet name = "Micheal Scott"#DIM age As%NumericSet age = 36#DIM employer As App.Employer ; compile timeSet employer = ##class(App.Employer).%New() ; runtime
SETor #DIM? Your design, your rules.New to using Analytics and using Dashboards. We have this Report, SQL Query that lists out the Activity per Data Source in Health Share Provider Directory. Instead of running it as a report, because it takes a while to run, was wondering if there is a way to do this as a Dashboard instead.
How can I take the SQL from this report and create a Dashboard instead?
✓ 4,592members joined the Developer Community in 2025
✓ 25,158posts published in total
✓ 25,553 members joined in total
I’m working on XML Digital Signature in InterSystems IRIS using %XML.Security.Signature
I start with an XML document that is created by parsing an input XML string, and I want to digitally sign this document using an X509 certificate.
Hey Community,
Enjoy the new video on InterSystems Developers YouTube:
⏯ Advancing Healthcare Interoperability - Strategy and Vision @ Ready 2025
Iris Health dashboard images not loading after first install, getting 404 on /csp paths, is there any setup I am missing?, found this old community post: https://community.intersystems.com/post/debugging-why-management-portal… but the links are outdated, can anyone please guide me to proper documentation. Thanks in advance.
Screenshot attached:
I have a business service that actively reads data from a remote Postgres database. OnProcessInput opens a XDBC (actually JDBC) connection, executes an SQL query, fetches several thousand rows, iterates the resultset, and closes the connection. On each iteration I also need to update each source row in the remote database using PreparedStatement.
In other words, in every OnProcessInput call I have a long running SELECT statement and several thousands small UPDATE statements.
The problems I'm facing are:
InterSystems IRIS is built on an architecture that separates the logical organization of data (namespaces) from its physical storage location (databases). Understanding this separation and the distinction between Namespaces and Databases is crucial for effective data management, security, and especially, high-performance data sharing.
In this article, I will discuss these foundational components and provide a practical guide on leveraging global mappings to share native data structures (globals) across different logical environments.
A database represents the physical reality of where the data is stored on the disk. First and foremost, it’s a file in a file system called IRIS.dat (e.g., <Install folder>\mgr\user\IRIS.DAT). The maximum size of this file is 32TB. It is the container for all the actual data and the code. Databases are managed by the IRIS kernel, which handles caching, journaling, and transaction logging at the physical file level.
When you install InterSystems IRIS DBMS, the following databases are installed automatically:

Could someone help me with this error?
Hello,
We are accessing an InterSystems Cacha database from Microsoft SQL Server using a linked server over ODBC (ODBC35). Queries are executed using OPENQUERY.
On the SQL Server side, there is a linked server property called Query Timeout. By default it is set to 0 (no timeout). We are considering setting it to 15 seconds and would like to understand how Cache behaves in this scenario.
Specifically, I would like clarification on the following points: