Every thriving community relies on members whose quiet dedication and deep expertise keep it growing stronger year after year. In the InterSystems Developer Community, one such pillar is @Megumi Kakechi, a long-time engineer and support specialist whose 17 years with InterSystems and 9 years on the Developer Community reflect a true passion for helping others learn, solve problems, and innovate.

👏 Let’s take a closer look at Megumi's remarkable journey and her impact on the InterSystems ecosystem.

19 10
0 152
InterSystems Developer Community is a community of 25,111 amazing developers
We're a place where InterSystems IRIS programmers learn and share, stay up-to-date, grow together and have fun!

Hi Community,

Please welcome @Henry Pereira as our new Moderator in the Developer Community Team! 🎉

As an active member, Henry has consistently shared valuable insights, supported fellow developers, and driven meaningful discussions across the Community. His deep expertise and collaborative spirit make him a perfect fit to help guide and grow our Developer Community.

Let's greet Henry with a round of applause and look at his bio!

20 9
0 164

Hi Community,

We’d like to remind everyone of the value your feedback and observations bring to improving InterSystems products. Our customer support is world-famous, but if you're not a formal customer yet it can be confusing how to engage with us. We have now filled that gap.

Every time you notice an issue - whether it’s a broken feature, a UI glitch, or something that just doesn’t work as expected - the Ideas Portal is now also the way to submit bug reports.

***REMEMBER: If you have access to WRC and your bug is time sensitive, please submit the report via WRC as usual!***

Here’s how it works:

1. Go to the Ideas Portal and click Add a new idea

2. Provide the title, short description, choose “Bug reports” in the category field, and click Next

4 10
0 94

Hello!!!

Data migration often sounds like a simple "move data from A to B task" until you actually do it. In reality, it is a complex process that blends planning, validation, testing, and technical precision.

Over several projects where I handled data migration into a HIS which runs on IRIS (TrakCare), I realized that success comes from a mix of discipline and automation.

Here are a few points which I want to highlight.

1. Start with a Defined Data Format.

Before you even open your first file, make sure everyone, especially data providers, clearly understands the exact data format you expect. Defining templates early avoids unnecessary bank-and-forth and rework later.

While Excel or CSV formats are common, I personally feel using a tab-delimited text file (.txt) for data upload is best. It's lightweight, consistent, and avoids issues with commas inside text fields.

PatID   DOB Gender  AdmDate
10001   2000-01-02  M   2025-10-01
10002   1998-01-05  F   2025-10-05
10005   1980-08-23  M   2025-10-15

Make sure that the date formats given in the file is correct and constant throughout the file because all these files are usually converted from an Excel file and an Basic excel user might make mistakes while giving you the date formats wrong. Wrong date formats can irritate you while converting into horolog.

4 8
1 105
Article
· Oct 22 2m read
Tips on handling Large data

Hello community,

I wanted to share my experience about working on Large Data projects. Over the years, I have had the opportunity to handle massive patient data, payor data and transactional logs while working in an hospital industry. I have had the chance to build huge reports which had to be written using advanced logics fetching data across multiple tables whose indexing was not helping me write efficient code.

Here is what I have learned about managing large data efficiently.

Choosing the right data access method.

As we all here in the community are aware of, IRIS provides multiple ways to access data. Choosing the right method, depends on the requirement.

  • Direct Global Access: Fastest for bulk read/write operations. For example, if i have to traverse through indexes and fetch patient data, I can loop through the globals to process millions of records. This will save a lot of time.
Set ToDate=+H
Set FromDate=+$H-1 For  Set FromDate=$O(^PatientD("Date",FromDate)) Quit:FromDate>ToDate  Do
. Set PatId="" For  Set PatId=$Order(^PatientD("Date",FromDate,PatID)) Quit:PatId=""  Do
. . Write $Get(^PatientD("Date",FromDate,PatID)),!
  • Using SQL: Useful for reporting or analytical requirements, though slower for huge data sets.

3 6
1 106

Hi Developers,

Following the resounding success of last year's new contest, we decided to repeat it. Please welcome

🏆 Bringing Ideas to Reality Contest 🏆

Submit an application that implements an idea from the InterSystems Ideas Portal that has status Community Opportunity or Future Consideration, created before the publication of this announcement, and requires doing the actual programming 😉

Duration: November 17 - December 7, 2025

Prize pool: $12,000

6 2
0 147

Over time, while I was working with Interoperability on the IRIS Data Platform, I developed rules for organizing a project code into packages and classes. That is what is called a Naming Convention, usually. In this topic, I want to organize and share these rules. I hope it can be helpful for somebody.

5 4
2 88

Environment:
Targeted *.inc file (with hundreds of defined macros) is in use throughout the application and included into every class declaration.
Statement "set a = $$$TestIf(3)" is included into a classmethod with no other code in. Expected output 5
Same macro options in *.inc:
#define TestIf(%arr) if %arr>0 QUIT 5
#define TestIf(%arr) if (%arr>0) {QUIT 5}
Issue:
failure to compile class with the same error on all tried definition options as:

0 13
0 121

Hey Community!

We're happy to share a new video from our InterSystems Developers YouTube:

Building $ZF Modules in Rust with RZF @ Ready 2025

https://www.youtube.com/embed/ZCxVle93VpQ
[This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]

2 3
0 72

Introduction

Businesses often use in-memory databases or key-value stores (caching layers) when applications require extremely high performance. However, in-memory databases incur a high total cost of ownership and have hard scalability limits, incurring reliability problems and restart delays when memory limits are exceeded. In-memory key-value stores share these limitations and introduce architectural complexity and network latency as well.

This article explains why InterSystems IRIS™ data platform is a superior alternative to in-memory databases and key-value stores for highperformance SQL and NoSQL applications.

Taking Performance and Efficiency to the Next Level

InterSystems IRIS is the only persistent database that can match or beat the performance of in-memory databases and caching layers for concurrent data ingestion and analytics processing. It can process incoming transactions, persist the data to disk, and index it for analytics in under one microsecond on commercially available hardware without introducing network latency.

The superior ingest performance of InterSystems IRIS results in part from its multi-dimensional data engine, which allows efficient and compact storage in a rich data structure. Using an efficient, multi-dimensional data model with sparse storage techniques instead of two-dimensional tables, random data access and updates are accomplished with very high performance, fewer resources and less disk capacity. It also provides in-memory, in-process APIs in addition to traditional TCP/IP access APIs to optimize ingest performance.

10 0
5 111

Window functions in InterSystems IRIS let you perform powerful analytics — like running totals, rankings, and moving averages — directly in SQL.
They operate over a "window" of rows related to the current row, without collapsing results like GROUP BY.
This means you can write cleaner, faster, and more maintainable queries — no loops, no joins, no temp tables.

In this article let's understand the mechanics of window functions by addressing some common data analisys tasks.

4 0
0 98

Over the past several years, the InterSystems Developer Community has accumulated more than 1,000 open-source projects. Many of them serve as examples and learning materials — but a significant number have become useful tools, libraries, integrations, and real-world components used in production.

Some of these projects are mine, and like many community developers, I’ve seen the same recurring problem:

  • It’s easy to create an open-source project.
  • It’s hard to maintain, support, and develop it sustainably — especially without funding.

Writing code is one thing.
Supporting it for years, keeping up with new IRIS versions, building CI pipelines, writing documentation, fixing issues, reviewing PRs — all of this demands both time and motivation, and the biggest motivator is often financial support.

This is not a new challenge.
The global open-source world has faced this for decades and has developed various models to support OSS ecosystems.

I believe it’s time for the InterSystems community to start a discussion about adopting a similar model.

3 7
0 80

Hello everyone! 👋

I have a question regarding roles and resources.

To give you some context: I have a user who has been assigned only the role %HS_UsageDashboard_Access.This allows them to access the dashboards correctly (by giving the direct URL). Then, if I try to access the Management Portal with this same user, I can log in with no access to any resources within it (as expected).

1 3
0 70

Hi,

I'd like to report a really strange behavior of the Intersystems Lite Terminal after executing a simple ObjectScript instruction.

From the Intersystems Lite terminal, execute the following instructions:

- Set uniqueId = "12345678_1"
- Set uniqueId = $p(uniqueId,"_",1)_"_"_($p(uniqueId,"_",*)+1)
After executing the second instruction, the terminal closes without any error.

1 4
0 59
Article
· Oct 28 3m read
IRIS Home Assistant Add-On (HAOS)

InterSystems IRIS Community Edition HAOS Add-On

Run InterSystems IRIS inside of Home Assistant, as an add-on. Before you dismiss this article possibly under the guise that this is just a gimmick, Id like you to step back and take a look at how easy it is to launch IRIS based applications using this platform. If you look at Open Exchange, you will see dozens of dozens of applications worthy of launching while they are basically hung out to dry as gitware, and launchable if you want to get into a laptop battle with containerd or Docker. With a simple git repo, and a specification, you can now build your app on IRIS, and make it launchable through a marketplace with limited hassle to your end users. Run it along side Ollama and the LLM/LAM implementations, expose anything in IRIS as a sensor or expose an endpoint for interaction in your IRIS app to interact with anything you've connected to HAOS. Wanna restart an IRIS production with a flick of a physical switch or Assisted AI? You can do it with this add-on, or your own, right alongside the home automation hackers.

5 0
1 63