Announcement Celeste Canzano · Nov 10, 2025

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. 

Please note, completion of the TrakCare Healthcare Messaging Framework (HMF) course is required for non-InterSystems employees to be eligible to take the beta. Please see Required Training under Exam Details below for more information about eligibility.

Beta testing will b

3
2 205
Question Michael Derr · Dec 4, 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

10
0 157
Announcement Larry Finlayson · Jan 14
  • InterSystems EMPI (formerly HealthShare Patient Index) – Virtual  February 3-5, 2026
    • 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 appr
0
0 38
Announcement Irène Mykhailova · Jan 14

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.

➡️ InterSystems Benelux & France Summit 2025

🗓 Dates: February 3-4, 2026

📍 Location: Les Jardins de Saint-Dominique, Paris, France

0
0 64
Announcement Celeste Canzano · Jan 14

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!

0
0 43
Article Eduard Lebedyuk · Jan 5 4m read

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

1
2 142
Article Vachan C Rannore · Dec 28, 2025 1m read

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.

18
4 292
Announcement Larry Finlayson · Jan 13

Managing InterSystems Servers – Virtual  February 2-6, 2026

  • Configure, manage, plan, and monitor system operations of InterSystems Data Platform technology
  • This 5-day course teaches system and database administrators how to manage InterSystems® Data Platform technology which powers all of our products.
  • Learn to install, configure and secure the data platform, configure for high availability and disaster recovery, and monitor the system.
  • Students also learn troubleshooting techniques.

SELF REGISTER HERE

0
1 36
Question Scott Roth · Jan 13

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?

3
0 77
Question Preedhi Garg · Jan 12

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=$
2
0 62
Question Dmitrii Baranov · Dec 21, 2025

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:

  1. I cannot execute an UPDATE statement via the same connection that was used before to selec
11
0 135
Article Iryna Mykhailova · Jan 12 4m read

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.

Databases: Physical Reality

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:

0
2 98
Question Victor Paredes · Jan 7

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:

  1. When SQL Server sets a query timeout (for example, 15 seconds), is this timeout visible to or enforced by Cache itself, or is it handled
6
0 109
Article Jean Millette · Apr 23, 2025 7m read

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:

  • Get some sample JSON REST call output using “curl” to query

3
1 355
Question Ruslan K · Dec 4, 2025

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/definitionname='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

1
0 65
Question Ruslan K · Jan 8

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?

3
0 66
Article Tani Frankel · Dec 28, 2025 6m read

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.

2
1 90
Announcement Anastasia Dyubaylo · Jan 10
Hello and welcome to the December 2025 Developer Community YouTube Recap.
InterSystems Ready 2025
0
0 45
Announcement Anastasia Dyubaylo · Dec 26, 2025

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.

5
0 85
Question Michael Davidovich · Apr 17, 2025

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

8
0 321
Article Jinyao · Feb 21, 2025 4m read

Motivation

I didn't know about ObjectScript until I started my new job. Objectscript isn't actually a young programming language. Compared to C++, Java and Python, the community isn't as active, but we're keen to make this place more vibrant, aren't we?

I've noticed that some of my colleagues are finding it tricky to get their heads around the class relationships in these huge projects. There aren't any easy-to-use modern class diagram tool for ObjectScript.

Related Work

I have tried relavant works:

- InterSystems class view:
1. https://github.com/intersystems-community/ClassExplorer
Thi







Generate InterSystems ObjectScript Class Diagram




12
5 670