What are the best practices for choosing a shard key in InterSystems IRIS to ensure long-term scalability without needing major refactoring later?
Hey Community,
Enjoy the new video on InterSystems Developers YouTube:
Hi, Community!
🔥Does your organization work with HL7® FHIR® resources and need training, now or in the future?
Learning Services is exploring whether to create a new instructor-led course on FHIR support in InterSystems IRIS® for Health and HealthShare® Health Connect.
If you’re involved in approving or recommending training for your team, we’d love your input! Please take a few minutes to complete this short survey.
Your feedback will help us understand both current and future demand so we can build training that supports your needs.
Thanks in advance for sharing your perspective!
hi everyone
we are migrating a legacy script that uploads the files to a SharePoint site through webdav to Health Connect engine.
I wonder if anyone has ever done that, if yes, what did you do to achieve this?
thanks in advance,
Frank
One of the most common kinds of integration we are asked to do is emailing. One of the most typical email services our customers use is Microsoft’s Office 365. After setting up the right configuration on the Microsoft side, we can email from IRIS with two HTTP requests. By the end of this article, we will be able to send an email with an attachment through our Microsoft 365 service!
Microsoft’s REST API, called Graph, allows you to do a lot of things within Microsoft’s various apps, and it is precisely what we will employ to send our email.
Hello Community
The InitialExpression keyword values does not to set default values for properties in classes that extend %CSP.Page, unlike in other class types such as %Persistent or %RegisteredObject, where it works as expected during object instantiation (typically via %New()).
- Is %CSP.Page instantiated using %New() under the hood, or does it use a different initialization mechanism?
- Are there specific limitations or behaviors in CSP pages that prevent InitialExpression from working as expected?
Thank you!
I still remember the very first code I wrote in Object Script
Coming from Python, it felt so strange at first, but over time I started to see why the language was built the way it is.
If you’re just starting out, keep in mind that ObjectScript might feel a bit niche and mostly tied to IRIS products, but the way you work with it can really pay off - fast development, a powerful database, and a solid platform to learn on.
Sometimes it feels like you’ve stepped into a world that’s both familiar and different.
If one of your packages on OEX receives a review you get notified by OEX only of YOUR own package.
The rating reflects the experience of the reviewer with the status found at the time of review.
It is kind of a snapshot and might have changed meanwhile.
Reviews by other members of the community are marked by * in the last column.
I also placed a bunch of Pull Requests on GitHub when I found a problem I could fix.
Some were accepted and merged, and some were just ignored.
So if you made a major change and expect a changed review, just let me know.
Hey Community,
The InterSystems team recently held another monthly Developer Meetup in the AWS Boston office location in the Seaport, breaking our all-time attendance record with over 80 attendees! This meetup was our second time being hosted by our friends at AWS, and the venue was packed with folks excited to learn from our awesome speakers.
The topic of the August meetup was Agentic Orchestration & Multi-LLM Systems, and our speakers brought some amazing demos: First, @Nicholai.
Hi,
Just thought I'd share quite a handy hook that has helped me out when developing on Health Connect Cloud with VS Code and GitBash. When developing on Health Connect Cloud, if changes are made directly on the server such as routing rules or component deployments, they aren't automatically included in source control, therefore you must export from the server into your local files and push to your remote repo. I'm sure there are easier methods to deal with that which I'm in the process of testing, but as a quick solution I thought it would be handy have a pre-commit hook which triggers a reminder in GitBash - see below.
.png)
Background
For a variety of reasons, users may wish to mount a persistent volume on two or more pods spanning multiple availability zones. One such use case is to make data stored outside of IRIS available to both mirror members in case of failover.
Hi Community,
We're excited to share the new video in the "Rarified Air" series on our InterSystems Developers YouTube:
⏯ Leading with Empathy: The Human Side of Customer Centricity
.png)
Vanna.AI - Personalized AI InterSystems OMOP Agent
.png)
Along this OMOP Journey, from the OHDSI book to Achilles, you can begin to understand the power of the OMOP Common Data Model when you see the mix of well written R and SQL deriving results for large scale analytics that are shareable across organizations. I however do not have a third normal form brain and about a month ago on the Journey we employed Databricks Genie to generate sql for us utilizing InterSystems OMOP and Python interoperability.
The utility returns the desired values from the text and display the multiple values if exists based on starting and ending string.
{
/// W !,##class(Test.Utility.FunctionSet).
Building a Sensor Data Demo with Spring Boot and InterSystems IRIS
In the era of IoT and connected devices, sensor data is everywhere—tracking temperature in logistics, monitoring equipment performance, or recording environmental conditions. But capturing, storing, and analyzing this data in real time requires more than just hardware sensors.
It’s a practical example that combines Spring Boot, InterSystems IRIS, and a simple sensor simulation script to show how sensor data can flow from generation to storage and alerting.
Finishing my previous example for multiple IRIS instances, I tried
to compose a local single instance version. The step from the external
Python app to a version using embedded Python seemed to be obvious.
This was a wrong assumption, as some Python libraries just refused installation
into my local Windows-based environment.
In Studio, is it possible to call a dialog with a single input text field inside a custom Studio.Extension.Base.CheckIn method?
Update: The AI Bot just answered, not sure why it was at loss before I posted.
In this tutorial, I will discuss how can you connect your IRIS data platform to sql server db .
Prereq:
- Have ODBC driver installed in your device. You can download it from here: Download ODBC Driver for SQL Server - ODBC Driver for SQL Server | Microsoft Learn.
- Have SQL Server and IRIS installed in your device
- Have SQL Server connection Authentication enabled in SQL server
Hi all,
I needed to pick up the username from a set of credentials configured for a business operation in an interop production, and it turned out to take a few steps, so I'm sharing my method here, in the dual hope that someone has an easier way to do it, or failing that, that it is useful to someone.
Best,
Otto
/// Fetch the user name from the credentials configured for a production item.
/// Parameters:
/// productionName - The name of the production where the config iterm lives.
/// configItemName - The name of the config item that holds the credential setting.
Hi Community!
Welcome to Issue #25 of the InterSystems Ideas newsletter! Let's look at the latest news from the Ideas Portal, such as:
✓ General Statistics
✓ Recently added Community Opportunity ideas
.png)
InterSystems FAQ rubric
One way to optimize query performance is to use query parallelism on a per-query or system-wide basis (a standard feature).
This is a technique for dividing the execution of a particular query among processors on a multi-processor system. The query optimizer will execute parallel processing only if there is a possibility of benefiting from parallel processing. Parallel processing is only applicable to SELECT statements.
Note that the number of parallel processes cannot be specified, as it is automatically adjusted according to the number of CPUs.
Our vendor is developing an interface API on their end to capture HL7 data on a Server Port, and they require us to send a pre-defined HL7 Order message for testing every hour until the API is completely operational.
Is it possible to accomplish that in a Business Operation automatically without utilizing a service or process? The BO is a standard TCP/IP connection.
I'm manually sending the message again from the Operations right now. I do not have access to the System Operation to use the Task Manager feature.
Background
For a variety of reasons, users may wish to mount a persistent volume on two or more pods spanning multiple availability zones. One such use case is to make data stored outside of IRIS available to both mirror members in case of failover.
Hi,
My understanding that in IRIS we create an Inbound Adapter that would act like a Broker (connecting to server X) then have an MQTT outbound adapter to receive those messages?
Is there a quick sample that we could user to show how to setup these two Adapters, I started with this but I couldn’t for example find EnsLib.MQTT.Adapter.Inbound

and I guess here where I can set Server X IP & port


Not familiar with MQTT, I appreciate if you could take through how to setup a MQTT inbound & outbound adaptes ?
Thanks
Hi Community!
🍂 Autumn Rewards Are Here on Global Masters!
Step into the season with our fresh new rewards - it’s the perfect time to explore the Rewards section and claim your favorites!
Remember, prize availability varies by region, so be sure to check what’s on offer for your location.
Don’t miss out on these seasonal treats!

Not a Global Masters member yet? Join here using your InterSystems SSO credentials.
I am working on a tool that configures an instance to use a common default routine database across all custom Namespaces. For instances that already have distinct default routine databases for their Namespaces, this would involve a step of merging over all code from the current default routine databases to the new "super" routine database. This should be done in such a way that only merges contents in the default routine database (not mapped databases) and is able to detect/exclude contents that already exist in the target database.
Securing IRIS Integrations with Mutual TLS (mTLS): A Practical Guide
In today’s enterprise environments, secure communication between systems is not optional—it’s essential. Whether you're integrating InterSystems IRIS with cloud APIs, internal microservices, or third-party platforms, Mutual TLS (mTLS) offers a powerful way to ensure both ends of the connection are authenticated and encrypted.
This post walks through how to configure IRIS for mTLS and how to validate your certificates to avoid common pitfalls.
🔐 What is Mutual TLS (mTLS)?
- Building and Managing HL7 Integrations – In Person October 20-24, 2025 9:00am-5:00pm EDT
- Build, configure, and manage HL7® V2 interfaces using InterSystems integration technologies.
- This healthcare-focused 5-day course teaches implementation partners, integrators and analysts how to rapidly build HL7 integration solutions.
- Students build a production that processes and routes HL7 messages.
- Students learn how to work with the pre-built HL7 business services, business processes and business operations to receive and send HL7 messages.
Following on from JediSoft’s announcement of the general availability of JediSoft IRISsync®, I wanted to show how it can help prevent configuration drift and ensure your failover is always ready.
When managing InterSystems IRIS production servers, even a minor configuration change can cause significant issues if it’s not replicated in your mirror environments. Often, these differences go unnoticed until your failover environment breaks.
This common, but critical, problem can lead to unexpected downtime at a vital moment and impact your business continuity.
Hello to all my fellow Cache Developers/Experts out there :)
The purpose of this post is to get input/feedback regarding an issue we are having with our Cache LIS web-based application not being able to remove locks that were taken under a separate process.
.png)

