Announcement Sergio Farago · Sep 11, 2025

Hello everyone!

We won’t lie to you, we’re really looking forward to this webinar. Because of its topic, speaker, and everything we’ll learn from it. We invite you to this webinar in Spanish: “Connecting Sensors with InterSystems IRIS” on Thursday, October 2, at 4:00 PM (CEST).

       

0
0 85
Announcement Anastasia Dyubaylo · Sep 10, 2025

Hi Community,

We're super excited to start sharing with you the recordings from the recent Ready 2025. And, of course, we're going to begin with the most important session of all - the one about Developer Ecosystem, highlighting the latest resources and tools available to our developer community.. 

🤩 InterSystems Developer Ecosystem - New Resources and Tools You Need to Know @ Ready 2025

0
0 172
Question Touggourt · Sep 8, 2025

Hi, 
 

My understanding is that IRIS comes with Embedded Python in it, how can create a page using Python instead or Zen or CSP Pages?
maybe a small sample (like hello python page) to get the idea.
Thanks  

3
0 138
Article John Murray · Dec 18, 2024 1m read

A benefit of using Doxygenerate is that Doxygen does more than just HTML output. Tweak the Doxyfile that tells Doxygen what to do and you can easily create a PDF. Our example MARINA application yielded a 524-page PDF. Here's what page 94 looks like:

You can browse the whole file here.

In the screenshot above, notice how we only get details of the superclass that is part of the app (AuditHistory). The primary superclass, %Library.SerialObject, is shown faded and with no details of what BankDetails inherits from it.

With another tweak to the Doxyfile we can show full inheritance detail in a

1
1 330
Announcement Olga Zavrazhnova · Sep 4, 2025

August was an inspiring month for our Community 🙌

A huge thank you to all who joined the August Article Bounty 💙

Your contributions keep our knowledge base growing and make it easier for others to learn, solve problems, and get inspired.

Special shout-out to those who took the time to write brand-new articles and share their expertise (each received 5,000 points 🎉):

1
1 83
Question Scott Roth · Sep 10, 2025

New to using FDN, and the Form Wizard on learning.intersystems.com does not go into enough detail to help with my questions...

  1. Is there a way to control text size within the Form Definition?
  2. Is there a way to make Sections more of a Page based caching then, waiting for the entire page to load?
1
0 60
Discussion Rajesh Shirsagar · Sep 10, 2025

Hello Everyone,
I’m excited to join the InterSystems Developer Community, a place where IRIS, Caché, Ensemble, HealthShare, and all things InterSystems come alive through shared knowledge and collaboration.

A little about me,

  • I’m passionate about building efficient, integration-driven solutions, exploring ObjectScript, working with REST APIs, and diving into analytics tools like DeepSee and IntegratedML.
  • I’m here to learn from your real-world experiences, whether it’s tips on interoperability, performance tuning, or best practices across IRIS and HealthShare ecosystems.
  • I also look forwar
3
0 110
Article Yuri Marx · Jun 24, 2021 1m read

The healthcare technology market is in strong evolution. Gartner's wave chart for healthcare technologies demonstrates what these technologies are, very well reflected by healthcare.digital. I call this HealthTech See:

These technologies can use InterSystems technologies (ISC Health Tech), see:

Consent Management uses InterSystems Healthshare Stack to do MPI and consent management, see:

2
2 696
Question Jean Millette · Aug 14, 2025

Is there a better way (i.e., without string commands) to remove the fractions of seconds from a %Library.PosixTime value?

This works, but seems inefficient:

set posix = 1154669852181849976w##class(%Library.PosixTime).LogicalToTimeStamp(posix)
2025-05-2712:06:15.003set str = ##class(%Library.PosixTime).LogicalToTimeStamp(posix)
set stripped = $P(str,".",1)
w##class(%Library.PosixTime).TimeStampToLogical(stripped)
1154669852181846976set newposix = ##class(%Library.PosixTime).TimeStampToLogical(stripped)
w##class(%Library.PosixTime).LogicalToTimeStamp(newposix)
2025-05-2712:06:
9
0 176
Question Gigi La Course · Sep 9, 2025

I have a vendor that only wants results on patients that arrive to the ED via EMS/Ambulance.  The value I need for filtering is in the PV2;38. Some of the results requested do not allow the PV2 segment to be added to the schema in the EMR.  I was told that other orgs have used a lookup table that is populated with the PV1;19 value when an ADT messages that meets the criteria is sent in.  This table is then referenced in the business rule for the results that do not have PV2;38 and if Encounter number from result message exists on the Table, the result is sent.  Has anyone done this before?  

1
0 90
Article Victoria Castillo · Mar 19, 2024 5m read

I have been walking through this with a few team members and as such I thought there might be others out there who could use it, especially if you work with HL7 & Ensemble/HealthConnect/HealthShare and never venture out past the Interoperability section. 

First, I would like to establish that this is an extension of the already established documentation on importing and exporting SQL data found here: https://docs.intersystems.com/iris20241/csp/docbook/DocBook.UI.Page.cls?KEY=GSQL_impexp#GSQL_impexp_import

This tutorial will explicitly detail how to create, populate or update a Data LookUp Ta
















2
1 741
Announcement Vishal Pallerla · Sep 1, 2025

#InterSystems Demo Games entry


This demo introduces an AI-powered clinical decision support tool built on InterSystems IRIS. The use case addresses clinician burnout by unlocking the wisdom trapped in 30,000 unstructured clinical notes. We showcase IRIS's powerful vector search to perform hybrid (semantic + keyword) queries for complex diagnostic challenges. The highlight is our multi-modal Retrieval-Augmented Generation (RAG) assistant, which analyzes clinical video content in real-time to find similar past cases and synthesize evidence-based recommendations, transforming how clinicians access and utilize institutional knowledge.

🗣  Presenter: @Vishal Pallerla, Sales Architect, InterSystems

1
0 108
Question Scott Roth · Sep 8, 2025

We currently have Business Operation that we built to use the EnsLib.SQL.OutboundAdapter so we can make Microsoft SQL Server Stored Procedure calls. The BO is attached to a Java Gateway Service.

Some of our MS SQL Databases have moved from being OnPrem to Azure Cloud. We have started seeing where we are receiving errors on the BO saying that we cannot connect to the Azure Database, but we never receive a Disconnect from the Azure Database.

Once this happens it seems that the Java Gateway still thinks the connection is opened, and we have to Stop/Start the Java Gateway to get the connection t

2
0 76
Question Eyal Levin · Sep 8, 2025

Hi Everyone,

So after @Ariel Glikman posted a custom operation example, I'm stuck on another dilemma, and here it is:

  1. I might have different patients with the same business identifier
  2. Each patient (logical) might have several resources like Observations, Conditions and Tasks (there are other type but they are not part of the issue)
  3. Tasks are a representation of something called "Morbidity", it's a presumed illness but not a validated condition
    1. Tasks are created according to observations and/or conditions and the task hold a reference to those resources
    2. A resource such as Observation
2
0 78
Question Kurro Lopez · Sep 5, 2025

Hello community.

I have a request from a client who wants to do the following.
Currently, they have a data upload process via FTP in which they have implemented a RecordMap to store the information of the CSV files that are uploaded to the FTP directory.
Now they want to have another directory so that it is ONLY executed through an external instruction, not when the file is uploaded to the directory.

Is it possible to create a process that reads the FTP directory on demand? That is, ONLY executes the EnsLib.FTP.InboundAdapter service when we tell it to.
There would be no problem creating an API

3
0 105
Question Touggourt · Sep 3, 2025

Hi

I'm a newbie in productions and I've received the below business operation from a client that I need to include in a production,

So not sure if I'm supposed to create a new Business operation with a new name and select the class as below but then what's next and what should be the output type in X12 tab or if it should be type SCOSwarm.Message.SX3ScheduleResponse?

Or should I be ignoring this class for now, create a new business operation called SCOSwarm.Operation.SX3ScheduleOp copy the code across ...etc but how can I include EnsLib.NullAdapter ?  

Thanks

2
0 84
Announcement Anastasia Dyubaylo · May 20, 2025

Hi Community,

We’ve got something exciting for you — it’s time for a new demo video contest, and this time, you’re in the judge’s seat!

📺 Demo Games for InterSystems Sales Engineers 📺

For this contest, InterSystems Sales Engineers from around the world submitted short demo videos showcasing unique use cases, smart solutions, and powerful capabilities of InterSystems technologies.

Now it’s your turn! We’re opening up voting to the entire Developer Community. Your insight and perspective as developers make you the perfect experts.

3
0 536
Question David Saunders · Sep 4, 2025

Given the code below, I need help with getting the collected column widths from the Demo.Configuration table and stored in the columnWidths zne page property. As I understand it, I should be able to retrieve it using zenPage.columnWidths in the setColumnWidths or dgRender clientMethods but the alert is showing that it cannot be retrieved as it shows a value of Null. Once I can retrieve those values, then I want to set the widths of the colmns of the dynaGrid according to the values in the ^Demo.Configuration table. The data pulled in from the CSV file that creates ^Demo.Import can have a diffe

































2
0 69
Article Derek Gervais · Sep 8, 2025 3m read

Hey folks! Having recently onboarded to InterSystems, I realized that despite having a totally free and awesome Community Edition, it's not super clear how to get it. I decided to write up a guide highlighting all the different ways you can access the Community Edition of InterSystems IRIS:

Get InterSystems IRIS Community Edition as a Container

Working with a containerized instance of the Community Edition is the recommended approach for folks who are new to developing on InterSystems IRIS, and in my opinion it's the most straightforward. InterSystems IRIS Community Edition can be found on DockerHub; if you have an InterSystems SSO account, you can also find it in the InterSystems Container Registry.

In either case, you'll want to pull the image you want using the docker CLI:

docker pull intersystems/iris-community:latest-em
// or
docker pull containers.intersystems.com/intersystems/iris-community:latest-em

Next, you'll need to start the container: In order to interact with IRIS from outside the container (for example, to use the management portal) you'll need to publish some ports. The following command will run the IRIS Community Edition container with the superserver and web server ports published; note that you can't have anything else running that depends on ports 1972 or 52773!

docker run --name iris -d --publish 1972:1972 --publish 52773:52773 intersystems/iris-community:latest-em
0
2 358
Article Megumi Kakechi · Dec 5, 2024 1m read

InterSystems FAQ rubric

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.

Class User.Test
{

ClassMethod ExceptionTest()
 {
    try
    {
      // : some codesif (Stcount<1) {
          throw##class(%Exception.General).%New("User-defined error", "5001", "location", "Data at location error")
          // User-created errors are 5001 and above
      }
    }
    catch ex
    {
      write"Errors #", ex.Code, ": ", ex.Name, " : ", e
1
2 535
Article Ashok Kumar T · Sep 8, 2025 19m read

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:

  • Resource Repository – IRIS Native FHIR server can effortlessly store the FHIR bundles/resources directly in the FHIR repository.
  • FHIR Facade - the FHIR facade layer is a software architecture pattern used to expose a FHIR-compliant API on top of an existing one (often non-FHIR). It also streamlines the healthcare data system, including an electronic health record (EHR), legacy database, or HL7 v2 message store, without requiring the migration of all data into a FHIR-native system.

What is FHIR?

Fast Healthcare Interoperability Resources (FHIR) is a standardized framework created by HL7 International to facilitate the exchange of healthcare data in a flexible, developer-friendly, and modern way. It leverages contemporary web technologies to ensure seamless integration and communication across various healthcare systems.

0
3 369
Question Fiona Griffiths · Mar 11, 2025

Hi

I'm trying to assess whether git-source-control will work for our development environment.  I've watched some videos and read the documentation and read some posts and I'm still unsure whether it works with multiple developers using a shared remote development environment (i.e. namespace).  This [Video] Let InterSystems IRIS Do the Work: Git Source Control & Linting says that you can have multiple developers and says it's "Package Manager-aware (supporting multiple repos in one namespace)" whereas  this post on the git-source-control github Remote development and multiple users · Issue #61

3
0 239
Article Andre Ribera · Nov 15, 2024 2m read

I have a large tree outside my window. Here in Phoenix, Arizona, USA it's still warm and sunny so our plants are still covered in lush foliage despite so many other places in the full throws of Autumn. My desk is oriented such that I can look out at the tree throughout the day. Part of the reason I like having my desk facing the tree is because I need the break from staring at the computer screens but the other reason is because I need reminders from nature from time to time.
Today I'm reminded of two things:

  1. Growth requires absorbing from your environment
  2. Growth doesn't always happen in th
2
6 438
Question Scott Roth · Aug 4, 2025

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...

{"query":SELECT ID, Abbr, Name, ExternalName, PhoneNumber, ApptPhone, FaxNumber, Addre
15
1 237
Article Ariel Glikman · Sep 7, 2025 1m read

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.

0
0 69