The August Article Bounty on the Global Masters article caught my attention, and one of the proposed topics sounded quite interesting in regard to its future use in my teaching. So, here's what I'd like to tell my students about tables in IRIS and how they correlate with the object model.

First of all, InterSystems IRIS boasts a unified data model. This means that when you work with data, you are not locked into a single paradigm. The same data can be accessed and manipulated as a traditional SQL table, as a native object, or even as a multidimensional array (a global). It means that when you create an SQL table, IRIS automatically creates a corresponding object class. When you define an object class, IRIS automatically makes it available as an SQL table. The data itself is stored only once in IRIS's efficient multidimensional storage engine. The SQL engine and the object engine are simply different "lenses" to view and work with the same data.

First, let's look at the correlation between the relational model and the object model:

Relational Object
Table Class
Column Property
Row Object
Primary key Object Identifier

It's not always a 1:1 correlation, as you may have several tables represent one class, for example. But it's a general rule of thumb.

5 7
2 107

Over the years, I’ve noticed that certain SQL questions come up repeatedly on the InterSystems Developer Community, especially about using the LIKE predicate in different contexts. Common variations include:

and many more derivatives. So, I decided to write an article that focuses on how LIKE works in InterSystems IRIS SQL, especially when used with variables in Embedded SQL, Dynamic SQL, and Class Queries, while touching on pattern escaping and special character searches.

First of all, I'd like to mention that InterSystems IRIS SQL offers most of the capabilities available in other relational DBMS that implement a later version of the SQL standard. But at the same time, it's important to mention that apart from relational access, in IRIS you can also use other models to get the same data, for example, object or document models.

On this note, let's look at the LIKE predicate and how this tool is used in SQL for pattern matching.

14 2
4 219

Dynamic Entities (objects and arrays) in IRIS are incredibly useful in situations where you are having to transform JSON data into an Object Model for storage to the database, such as in REST API endpoints hosted within IRIS. This is because these dynamic objects and arrays can easily serve as a point of conversion from one data structure to the other.

Dynamic Objects

Dynamic Objects are very similar to the standard ObjectScript object model you get when you create a new instance of a class object, but with some key differences:

3 1
2 87

Hi everyone,

I am trying to create a treeMapChart in IRIS BI that will then be displayed on my DeepSeeWeb dashboard. In the IRIS BI User Portal, this is an example of what my treeMapChart looks like:

I know there is a huge amount of rectangles in this graphic - I care most about the common components (the largest boxes) but I still want all of the boxes to show. However, it projects to my DeepSeeWeb dashboard as the following:

2 7
0 73

#InterSystems Demo Games entry


⏯️ Data Transformation Adventures with InterSystems IRIS

Navigating interoperability and healthcare can be an exciting adventure. In this demo, we will show you how InterSystems IRIS can be the perfect tool to get data - wherever it may lie, in whatever format, into a format of your choice, including FHIR! Once that is done, analytics is a piece of cake with the FHIR SQL Builder and Deep See Web. Let the questing begin!

Presenters:
🗣 @Kate Lau, Sales Engineer, InterSystems
🗣 @Merlin Wijaya, Sales Engineer, InterSystems
🗣 @Martyn Lee, Sales Engineer, InterSystems
🗣 @Bryan Hoon, Sales Engineer, InterSystems

https://www.youtube.com/embed/fuR6OLU1oks
[This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]

17 0
0 35

For example, you start debugging the AAA function, which calls the BBB function, then goes to the CCC^ABC function in a different routine and ends up while executing XXX^XYZ. No other routines or functions are visited in this example. What I would like is to get the record of AAA -> BBB -> CCC^ABC -> XXX^XYZ. No marking each function with recording code should be involved: too time consuming, too many functions in real code.

UPD: Iris has built in %SYS.Trace for this purpose but this class is apparently absent in Cache 2017. Did not find any substitutes yet.

2 15
0 119

#InterSystems Demo Games entry


⏯️ Auto-scaling made easy in GKE with InterSystems Kubernetes Operator (IKO)

Kubernetes horizontal pod auto-scaling (HPA) is the key to handle the unpredictable compute workload in healthcare systems. IKO helps orchestrating the IRIS container deployment in Kubernetes including the capability to configure HPA. This demo uses XSLT processing as an example to showcase this type of elasticity.

🗣 Presenter: @Simon Sha, Sales Architect, InterSystems

https://www.youtube.com/embed/npCs5_yX_xg
[This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]

8 0
0 36

This great article sparked some recent private discussion, and I'd like to share some of my own thoughts from it.

The motivating concern boils down to: Why do we need coding rules or conventions at all? What happened to the wonderful era of the Renaissance artist-programmer forging their own path, prior to being supplanted by the craftsman and now (even worse) by AI?

8 1
1 93

Hi, Community!

Need to connect your .NET application to InterSystems IRIS® data platform? See how Entity Framework Core can help:

Using Entity Framework Core with InterSystems IRIS

https://www.youtube.com/embed/7VGfcCkO_-Q?utm_source=youtube&utm_medium=social&utm_campaign=7VGfcCkO_-Q
[This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]

0 0
1 45

I have a custom Buffer class which is designed to capture written/printed statements to the device, to be able to transform the captured text to string or stream type. I have used this in ObjectScript to capture ObjectScript write statements and return a string. I would like to try to use this with a [ Language = python ] method as follows. This class will be called by a scheduled task.

2 4
0 69

It appears as though command history is not available via up/down arrow keyboard keys when using the SQL Shell. Is there anything in the works to change that?

Also, typing the colon character (:) as the first character after the prompt in Terminal Lite does odd things in 2025.1.1 ... every keystroke starting with the colon is echoed back and pressing Enter generates an error:

0 1
0 64

IrisTest is a light weight, powerful, user-friendly tool designed to simplify unit test report generation. It includes an interactive shell and API to facilitate communication, allowing developers to easily manage and generate reports for their test runs in various formats. Whether you're debugging or creating detailed reports for analysis, IrisTest makes the process smooth and efficient!

1 0
0 45

https://www.youtube.com/embed/v61csTb0i-0
[This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]

If you like what you see please support this in the Developer Tools 2025 contest. Voting closes at midnight EDT on Sunday 3rd.

3 1
0 44

Working in healthcare IT as a young developer, especially on InterSystems TrakCare, you quickly realize one thing: it’s not just about HL7 messages or backend integrations. A huge part of making TrakCare work smoothly for hospitals comes down to how it’s configured, customized, and supported on the application side.

2 1
2 61