Hi Everyone,
So after @Ariel Glikman posted a custom operation example, I'm stuck on another dilemma, and here it is:
InterSystems IRIS for Health™ is the world’s first and only data platform engineered specifically for the rapid development of healthcare applications to manage the world’s most critical data. It includes powerful out-of-the-box features: transaction processing and analytics, an extensible healthcare data model, FHIR-based solution development, support for healthcare interoperability standards, and more. All enabling developers to realize value and build breakthrough applications, fast. Learn more.
Hi Everyone,
So after @Ariel Glikman posted a custom operation example, I'm stuck on another dilemma, and here it is:
If you want to raise an arbitrary custom error in a TRY block, you can pass an exception with a throw as follows. In the following example, a custom error is raised if Stcount is less than 1.
FHIR Server
A FHIR Server is a software application that implements the FHIR (Fast Healthcare Interoperability Resources) standard, enabling healthcare systems to store, access, exchange, and manage healthcare data in a standardized manner.
Intersystems IRIS can store and retrieve the following FHIR resources:
I am trying to help another group within our organization access a SQL Table that I have created to populate Epic Department Data within our environment and came across the ability to use SQL Seach REST Interface using iKnow.
However, I am having issues trying to get it to work via POSTMAN before I hand off the solution...
the POST URL... https://<servername>/api/iKnow/latest/TESTCLIN/table/osuwmc_Epic_Clarity.DepartmentMaster/search
where osuwmc_Epic_Clarity.DepartmentMaster is the table
In the body...
Often times when working with FHIR data, for example with IRIS For Health, you'll find it useful to create a custom FHIR operation. The FHIR Standard comes with a set of defined operations (such as $everything) but a custom operation comes in handy when you need to create some extra functionality that goes beyond the set of standard FHIR operations. The docs take you step-by-step (though this comment may be helpful to those of you just getting started). One thing I would highlight, purely for aesthetic purposes, is how to syntactically name your function such that you can call it with hyphens.
We have a task that runs objectscript code to load data into a linked external table. After upgrading from 2024.1 to 2025.1, the load is throwing an error, with error code -400, and no error message. The data DOES get loaded into the external table in its entirety, so with no meaningful error message, its hard to determine what the issue is. The result is the same with and without the USING clause, so don't let that confuse you. We have logs of this statement succeeding before upgrade, and were able to get this statement to work in our production environment, which is still on version
Mirroring only synchronizes database files.
To synchronize other files required for your application (CSP files, images, documents, etc.) between the two servers that make up the mirror set follow one of the approaches:
..Contains(source.{ORCgrp(x1).OBRuniongrp.NTEi2(x2):Comment(x3)},"(")&&..Matches(source.{ORCgrp(x1).OBRuniongrp.NTEi2(x2):Comment(x3)},"^[A-Z][0-9][0-9]$")
I want to do this to match strings such as X98. Community AI tells me this is correct but I get an error in testing. Specifically, this is the part causing the error;
..Matches(source.{ORCgrp(x1).OBRuniongrp.NTEi2(x2):Comment(x3)},"^[A-Z][0-9][0-9]$")
.png)
What do I need to change?
InterSystems FAQ rubric
In InterSystems IRIS, you can create linked tables using commands, instead of using System Explorer > SQL > Wizard > Linked Tables in the Management Portal:
To create a linked table, use the CreateLinkedTable method of the %SYSTEM.SQL.Schema class. See the class reference for details.
To execute it, follow these steps:
I created a Custom Search Table that extends EnsLib.HL7.Search Table. I saved, compiled, and rebuilt the index however when I go into Message Search to try to use the Search Table, within the conditions the proper fields are not showing up that was defined. It is showing the fields from EnsLib.HL7.SearchTable. I did a build index on both EnsLib.HL7.SearchTable and OSU.HL7.SearchTable.
#InterSystems Demo Games entry
Managed Cloud Solutions to Help Streamline Your Health Services.
This demo showcases composing several InterSystems Managed Cloud Services to solve various use-cases.
The video is actually built of 6 short chapters (each ~2.5 minutes long) showing each part of the story, demoing a different service.
You can watch each "chapter" individually if you're interested in a specific service, but there is value in viewing the whole composition and observing the full flow.
#InterSystems Demo Games entry
Shows how IRIS for Health can supercharge AI development with a Smart Data Fabric to train and feed their AI Models.
Presenters:
🗣 @Kevin Kindschuh, Senior Sales Engineer, InterSystems
🗣 @Jeffrey Semmens, Sales Engineer, InterSystems
InterSystems IRIS interoperability production development involves using or writing various types of components. They include services (which handle incoming data), processes (which deal with the data flow and logic), and operations (which manage outgoing data or requests). Messages flowing through those components constantly require being adapted to consuming applications. Therefore,Data transformations are by far the most common component in interoperability productions.
I had a need for a Filter, but did not want to recreate the wheel by creating another Data Lookup Table, so instead I created a Linked Table that points to a MS SQL Table outside of IRIS.
Once I had the Linked Table, I created a Class Method Function that would query the Linked Table and return a 1 if a result came back.
InterSystems FAQ rubric
There is data, such as execution log data, that you do not want to return to its previous state even if a rollback occurs during a transaction. The above requirement can be met by placing that data in the IRISTEMP database, which will not be rolled back.
Temporary Globals and the IRISTEMP Database
By mapping the table entities you do not want to roll back to this database, you can retain the information after the rollback.
IAM - InterSystems API Manager is a great tool for monitoring your traffic. If you are trying to use it in your Kubernetes cluster you may have tried doing a deployment similar to this one:
Hi,
I need a custom operation on patient type that will receive a business identifier and will search them and for each paient it will return a $everything for all the found patients written with object script
I have a need to create a specific Search Table outside of the EnsLib.HL7.SearchTable specifically for HL7 MFN messages in HealthShare Provider Directory.
Our Code is created in a different namespace then the main HSPD namespace and is mapped within the HSPD namespace mapping.
I created a copy of EnsLib.HL7.SearchTable, named OSU.HL7.SearchTable what all needs mapped to make this new search table available in HSPD namespace?
If I go to Global within the Custom Code Namespace, I cannot see my new Search Table being created.
Developing with InterSystems Objects and SQL – In PersonSeptember 15-19, 2025
Interoperability on Python (IoP) is a proof-of-concept project designed to showcase the power of the InterSystems IRIS Interoperability Framework when combined with a Python-first approach.IoP leverages Embedded Python (a feature of InterSystems IRIS) to enable developers to write interoperability components in Python, which can seamlessly integrate with the robust IRIS platform. This guide has been crafted for beginners and provides a comprehensive introduction to IoP, its setup, and practical steps to create your first interoperability component. By the end of this article, you will get a
.png)
While starting with Intersystems IRIS or Cache, developers often encounter three core concepts: Dynamic Objects, Globals & Relational Table. Each has its role in building scalable and maintainable solutions. In this article, we'll walk through practical code examples, highlight best practices, and show how these concepts tie together.
1. Working with Dynamic Objects:
Dynamic objects (%DynamicObject and %DynamicArray) allow developers to manipulate JSON-like structures directly in Objectscript. They are especially useful for modern applications that need to parse, transform or generate JSON.
Using a WSDL and the SOAP wizard I created a WebServiceClient, and Operation to send an encoded message to a Vendor. But the vendor is now sending back an HL7 in the SOAP response.
I tried updating the Operation to Extend EnsLib.HL7.Operation.ReplyStandard, but still use the EnsLib.SOAP.OutboundAdapter. When I did this it broke my Operation and would not compile with the following error...
This article outlines the process of utilizing the renowned Jaeger solution for tracing InterSystems IRIS applications. Jaeger is an open-source product for tracking and identifying issues, especially in distributed and microservices environments. This tracing backend that emerged at Uber in 2015 was inspired by Google's Dapper and Twitter's OpenZipkin. It later joined the Cloud Native Computing Foundation (CNCF) as an incubating project in 2017, achieving graduated status in 2019. This guide will demonstrate how to operate the containerized Jaeger solution integrated with IRIS.
What's in a name? That which we call a rose
By any other name would smell as sweet
William Shakespeare, "Romeo & Juliet"
In this article, we will describe a set of naming conventions for ObjectScript code.