1. I like the Application Error Log functionality a lot. However, it becomes time consuming to inspect it date by date and directory by directory on a multidirectory server. Ideally, I would use an existing error class to write a custom error report by date, selected namespaces, etc. Does such a system class actually exist? Not that I found. The detail level on the screenshot below is enough.
0 10
0 180
InterSystems Developer Community is a community of 25,507 amazing developers
We're a place where InterSystems IRIS programmers learn and share, stay up-to-date, grow together and have fun!

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.

6 0
2 189

Faced with the enormous and evergrowing amounts of data being generated in the world today, software architects need to pay special attention to the scalability of their solutions. They must also design systems that can, when needed, handle many thousands of concurrent users. It’s not easy, but designing for massive scalability is an absolute necessity.

A workload averaging 1000 1-kilobyte queries per second is compared with another involving 10 1-terabyte queries per hour

Software architects have several options for designing scalable systems. They can scale vertically by using bigger machines with dozens of cores. They can use data distribution (replication) techniques to scale horizontally for increasing numbers of users. And they can scale data volume horizontally through the use of a data partitioning strategy. In practice, software architects will employ several of these techniques, trading off hardware costs, code complexity, and ease of deployment to suit their particular needs.

This article will discuss how InterSystems IRIS Data Platform supports vertical scalability and horizontal scalability of both user and data volumes. It will outline several options for distributing and partitioning data and/or user volume, giving scenarios in which each option would be particularly useful. Finally, this paper will talk about how InterSystems IRIS helps simplify the configuration and provisioning of distributed systems.

9 0
3 189

At the moment we're creating multiple BPLs are using a router (or another BPL) to direct to these based on a unique key modulo the amount of BPLs available, e.g. if we have 3 BPLs created.

Message key = 1 mod 3 + 1 -> BPL02
Message key = 2 mod 3 + 1 -> BPL03
Message key = 3 mod 3 + 1 -> BPL01

FIFO only matters in that each messages for each key is processed in order.

1 7
0 181

I have VS Code with extensions connected to IRIS for Health. One top-level ObjectScript package is not displayed in the workspace for this namespace. This package exists in the namespace and is visible in SMP. If I create a new class with a different top-level package name (package that didn't previously exist) it will immediately appear in the workspace.

Is there any debug logging I can enable to look for errors or do any other troubleshooting?

Forgot to mention: the missing package is custom, not a system package.

0 5
0 183

In my previous article, Using LIKE with Variables and Patterns in SQL, we explored how the LIKE predicate behaves in different scenarios, from Embedded SQL to Dynamic SQL, and what happens to performance when wildcards and variables come into play. That piece was about getting comfortable writing a working LIKE query. But writing SQL that works is only the starting point. To build applications that are reliable, scalable, and secure, you need to understand the best practices that underpin all SQL, including queries that use LIKE.

This article takes the next step. We’ll look at a few key points to help strengthen your SQL code, avoid common pitfalls, and make sure your SELECT statements run not just correctly, but also efficiently and safely. I'll use SELECT statements with LIKE predicate as an example along the way, showing how these broader principles directly affect your queries and their results.

*This is what Gemini came up with for this article, kinda cute.

10 0
1 187

Hey everyone,

I'm diving deeper into Caché ObjectScript and would love to open a discussion around the most useful tips, tricks, and best practices you’ve learned or discovered while working with it.

Whether you're an experienced developer or just getting started, ObjectScript has its own set of quirks and powerful features—some well-documented, others hidden gems. I’m looking to compile a helpful set of ideas from the community.

Some areas I’m especially interested in:

6 3
4 184

I'm exploring this right now: given a bunch of types defined as Pydantic models, how can I come up with an equivalent %RegisteredObject/%SerialObject and convert to/from (e.g., to support persistence and match validation as much as possible)?

People who know Python better than I do (e.g., your average undergraduate from this decade): is this a stupid idea or a cool idea? Has anyone else done this before?

0 5
0 182

Visual Studio Code releases new updates every month with new features and bug fixes, and the February 2025 release is now available.

There have been enhancements to GitHub Copilot with predictive editing, autonomous task completion, smarter code search, improved terminal and notebook support, and UI and workflow refinements.

0 1
0 167

Here are the technology bonuses for the InterSystems "Bringing Ideas to Reality" Contest 2025 that will give you extra points in the voting:

  • Developer Experience Idea implemented - 4
  • IRIS Vector Search usage -3
  • Embedded Python usage -3
  • InterSystems Interoperability - 3
  • InterSystems IRIS BI - 3
  • VSCode Plugin - 3
  • FHIR Tools - 3
  • Docker container usage -2
  • ZPM Package Deployment - 2
  • Online Demo -2
  • Find and report a bug - 2
  • Article on Developer Community - 2
  • The second article on Developer Community - 1
  • Video on YouTube - 3
  • YouTube Short - 1
  • First Time Contribution - 3

See the details below.<--break->

0 4
0 106

Hi, I am unsure how to remove this restriction; when I am performing dynamic SQL using ##class(%SQL.Statement).%ExecDirectNoPriv(, .query, args...)

It works fine, but the moment I add specific properties from the persistent class I am performing the select on into the WHERE clause, I get: ERROR #5540: SQLCODE: -99 Message: User UnknownUser is not privileged for the operation. Despite using %ExecDirectNoPriv, I've tried with prepared statement as well, exact same situation.

0 5
0 180

I just realized I never finished this serie of articles!

GIF de Shame On You Meme | Tenor

In today's article, we'll take a look at the production process that extracts the ICD-10 diagnoses most similar to our text, so we can select the most appropriate option from our frontend.

Looking for diagnostic similarities:

From the screen that shows the diagnostic requests received in HL7 in our application, we can search for the ICD-10 diagnoses closest to the text entered by the professional.

6 0
0 185

The question I have is if I run an External backup this library rotuine is called:
##Class(Backup.General).ExternalFreeze()

Is there a command I can run that shows me the Iris system is frozen due to the call to ##Class(Backup.General).ExternalFreeze()?

If the system is frozen I cannot sign into Iris terminal session.

I backup the IRIS server using Veeam. Veeam calls the "freeze" script, snapshots the server in VMWare, then calls the "thaw" script.
Veeam then backs up the VMWare snapshot.

1 4
0 181

Dynamic Entities (objects and arrays) in IRIS are incredibly useful in situations where you are having to transform JSON data into an Object Model for storage to the database, such as in REST API endpoints hosted within IRIS. This is because these dynamic objects and arrays can easily serve as a point of conversion from one data structure to the other.

Dynamic Objects

Dynamic Objects are very similar to the standard ObjectScript object model you get when you create a new instance of a class object, but with some key differences:

4 1
3 164

☤ Care 🩺 Compass 🧭 - Proof-of-Concept - Demo Games Contest Entry

Introducing Care Compass: AI-Powered Case Prioritization for Human Services

In today’s healthcare and social services landscape, caseworkers face overwhelming challenges. High caseloads, fragmented systems, and disconnected data often lead to missed opportunities to intervene early and effectively. This results in worker burnout and preventable emergency room visits, which are both costly and avoidable.

Care Compass was created to change that.

7 3
1 124

Hi Community!

I'm super excited to be your on-the-ground reporter for the biggest developer event of the year - InterSystems Ready 2025!

As you may know from previous years, our global summits are always exciting, exhilarating, and packed with valuable knowledge, innovative ideas, and exciting news from InterSystems. This year is no different. But let's not get ahead of ourselves and start from the beginning.

Pre-summit day was, as usual, filled with fun and educational experiences. Those who enjoy playing golf (I among them) got up at the crack of dawn to tee off before the sun got too high up. Here's our dream team in action:

@sween, @Mark Bolinsky, @Anzelem Sanyatwe, @Iryna Mykhailova

16 0
0 184

Hey Community,

Great news for all those of you who have missed the Super Early Bird discount for the InterSystems READY 2025! You still have a chance to get an Early bird discount up until 26th of May! So don't miss you chance to participate in the event of the year.

➡️ InterSystems Ready 2025

🗓 Dates: June 22-25, 2025

📍 Location: Signia Hilton Bonnet Creek, Orlando, FL, USA

4 1
0 163

InterSystems is pleased to announce that version 3.0.5 of the VS Code - ObjectScript extension has been released. This release includes many bug fixes, as well as changes to the telemetry data we collect. Collecting more product usage data helps InterSystems identify and prioritize fixes and enhancements that will have the most positive impact for you, our users.

9 0
0 182