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.
Hello Everyone,
The Certification Team of InterSystems Learning Services is in the process of developing two exams focused on using SQL in InterSystems IRIS and we need input from our InterSystems IRIS SQL community. Your input will be used to evaluate and establish the contents of the exam.
How do I provide my input? We will present you with a list of job tasks, and you will rate them on their importance as well as other factors.
How much effort is involved? It takes about 20-30 minutes to fill out each survey. You can be anonymous or identify yourself and ask us to get back to you.
Description
With InterSystems IRIS FHIR Server you can build a Strategy to customize the behavior of the server (see documentation for more details).

This repository contains a Python Strategy that can be used as a starting point to build your own Strategy in python.
This demo strategy provides the following features:
- Update the capability statement to remove the
Accountresource - Simulate a consent management system to allow or not access to the
Observationresource- If the User has sufficient rights, the
Observationresource is returned - Otherwise, the
Observationresource is not returned
- If the User has sufficient rights, the
Hi everyone,
This one had me breaking a sweat 😅
When a SOAP request has a %Stream.GlobalBinary property, it fails to serialize to base64 when stream is larger than ~43MB with
ERROR #6301: SAX XML Parser Error: <MAXSTRING>xeWrite+7^%occXMLInternal
Unless you enable the following parameters :
Parameter BASE64LINEBREAKS = 1;
Parameter USEPPGHANDLER = 1;The first one instructs %SOAP.
Idea sourced from InterSystems Ideas Portal

Previous Posts:
Using AI to Simplify Clinical Documents Storage, Retrieval, and Search
Doctor-Patient Conversations: AI-Powered Transcription and Summarization
Introduction
The healthcare industry is continuously evolving, and the need for efficient document management and patient data management is more critical than ever. In this article, we will focus on the specific aspects of integrating Google Docs and Google Sheets with FHIR data in the context of healthcare data interoperability.
This project is an experiment to use OpenAI API to answer to user prompts in the healthcare domain using FHIR resources and Python code.
Project idea
Generative AIs, like the LLM models available on OpenAI, has been demonstrated remarkable power to understand and answer high level questions. They use huge amounts of data to train their models, so they can answer complex questions.
They can even use programming languages to create code based on prompts - and I have to confess that the idea of getting my work automated causes me some anxiety.
InterSystems announces its fifth preview, as part of the developer preview program for the 2023.2 release. This release will include InterSystems IRIS and InterSystems IRIS for Health.
Highlights
Many updates and enhancements have been added in 2023.2 and there are also brand-new capabilities, such as Time-Aware Modeling, and enhancements of Foreign Tables (but still as an experimental feature). Note that some of these features or improvements may not be available in this current developer preview.
Another important topic is the removal of the Private Web Server (PWS) from the installers.
InterSystems FAQ rubric
The InterSystems ObjectScript language does not allow you to define methods of the same name with different arguments. It is generally classified as a programming language called a dynamic language.
In ObjectScript, you can freely control which arguments are used when executing a method, so unlike languages such as Java, which are not dynamic programming languages, there is no need to strictly distinguish methods by the number of arguments at the compilation stage.
Problem
In a fast-paced clinical environment, where quick decision-making is crucial, the lack of streamlined document storage and access systems poses several obstacles. While storage solutions for documents exist (e.g, FHIR), accessing and effectively searching for specific patient data within those documents meaningfully can be a significant challenge.
Motivation
AI has made document search remarkably powerful. Question and answering over docs has never been easier with open-source tools like Chroma and Langchain to store and use vector embeddings to query across Generative AI APIs.
.png)
As an AI language model, ChatGPT is capable of performing a variety of tasks like language translation, writing songs, answering research questions, and even generating computer code. With its impressive abilities, ChatGPT has quickly become a popular tool for various applications, from chatbots to content creation.
But despite its advanced capabilities, ChatGPT is not able to access your personal data. So in this article, I will demonstrate below steps to build custom ChatGPT AI by using LangChain Framework:
Hi all,
I am using ExecDirect() method to execute my SQL query which is something like "SELECT * from Account where AccountNumber = ? "
But when I am providing a accountnumber that don't exists it doesn't return anything as aspected. while I am trying to check resultset.%SQLCODE in this case it is giving me 0 not 100. What's wrong with my SQL query and Also I there any other Property through which I check for if my resultset is null or it has some values.
In show Query messages in the message viewer the head.%Id is always used. How do you do this via your own sql/objectscript as fast as the portal does a search as using dates searching Ens.MessageHeader on portal is slow.
For instance if you try do a search saying (TimeProcessed >='2023-06-01 00:00:00.000' and TimeProcessed <'2023-06-02 00:00:00.000') it is slow but using the portal the search would know this is head.%ID >= 5344549861 AND head.%ID <= 5347641372. How do you utilize this in your own queries as can't see the logic in EnsPortal.MsgFilter.Assistant
Hello Community!!
I just upload my lastest application "IRIS Api Tester" to the Open Exchange.
It's a docker project with InterSystems IRIS + Newman that will allow you to test your Postman Collections in a quick and easy way..
It's ready to work out of the box, you just have to clone the repo: https://github.com/daniel-aguilar-garcia/irisapitester
Run the docker-compose file:
.png)
Open this url in your browser:
ZPM is designed to work with applications and modules for InterSystems IRIS Data Platform. It consists of two components, the ZPN Client which is a CLI to manage modules, and The Registry which is a database of modules and meta-information. We can use ZPM to search, install, upgrade, remove and publish modules. With ZPM you can install ObjectScript classes, Frontend applications, Interoperability productions, IRIS BI solutions, IRIS Datasets or any files such as Embedded Python wheels.
Hello Community!
I'm going to try to explain how to create test for Postman collections for use it with my app IRIS Api Tester.
Yet, What is Newman?:
Newman is a command-line tool that allows you to run Postman collections in an automated and scalable way. By creating tests in Newman, you can ensure the reliability and correctness of your API endpoints. In this article, we will explore how to create tests for Newman in Postman, along with practical examples to help you get started.
InterSystems FAQ rubric
For volatile tables (tables with many INSERTs and DELETEs), storage for bitmap indexes can become inefficient over time.
For example, suppose that there are thousands of data with the following definition, and the operation of bulk deletion with TRUNCATE TABLE after being retained for a certain period of time is repeatedly performed.
Class MyWork.We are trying to come up with huge DataStore which needs to store HIPAA transactions and Data getting partitioned with idkey - YYYYMM. Current Live data get inserted into current Month DB - HIPAA_202306. 10 years (Hipaa retention policy) old data is going to be sitting in to 120 DBs ( 201606_HIPAA, 201607... 202305) for historical audit legal compliance purposes.
Currently if we create Namespace we get 2 databases - CODEDB for routes/classes & DATADB for journals data.
In our requirement, Global mapping should point to 120 DataDbs.
Hi All,
I was creating a unit test directory with the below script. But it not creating any directory as mentioned in code. I am working on MacBook with irisusr User as standard installation process.
if '$data(^UnitTestRoot) {
set mainFolder = "UnitTest\NewDir\"
set st = ##class(%File).CreateDirectoryChain(mainFolder _ testSuite)
if $$$ISOK(st) { set ^UnitTestRoot = mainFolder }
else {
write !, "UnitTestRoot folder could not be created. Consult with instructor."
do $system.Status.DisplayError(st)
}
}
Getting INVALID OREF error while unit testing. Also ResultDyanmicObj.Headers.%Size(),DummyResponse.Headers.%Size() these are working fine getting 7 value from both. but still it is not working.
do $$$AssertEquals(ResultDyanmicObj.Headers.%Size(),DummyResponse.Headers.%Size(), "Validation for Headers")
error - INVALID OREF>TestAccountSearchWithoutAccount+6
Hi All,
I want to write testcase in objectscript but stuck at this point where I am getting a DynamicObject from the class method and how can I assert this and check it is okay.
Also if in any case error It will throw error custom exception class that I created. How to handle assertion for exception in this case also.
A set of 14 interactive practice questions are now available for the InterSystems HL7® Interface Specialist Certification exam. These questions have all been developed by our subject matter experts. Feedback for these questions include documentation resources and online learning content.
If you're interested in taking our InterSystems HL7® Interface Specialist exam, we highly recommend these questions.
Hi community members!
I'm trying to deploy a container based on IRIS Community for Health ML image available from this url but when I start the container the memory consumption skyrockets to 99% making impossible to work with the instance (it never goes below the 95% of the memory). When I do the same with the IRIS Community for Health image it never goes over 80% of memory.
Is this a known problem? Should I try another version? Maybe have I just to sit down in a corner and cry like a baby?
Hello all,
I am creating a REST API with a spec-first approach. However, I am using the try-catch method to handle any exception if any occurs. But whenever any error related to syntax or something occurs, we get internal server error
{
"errors": [
{
"code": 6220,
"domain": "%ObjectErrors",
"error": "ERROR #6220: Internal Server Error",
"id": "InternalError"
}
],
"summary": "ERROR #6220: Internal Server Error"
}
This is I think IRIS defined, I want to customize my own Internal server error.
InterSystems FAQ rubric
Countermeasures against SQL injection have been published on various websites, but we believe that it is possible to prevent SQL injection in applications using InterSystems SQL as well as other RDBMS by implementing these countermeasures appropriately. In addition, InterSystems Data Platform (hereinafter referred to as IRIS) incorporates several measures that make SQL injection more difficult than general RDBMS.
InterSystems announces its fourth preview, as part of the developer preview program for the 2023.2 release. This release will include InterSystems IRIS and InterSystems IRIS for Health.
Highlights
Many updates and enhancements have been added in 2023.2 and there are also brand-new capabilities, such as Time-Aware Modeling, enhancements of Foreign Tables, and the ability to use Ready-Only Federated Tables. Note that some of these features or improvements may not be available in this current developer preview.
Course: Managing InterSystems Servers
When: July 10-14, 2023 9am to 5pm US Eastern Time (ET)
Where: In-person only at InterSystems Headquarters in Cambridge, MA.
Unable to run iris terminal as well as on management portal I am getting permission error.
ERROR in page definition:
Error #940: Insufficient privilege for operation
I already have created a User - irisusr and group - irisusr
if I am running sudo iris terminal IRIS command then it open terminal But earlier it was working fine.
Hey Developers,
Watch this video to learn how to leverage InterSystems IRIS Natural Language Processing to analyze patient portal messages and improve patient engagement:
⏯ Use Natural Language Processing to Drive Patient Engagement @ Global Summit 2022
Hi,
i got 2 server with iris instances on them:
srv1
irisinstance1 port 51773/52773
irisinstance2 port 51774/52774
srv2
irisinstance3 port 51773/52773
irisinstance4 port 51774/52774
Both of them have apps published on an external apache on port 443 and i would like to publish irisinstance1 and irisinstance2 on port 443 of srv2.
Something like https://srv2/mgmt1/csp/sys/UtilHome.csp and similar to mgmt2.
I've tried with proxypass without luck.
How can i do that? Is there a guide?
Thanks!
getting an error while installing git-source-control
Log of error
zpm "install git-source-control"
[TTN|git-source-control] Reload START (/Users/irisusr/mgr/.modules/TTN/git-source-control/2.2.0/)
[TTN|git-source-control] Reload SUCCESS
[git-source-control] Module object refreshed.
[TTN|git-source-control] Validate START
[TTN|git-source-control] Validate SUCCESS
[TTN|git-source-control] Compile START
[git-source-control] Compile FAILURE
ERROR! Error registering reference '^Studio.SourceControl.ChangeI("$Change")' for use by 'SourceControl.Git.Change.
.png)
