查找

Artigo
· Nov. 2 7min de leitura

Interoperability Naming Convention (IRIS Project Organization Guide)

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.

 

Disclaimer: This guide is a good fit for Interoperability projects. When you have integrations, data flows, when you use IRIS for ETL processes, etc. Overall, when your code is combined with Productions. If you are using the IRIS Data Platform just as a backend, for example, the project structure can be different, of course.

General naming rules

Follow these naming rules always when it is possible:

  • For names of packages and classes, we use the UpperCamelCase
  • The package name must be in the singular form. Exception: when the names of packages are generated automatically (by importing WSDL or XSD, for example) 

          🚫 Incorrect: Messages     ✅ Correct: Message 

          🚫 Incorrect: Processes     ✅ Correct: Process

  • Abbreviation for the package name is possible. Sample: InterSystemsCorporation = ISC
  • Production item name must be the same as the class name. Exception: when we have a few Production items with different settings based on one class. In this case, I advise you to add .Type (some delimiter) at the end of the business host name. For example, we have a class  MyProject.Operation.API and two business hosts use this class: MyProject.Operation.API.Node01 and MyProject.Operation.API.Node02
  • Do not repeat the package name in the class name

          🚫 Incorrect: MyProject.Operation.EmailOperation     ✅ Correct: MyProject.Operation.EmailAlert

  • Only one domain in the full class name (see details below)

          🚫 Incorrect: ISC.Alert.Operation.EmailNotifier     ✅ Correct: ISC.Operation.EmailNotifier

Levels of project structure

Let's look at our subject from the upper level to the project depths. Generally, the structure of modules will look like: src > Domains > Class Types > Class Files. Or as a class full name: Domain.ClassType.ClassName.cls. Next, more details about each level.

0️⃣ Zero level (project root)

 

On this level, we have: 

  • .vscode directory with settings.json inside (created automatically by Visual Studio Code)
  • src folder - all your custom code must be here 
  • .gitignore file, my default looks like:
.vscode
fields.md
.DS_Store
  • Docker files, if you use Docker for deployment
  • Optionally: LICENSE, README.md, and also more deployment-related things 

1️⃣ Level one (domains)

All the following files and folders must be inside src. It's the level of domains, the biggest piece of your code separation. Any complex project on IRIS has many integrated applications and sub-projects combined in a single namespace (within a single Production). At this level can be located only folders (packages) called by companies, projects, sub-modules, or connected systems. It can be folders like: ERP, Kafka, Alert, FHIR, SampleProjectISC. No classes allowed here.

The choice of domain delimiter at the top level is up to you. It depends on your specific needs. A good idea is to use the company's name if you're creating custom code in a typical InterSystems solution. Or use the connected application name if it's an integration project, especially if you have many integrated applications.

In the screenshot below, you can see how sub-module names are used as a level one delimiter. This delimiter was selected because its independent modules, Alert (alerting sub-system) and Broker (message broker), can be used separately. Of course, here could be used a structure like ESB > Alert > ... and ESB > Broker > ... with a common package ESB. But it contradicts a key principle of this convention: a single domain level. No nested domains allowed.

Also, here is the place for the package with the name Production. In this package must be located your production class uses a fixed name - Main.cls. We are using a folder on the first level, because Production is a common item for all projects, modules, and all what we have in the namespace.

 

You can add more production classes to this package if you are using environment settings separation by production classes (check this discussion), such as Dev.cls, Test.cls, and so on.

2️⃣ Level two (packages by class types)

This is the level of separation by class types. No classes allowed here. This inner folder list will be almost the same for each domain/project folder. Of course, it will depend on your task-specific needs, and you can add suitable only for you packages to this level (don't forget to follow general naming rules). I prepared a list of typical package names that I use at this level.

A few regular packages, common to all projects:

  • 📦 Adapter - package for adapter classes. I am not splitting it into inbound and outbound adapters because, usually, projects do not contain a lot of adapters
  • 📦 Service - your classes, which extend Ens.BusinessService. No folders allowed here, just a list of classes
  • 📦 Message - a package for messages, typically children of Ens.Request and Ens.Response. There can be many nesting levels here. Usually, I use the following structure: Message > Application > Type > Root.cls. Good practice to create message-related classes by XSD import
  • 📦 Process - classes which extend Ens.BusinessProcess. No folders allowed inside
  • 📦 Operation - classes which extend Ens.BusinessOperation. No folders allowed inside
  • 📦 Storage - a place for storing persistent data. It is the classes that extend the %Persistent type. If you need to store some data, you can create your tables here. No folders allowed inside
  • 📦 Transform - transformation classes (extend Ens.DataTransform). All format or protocol-related transformations, also called mappings, must be stored here (SomeJson2SomeXML.cls for example). No folders allowed inside
  • 📦 UnitTest - list of test cases (classes that extend  %UnitTest.TestCase)

And more project-related packages:

  • 📦 WebClient - SOAP clients folder. You must import each client into a new folder, like WebClient > MyCustomClient. Can be a few nested folders automatically created by WSDL import here
  • 📦 API - if you publish REST APIs on the IRIS side. Also, possible nested folders. Sample: API > MyCustomREST - inside this folder, your disp, impl, and spec classes will be located. These classes are generated when we use a specification-first way for API creation. More details about it can be found here
  • 📦 Task - if you use task classes (extend %SYS.Task.Definition). No folders allowed inside
  • 📦 CSP - if you use Cache Server Pages for creating some UI

3️⃣ Level three (single classes)

Level of single classes (.cls files). As explained above, most of your class files must be located on the third level. Try to avoid creating folders here. Actually, this convention does not create a deeply nested structure. And it is true with a few exceptions, like 📦 Message, 📦 WebClient, and 📦 API folders. Mostly because in these cases, we use code generation for creating a folder structure.

 

Benefits

  • Easy to find related classes when you have only a generic problem understanding. For example, the issue sounds like "We have a problem with putting data into Kafka". You can be sure that related classes are located in the package Kafka.Operation.*, because we talk about a specific application (Kafka), and the outbound data flow direction (Operation)
  • You can create any automated processing for business hosts based only on their names. The expression $p(item.ClassName, ".", 2) is always equal to a type of class - Service, Process, Operation, etc.
  • The convention about business host names in Production allows us to quickly find related classes and effectively manage huge Interoperability Productions
  • It's a simple concept for new developers. A similar structure is used in some system packages

Conclusion

Generally, that is all that I want to tell you about my Project Organization Guide. Of course, in addition to the project structure rules, I also have a Code Style Guide with typical patterns and many other details. But let it go next time. A detailed sample of using this convention can be found in the IRIS ESB project. It would be great if someone else could share: what naming convention are you using for packages and class organization?

4 novos comentários
Discussão (4)3
Entre ou crie uma conta para continuar
Resumo
· Nov. 1

Resumo do InterSystems Developer Community, Outubro 2025

Olá e bem-vindo ao boletim informativo da comunidade de desenvolvedores Outubro 2025.
Estatísticas gerais
24 novas postages publicadas em Outubro:
 14 novos artigos
 10 novos anúncios
4 novos membros ingressaram em Outubro
1,483 postagens publicadas ao todo
654 membros ingressaram ao todo
Principais publicações
Principais autores do mês
Artigos
#InterSystems IRIS
IRIS Audio Query - Consulte Áudio com texto usando InterSystems IRIS
Por Heloisa Paiva
IRIS API Nativa para ObjectScript
Por Heloisa Paiva
Expanda a capacidade do ObjectScript de processar YAML
Por Yuri Marx
Analisando a Performance em Tempo de Execução do IRIS ^PERFMON [JAVA Native SDK]
Por Davi Massaru Teixeira Muta
InterSystems para Dummies – Record Map (Mapa de Registros)
Por Heloisa Paiva
Por que ainda vejo mensagens antigas depois de executar a tarefa de limpeza?
Por Heloisa Paiva
[Dica Rápida] - Como usar URL em serviços REST API sem distinção entre maiúsculas e minúsculas
Por Heloisa Paiva
Python incorporado e IRIS no Jupyter Notebook em um ambiente virtual.
Por Heloisa Paiva
Testando Inconsistências de Metadados no InterSystems IRIS Usando o Banco de Dados DATATYPE_SAMPLE
Por Heloisa Paiva
#Health Connect
#Caché
#Documentação
#HealthShare
Anúncios
#InterSystems IRIS
#Developer Community Oficial
#InterSystems IRIS for Health
#Outro
#Global Masters
Outubro, 2025Month at a GlanceInterSystems Developer Community
Anúncio
· Nov. 1

Developer Community Recap, October 2025

Hello and welcome to the October 2025 Developer Community Recap.
General Stats
151 new posts published in October:
 43 new articles
 35 new announcements
 65 new questions
 8 new discussions
290 new members joined in October
15,665 posts published all time
18,166 members joined all time
Top posts
New interface of the DC AI Chat!
By Anastasia Dyubaylo
Top authors of the month
Articles
#InterSystems IRIS
How to compare the contents of two globals
By Megumi Kakechi
Automating IAM Configuration from OpenAPI Specs 2.0 with ObjectScript
By Raef Youssef
Why does InterSystems have no out-of-the-box ESB solution? Let’s try to fix it!
By Andrew Sklyarov
IRIS Audio Query - Query Audio with Text using InterSystems IRIS
By Yu Han Eng
IRIS Audio Query - Development
By Yu Han Eng
The Wait Is Over: Welcome GoLang Support for InterSystems IRIS
By Dmitry Maslennikov
GORM Meets InterSystems IRIS: Introducing gorm-iris
By Dmitry Maslennikov
Presenting IRIS Tool and Data Manager: Integrating InterSystems IRIS with Python, Pandas, and Streamlit
By Pietro Di Leo
Visualize your InterSystems server configurations using Structurizr
By John Murray
Presenting the FHIR Data Explorer: AI-Powered Hybrid Semantic Search & Patient History Generation
By Pietro Di Leo
Bringing It All Together: Go, GORM, and InterSystems IRIS in Action
By Dmitry Maslennikov
Managing External Language Connections with "irisconns"
By Eric Fortenberry
How Windows users can try gj :: configExplorer standalone
By John Murray
Building a FHIR Vector Repository with InterSystems IRIS and Python through the IRIStool module
By Pietro Di Leo
Enhancing FHIR Data Exploration with Local LLMs: Integrating IRIS and Ollama
By Pietro Di Leo
Expand ObjectScript's ability to process YAML
By Yuri Marx
Writing a REST api service for exporting the generated patient data in .csv
By Kate Lau
IRIS install automation using Ansible
By Enzo Medina
Why do I still see old messages after running the purge task?
By Cecilia Yang
Working with Stream Objects in InterSystems IRIS
By Jack Rack
Analyzing IRIS ^PERFMON Runtime Performance Using the Java Native SDK
By Davi Massaru Teixeira Muta
Writing a REST api service for exporting the generated FHIR bundle in JSON
By Kate Lau
REST api example for decode a Base64 data
By Kate Lau
Optimizing SQL LIKE Security, Performance and Best Practices
By Iryna Mykhailova
Sample for Beginners with Streams in IRIS
By Robert Cemper
Free Database Space by SwaggerTools
By Robert Cemper
IKO Plus: Multi-Cluster IrisClusters Propogated with Karmada
By sween
XML to HL7, FHIR, and V2 Conversion
By Ashok Kumar T
Practical use of XECUTE (InterSystems ObjectScript)
By Robert Cemper
What I’ve Learned from Multiple Data Migrations
By Vachan C Rannore
A Superior Alternative to In-Memory Databases and Key-Value Stores
By Developer Community Admin
Tips on handling Large data
By Harshitha
[Quick tip] - How to use case insensitive url in REST API Business Service
By Kurro Lopez
Connect to SQL server via Windows Auth
By Arsh Hasan
IRIS Home Assistant Add-On (HAOS)
By sween
EnsLib.SQL.Snapshot not cleaned during purge messages when used in Response Message
By Chi Wan Chan
Nobody expects the Spanish Inquisidor!!
By Luis Angel Pérez Ramos
 
#Open Exchange
 
#InterSystems Kubernetes Operator (IKO)
 
#Caché
 
Announcements
#InterSystems IRIS
[Video] Python Interoperability Productions
By Liubov Zelenskaia
[Video] September Developer Meetup Recording - FHIR as an AI Platform
By Derek Gervais
Security & AI Meetup for Developers and Startups
By Liubov Zelenskaia
Query InterSystems IRIS databases with the Python DB-API
By Derek Robinson
[Video] Advanced SQL join table cardinality estimates
By Liubov Zelenskaia
Maintenance Releases 2025.1.2 and 2024.1.5 of InterSystems IRIS, IRIS for Health, & HealthShare HealthConnect are now available
By Daniel Palevski
InterSystems Cloud Services – Version 25.22.1
By Dipak Bhujbal
[Video] Building $ZF Modules in Rust with RZF
By Liubov Zelenskaia
AI Meetup for Developers and Startups
By Liubov Zelenskaia
[Video] Source Control Interoperability Productions in a Decomposed Format
By Liubov Zelenskaia
 
#Developer Community Official
 
#InterSystems IRIS for Health
 
#Open Exchange
 
#Other
 
#IRIS contest
 
#Global Masters
 
#Learning Portal
 
#InterSystems Ideas Portal
 
#Summit
 
Questions
#InterSystems IRIS
Cannot Access Authorization Bearer Token in EnsLib.REST.Service - Getting 500 Internal Server Error
By Abdul Majeed
Login Failure for a single person (not user!) in IRIS for Health
By Darima Budazhapova
Data Transform - If OBX 5 contains text Abnormal Flag populates
By Jason Lewins
MQTT IRIS Broker
By Touggourt
%FileSet Throws “Directory Does Not Exist” for Network Path — But DirectoryExists() Returns 1
By Gopal Mani
Web interface for maintaining custom lookup classes (SQL) in HealthShare
By Mary George
BusinessService Failed to create MQTT client
By Touggourt
Is there a way to edit and recompile a deployed class?
By Ali Nasser
How can I implement an efficient multi-shard SQL query in an InterSystems IRIS sharded cluster?
By Jack Rack
Can I implement custom stream compression algorithms in IRIS for %Stream.GlobalBinary?
By Jack Rack
How can I leverage bitmap indexes for performance tuning in a hybrid OLAP/OLTP IRIS workload?
By Jack Rack
How can I implement a secure and scalable multi-tenant architecture in IRIS using namespace isolation and role delegation?
By Jack Rack
How can I write a custom SQL storage strategy for ObjectScript classes in IRIS?
By Jack Rack
How can I use $Order() traversal with lock-free concurrency for real-time analytics in IRIS?
By Jack Rack
Can I customize the IRIS SQL query planner to optimize recursive CTE execution?
By Jack Rack
How do I stream process and ETL terabyte-scale HL7/FHIR data using InterSystems IRIS Interoperability?
By Jack Rack
How do I perform predicate pushdown optimization in IRIS embedded SQL with dynamic joins? Body:
By Jack Rack
Can I implement row-level security in InterSystems IRIS using class parameters and runtime filters?
By Jack Rack
How can I write a custom JSON adapter to serialize hierarchical IRIS objects with circular references?
By Jack Rack
How do I implement eventual consistency with custom conflict resolution in IRIS mirroring or async replication?
By Jack Rack
How can I implement an event-sourced architecture with journal-based replay using IRIS globals?
By Jack Rack
How can I design a dynamic class schema generator in ObjectScript based on runtime JSON input?
By Jack Rack
How do I analyze and tune parallel query execution in IRIS SQL engine for complex joins?
By Jack Rack
How can I write an IRIS interoperability adapter for high-throughput WebSocket connections?
By Jack Rack
How can I create a hybrid REST and GraphQL API layer over IRIS data using ObjectScript?
By Jack Rack
How do I trace IRIS internal locking behavior for debugging deadlocks in object transactions?
By Jack Rack
How do I build a custom cost-based query optimizer rule in IRIS SQL engine?
By Jack Rack
How can I integrate InterSystems IRIS with Apache Flink for real-time event stream processing?
By Jack Rack
How do I implement secure identity federation (OAuth2, SAML) for InterSystems IRIS web apps?
By Jack Rack
Can I hook into the IRIS SQL compiler to inject dynamic policies (e.g., tenant filtering, row masking)?
By Jack Rack
How do I trace low-level deadlocks between globals, SQL tables, and object transactions across mirrored IRIS instances?
By Jack Rack
Can I build a decentralized ledger (DLT) inside InterSystems IRIS using deterministic globals and consensus modules?
By Jack Rack
Can I build a custom task scheduler inside IRIS with CRON-like rules, retry policies, and distributed execution?
By Jack Rack
Data Transform - Looking for two specific pieces of text
By Jason Lewins
Set a dataCombo selection
By Touggourt
Error on First Compilation: When Using Compile-Time Method
By Ashok Kumar T
Why Does $c() Behave Differently on Different Systems?
By Jean Millette
Object Gateway Server - Java Executable Not Found
By Adeel Nordin
How to process EnsLib.RecordMap.Service.FTPService files one by one?
By Kurro Lopez
Routing Rule with a variable target
By Thomas Haig
Using the Workflow Engine to capture Data Quality Issues
By Scott Roth
Windows issue with scripting
By Jorge Gea Martínez
EnsLib.Workflow.TaskRequest Customization Help
By Scott Roth
Stream SVG to load in Logi Reports
By Fahmi Rizaldi
Controlling disk usage on LOAD DATA error logging
By José Pereira
*.inc file For loop
By Michael Akselrod
Failure to compile *.inc with simple "If" statement
By Michael Akselrod
 
#Caché
 
#Ensemble
 
#InterSystems IRIS for Health
 
#HealthShare
 
#InterSystems IRIS BI (DeepSee)
Custom listing with inner subquery
By Dmitrij Vladimirov
 
#Health Connect
 
#Other
 
Discussions
October, 2025Month at a GlanceInterSystems Developer Community
Discussão (0)1
Entre ou crie uma conta para continuar
Anúncio
· Nov. 1

Récapitulation de la Communauté des Développeurs, octobre 2025

Bonjour et bienvenue à la récapitulation de la Communauté des Développeurs d’octobre 2025.
Statistiques générales
✓ Nouvelles publications 24 publiées en octobre :
 15 nouveaux articles
 9 nouvelles annonces
✓ Nouveaux membres 1 ayant rejoint en octobre
✓ Publications 1,295 publiées depuis le début
✓ Membres 188 ayant rejoint depuis le début
Meilleures publications
Nouvelle interface du DC AI Chat !
Par Irène Mykhailova
Les meilleurs auteurs du mois
Articles
#InterSystems IRIS
Exécution d'InterSystems IRIS avec Docker : guide étape par étape - Partie 1 : A partir des principes de base au fichier Dockerfile personnalisé
Par Iryna Mykhailova
Exemple de fonction table: requête du journal des erreurs d'application
Par Lorenzo Scalese
Présentation de testcontainers-iris-node: simplification des tests d'intégration IRIS dans Node.js
Par Sylvain Guilbaud
Présentation de typeorm-iris: TypeORM pour InterSystems IRIS à partir de Node.js
Par Iryna Mykhailova
Comment interagir avec les CSV (importer)
Par Corentin Blondeau
Optimisation de la sécurité, des performances et des meilleures pratiques de SQL LIKE
Par Iryna Mykhailova
Introduction à IRIS pour les développeurs SQL et les administrateurs de bases de données
Par Guillaume Rongier
Empêcher le rollback de données de tables spécifiques
Par Iryna Mykhailova
Lier des tables par programmation
Par Iryna Mykhailova
Accélérez vos recherches textuelles grâce aux index %iFind
Par Sylvain Guilbaud
Écriture d'un service API REST pour exporter les données patient générées au format .csv
Par Iryna Mykhailova
Installation automatisée d'IRIS à l'aide d'Ansible
Par Lorenzo Scalese
Optimisation de l'exploration des données FHIR au moyen de modèles linguistiques locaux : intégration d'IRIS et d'Ollama
Par Guillaume Rongier
 
#InterSystems IRIS for Health
 
#Caché
 
Annonces
#InterSystems IRIS
 
#Communauté des développeurs officielle
 
#Supply Chain Orchestrator
 
#Autre
 
#Portail d'idées d'InterSystems
 
#Global Masters
 
Octobre, 2025Month at a GlanceInterSystems Developer Community
Discussão (0)1
Entre ou crie uma conta para continuar
Resumo
· Nov. 1

InterSystems Developer Community Digest, October 2025

Hello and welcome to the October 2025 Developer Community Newsletter.
General Stats
151 new posts published in October:
 43 new articles
 35 new announcements
 65 new questions
 8 new discussions
290 new members joined in October
15,665 posts published all time
18,166 members joined all time
Top posts
Top authors of the month
Articles
#InterSystems IRIS
How to compare the contents of two globals
By Megumi Kakechi
Automating IAM Configuration from OpenAPI Specs 2.0 with ObjectScript
By Raef Youssef
Why does InterSystems have no out-of-the-box ESB solution? Let’s try to fix it!
By Andrew Sklyarov
IRIS Audio Query - Query Audio with Text using InterSystems IRIS
By Yu Han Eng
IRIS Audio Query - Development
By Yu Han Eng
The Wait Is Over: Welcome GoLang Support for InterSystems IRIS
By Dmitry Maslennikov
GORM Meets InterSystems IRIS: Introducing gorm-iris
By Dmitry Maslennikov
Presenting IRIS Tool and Data Manager: Integrating InterSystems IRIS with Python, Pandas, and Streamlit
By Pietro Di Leo
Visualize your InterSystems server configurations using Structurizr
By John Murray
Presenting the FHIR Data Explorer: AI-Powered Hybrid Semantic Search & Patient History Generation
By Pietro Di Leo
Bringing It All Together: Go, GORM, and InterSystems IRIS in Action
By Dmitry Maslennikov
Managing External Language Connections with "irisconns"
By Eric Fortenberry
How Windows users can try gj :: configExplorer standalone
By John Murray
Building a FHIR Vector Repository with InterSystems IRIS and Python through the IRIStool module
By Pietro Di Leo
Enhancing FHIR Data Exploration with Local LLMs: Integrating IRIS and Ollama
By Pietro Di Leo
Expand ObjectScript's ability to process YAML
By Yuri Marx
Writing a REST api service for exporting the generated patient data in .csv
By Kate Lau
IRIS install automation using Ansible
By Enzo Medina
Why do I still see old messages after running the purge task?
By Cecilia Yang
Working with Stream Objects in InterSystems IRIS
By Jack Rack
Analyzing IRIS ^PERFMON Runtime Performance Using the Java Native SDK
By Davi Massaru Teixeira Muta
Writing a REST api service for exporting the generated FHIR bundle in JSON
By Kate Lau
REST api example for decode a Base64 data
By Kate Lau
Optimizing SQL LIKE Security, Performance and Best Practices
By Iryna Mykhailova
Sample for Beginners with Streams in IRIS
By Robert Cemper
Free Database Space by SwaggerTools
By Robert Cemper
IKO Plus: Multi-Cluster IrisClusters Propogated with Karmada
By sween
XML to HL7, FHIR, and V2 Conversion
By Ashok Kumar T
Practical use of XECUTE (InterSystems ObjectScript)
By Robert Cemper
What I’ve Learned from Multiple Data Migrations
By Vachan C Rannore
A Superior Alternative to In-Memory Databases and Key-Value Stores
By Developer Community Admin
Tips on handling Large data
By Harshitha
[Quick tip] - How to use case insensitive url in REST API Business Service
By Kurro Lopez
Connect to SQL server via Windows Auth
By Arsh Hasan
IRIS Home Assistant Add-On (HAOS)
By sween
EnsLib.SQL.Snapshot not cleaned during purge messages when used in Response Message
By Chi Wan Chan
Nobody expects the Spanish Inquisidor!!
By Luis Angel Pérez Ramos
#Open Exchange
#InterSystems Kubernetes Operator (IKO)
#Caché
Announcements
#InterSystems IRIS
#Developer Community Official
#InterSystems IRIS for Health
#Open Exchange
#Other
#IRIS contest
#Global Masters
#Learning Portal
#InterSystems Ideas Portal
#Summit
Questions
#InterSystems IRIS
Cannot Access Authorization Bearer Token in EnsLib.REST.Service - Getting 500 Internal Server Error
By Abdul Majeed
Login Failure for a single person (not user!) in IRIS for Health
By Darima Budazhapova
Data Transform - If OBX 5 contains text Abnormal Flag populates
By Jason Lewins
MQTT IRIS Broker
By Touggourt
%FileSet Throws “Directory Does Not Exist” for Network Path — But DirectoryExists() Returns 1
By Gopal Mani
Web interface for maintaining custom lookup classes (SQL) in HealthShare
By Mary George
BusinessService Failed to create MQTT client
By Touggourt
Is there a way to edit and recompile a deployed class?
By Ali Nasser
How can I implement an efficient multi-shard SQL query in an InterSystems IRIS sharded cluster?
By Jack Rack
Can I implement custom stream compression algorithms in IRIS for %Stream.GlobalBinary?
By Jack Rack
How can I leverage bitmap indexes for performance tuning in a hybrid OLAP/OLTP IRIS workload?
By Jack Rack
How can I implement a secure and scalable multi-tenant architecture in IRIS using namespace isolation and role delegation?
By Jack Rack
How can I write a custom SQL storage strategy for ObjectScript classes in IRIS?
By Jack Rack
How can I use $Order() traversal with lock-free concurrency for real-time analytics in IRIS?
By Jack Rack
Can I customize the IRIS SQL query planner to optimize recursive CTE execution?
By Jack Rack
How do I stream process and ETL terabyte-scale HL7/FHIR data using InterSystems IRIS Interoperability?
By Jack Rack
How do I perform predicate pushdown optimization in IRIS embedded SQL with dynamic joins? Body:
By Jack Rack
Can I implement row-level security in InterSystems IRIS using class parameters and runtime filters?
By Jack Rack
How can I write a custom JSON adapter to serialize hierarchical IRIS objects with circular references?
By Jack Rack
How do I implement eventual consistency with custom conflict resolution in IRIS mirroring or async replication?
By Jack Rack
How can I implement an event-sourced architecture with journal-based replay using IRIS globals?
By Jack Rack
How can I design a dynamic class schema generator in ObjectScript based on runtime JSON input?
By Jack Rack
How do I analyze and tune parallel query execution in IRIS SQL engine for complex joins?
By Jack Rack
How can I write an IRIS interoperability adapter for high-throughput WebSocket connections?
By Jack Rack
How can I create a hybrid REST and GraphQL API layer over IRIS data using ObjectScript?
By Jack Rack
How do I trace IRIS internal locking behavior for debugging deadlocks in object transactions?
By Jack Rack
How do I build a custom cost-based query optimizer rule in IRIS SQL engine?
By Jack Rack
How can I integrate InterSystems IRIS with Apache Flink for real-time event stream processing?
By Jack Rack
How do I implement secure identity federation (OAuth2, SAML) for InterSystems IRIS web apps?
By Jack Rack
Can I hook into the IRIS SQL compiler to inject dynamic policies (e.g., tenant filtering, row masking)?
By Jack Rack
How do I trace low-level deadlocks between globals, SQL tables, and object transactions across mirrored IRIS instances?
By Jack Rack
Can I build a decentralized ledger (DLT) inside InterSystems IRIS using deterministic globals and consensus modules?
By Jack Rack
Can I build a custom task scheduler inside IRIS with CRON-like rules, retry policies, and distributed execution?
By Jack Rack
Data Transform - Looking for two specific pieces of text
By Jason Lewins
Set a dataCombo selection
By Touggourt
Error on First Compilation: When Using Compile-Time Method
By Ashok Kumar T
Why Does $c() Behave Differently on Different Systems?
By Jean Millette
Object Gateway Server - Java Executable Not Found
By Adeel Nordin
How to process EnsLib.RecordMap.Service.FTPService files one by one?
By Kurro Lopez
Routing Rule with a variable target
By Thomas Haig
Using the Workflow Engine to capture Data Quality Issues
By Scott Roth
Windows issue with scripting
By Jorge Gea Martínez
EnsLib.Workflow.TaskRequest Customization Help
By Scott Roth
Stream SVG to load in Logi Reports
By Fahmi Rizaldi
Controlling disk usage on LOAD DATA error logging
By José Pereira
*.inc file For loop
By Michael Akselrod
Failure to compile *.inc with simple "If" statement
By Michael Akselrod
#Caché
#Ensemble
#InterSystems IRIS for Health
#HealthShare
#InterSystems IRIS BI (DeepSee)
#Health Connect
#Other
Discussions
October, 2025Month at a GlanceInterSystems Developer Community