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:
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.
Beta testing will b
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.
Current state: We run IRIS for Health on a Redhat 8 virtual machine. We run Interoperability productions (IE.cls) out of 6 namespaces. We have a dev/test box and a production box. This is a multi-user dev environment by default: Studio (and later VSCode) and the GUI dev tools (DF
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.
Upon reviewing the code for JWT generation, I discovered that the JWT code utilizes %SYS.X509Credentials solely as a source of runtime data for PrivateKey, PrivateKeyPassword, and Certificate. As a workaround, yo
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.
.png)
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.
Set x509 = ##class(%SYS.X509Credentials).GetByAlias(credAlias)
Set signature = ##class(%XML.Security.Signature).CreateX509(x509,$$$SOAPWSIncludeNone ,$$$KeyInfoX509Certificate)
Set signature.Id = "SIG1"DO signature.SetSignatureMethod($$$SOAPWSrsasha1)
DO signature.SetDigestMethod($$$SOAPWSsha1)
Set signature.SignedInfo.CanonicalizationMethod.Algorithm=$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?
.png)
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:
I have a new project to store information from REST responses into an IRIS database. I’ll need to sync information from at least two dozen separate REST endpoints, which means creating nearly that many ObjectScript classes to store the results from those endpoints.
Could I use ChatGPT to get a headstart on creating these classes? The answer is “Yes”, which is great since this is my first attempt at using generative AI for something useful. Generating pictures of giraffes eating soup was getting kind of old….
Here’s what I did:
.png)
Hello. Here is XDataReportDefinition
/// XML that defines the contents of this report.
XData ReportDefinition [ XMLNamespace = "http://www.intersystems.com/zen/report/definition" ]
{
<report xmlns="http://www.intersystems.com/zen/report/definition" name='bills' runonce="true">
<attribute name='runTime' expression='$ZDT($H,3)' />
<attribute name='runBy' expression='..GetUserName()' />
<attribute name='author' expression='..ReportAuthor'/>
<group name='bills' OnCreateResultSet="CreateRS">
<parameter name="MonthDt" expression="..Month"/>
<parameter name="Company" expression="..Company"/>
<para
Hello
How to hide a table completely in pdf generation when a row is empty?
A table has style with borders
<table group="services" removeEmpty="1" style="border:1px solid black;">
<item field="TotalSum" suppressEmpty="1" />
<item field="TotalAvSum" suppressEmpty="1" />
</table>
With removeEmpty="1" and suppressEmpty="1" all data are hidden when a row is empty but top and bottom borders are remain on the page.
How to hide also table's top and bottom borders when a data row is empty?
Hey Community,
It's time for the new batch of #KeyQuestions from the previous month.

Sometimes it is more convenient, more efficient, and more secure, to limit FHIR Searches per pre-defined "Lists" of Resources.
Since v2025.1 we support several List-related features in our FHIR Server.
I will highlight these here, and provide some samples.
Dear Community members,
We are currently performing technical work, and during this time, you may experience issues with the Developer Community portal, Developer Community AI, and search functionality:
🔹 Ask DC AI is temporarily unavailable
🔹 Search may take longer than usual or may not return results
🔹 You may experience problems with logging into the Developer Community and Open Exchange
We’re working to restore full functionality as quickly as possible. Thank you for your patience and understanding.
I frequently use the #call (https://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KE…) feature to make asynchronous calls in the CSP. However, in some cases, I encounter a timeout issue with the CSP Gateway. Is there any way to change this call timeout? I don't want to change the default configuration in the CSP Gateway.
I have see this discussed on the community but I'm not quite finding an answer.
I have a method that is called in the OnPreHttp() method of a CSP page. That method returns a dynamic object and a set a new variable to the %ToJSON method of the object so I can use it in my JavaScript code later to init a table of data (using the #(variable)# syntax). This creates a MAXSTRING error. So I changed it to return a %Stream.TmpCharacter. But if I call Read($$$MaxStringLenght) I only get part of the data. I loop over it and read it in chunks to the end, that kind of work, but I can't set the chun
The fourth quarter of the year was full of exciting activities in the InterSystems Developer Ecosystem. In case you missed something, we've prepared a selection of the hottest news and topics for you to catch up on!
(2).png)