· Aug 8, 2022 24m read

Learning InterSystems by Developer Community Articles

In this article you will have access to the curated base of articles from the InterSystems Developer Community of the most relevant topics to learning InterSystems IRIS. Find top published articles ranked by Machine Learning, Embedded Python, JSON, API and REST Applications, Manage and Configure InterSystems Environments, Docker and Cloud, VSCode, SQL, Analytics/BI, Globals, Security, DevOps, Interoperability, Native API. Learn and Enjoy!


Machine Learning

Machine Learning is a mandatory technology to build advanced data analysis and automate manual activities with excellent efficiency. It creates cognitive models that learn from the existing data, and perform predictions, probability calculations, classifications, identifications, and automation of "non-creative" human activities based on its self-adjusted algorithms.

In all scenarios, InterSystems IRIS acts as a data platform and environment for creating, executing, making available, and using these machine learning models. IRIS enables the use of ML from SQL commands (IntegratedML), execution of ML using Embedded Python and PMML(Predictive Model Markup Language). You can check how it functions in the following articles:




IntegratedML hands-on lab

Practical Overview to IntegratedML

AI Robotization with InterSystems IRIS Data Platform

AI on IRIS productions

Web App to Predict Diabetes using IRIS IntegratedML

IntegratedML sample

Predict Maternal Health Risks

IntegratedML sample

Using Machine Learning to Organize the Community – 1

Using Python ML libraries


ObjectScript language

ObjectScript is InterSystems' official programming language. It is easy, flexible, and very powerful in creating backend, integration, and analytics applications. Consult the following articles for more information:




InterSystems ObjectScript 101++ (EN)

Video series to learn ObjectScript

On $Sequence function

Create sequences of numbers

Writing better-performing loops in Caché ObjectScript

Do loops

Data anonymization, introducing iris-Disguise

Learn how to do customizations on ObjectScript persistent classes and properties

ObjectScript error handling snippets

Exception handling

Traditional Debugging in ObjectScript

Debug techniques

Using Regular Expressions in Caché

Work with Regular Expressions

Robust Error Handling and Cleanup in ObjectScript

Write code with quality

SPOOL - the forgotten device

Using Spool

How we learned to stop worrying and love InterSystems Ensemble

Processing JSON on Productions

A more useFull Object Dump

Dumping objects

Logging using macros in InterSystems IRIS

Logging using macros

SYSLOG - what it really is and what it means

Debug information on Syslog

Tips for debugging with %Status

Debug using %Status

Making the most of $Query

Looking for data using $Query

Multidimensional Property Persistence - Part 1 (Classic)

Multidimensional persistent properties

The adopted Bitmap

Bitmap indexes

How to become a time lord - The birth

Date and Time API

Importance and Collection of Exact Version Information ($zv / $zversion)

Get IRIS version

Date before Dec.1840 ? Negative $H(orolog) ?

Negative Dates

Creating a Custom Index Type in Caché

Creating custom indexes

$LIST string format and %DynamicArray and %DynamicObject classes

Using $LIST, Dynamic Object, and Dynamic Arrays

SQL for ^ERROR Global

Use SQL to see Error content

Add a default setting value by code

Setting default values

Iterate over dynamic object

Use Iterate

Listing all of the properties in a class (and why I love ObjectScript)

ObjectScript properties iteration

Try catch block I usually use in InterSystems ObjectScript

Try Catch handling

Running shell commands in ObjectScript

Run shell commands

Embedded Python

Python is one of the most popular and commonly used programming languages in the world ( InterSystems IRIS is a data platform open to all main programming languages. However, speaking about Python, this amazing language and its libraries are available for use everywhere in IRIS: in classes, SQL, and integrations/productions. For those who do not know or do not want to know ObjectScript (InterSystems programming language), it's a great option. See the following articles on how to do this:




Let's fight against the machines

Build a tic tac toe game using Embedded Python

InterSystems IRIS 2021.2+ Python Examples (Embedded, Native APIs and Notebooks)

See Python and IRIS on some Python notebooks

WebSocket Client with embedded Python

Custom Socket sample

IRIS Python Native API in AWS Lambda

Python on AWS

How I added ObjectScript to Jupyter Notebooks

IRIS on notebooks

Welcome Django

Create Python Django apps with IRIS as a database

Geocoding with IRIS and Google Maps API

Using Geocoding python library

REST Service for Convert text to audio using IRIS and Python gTTS

Python sample using gTTS

Building IRIS Responsive dashboard with Python Flask Web Framework

Flesk web app with IRIS


JSON is one of the most widely used interoperability formats for sending and receiving data on the market. InterSystems IRIS supports this format in several ways. It is possible to have your native database in JSON (DocDB), serialize and deserialize objects, and process requests and responses in JSON, especially from REST services. Review the following articles:




Introducing new JSON capabilities in Caché 2016.1

Presenting ObjectScript JSON API

JSON Enhancements

JSON Adaptor API

API and REST Applications

Backend applications are currently developed in the REST (Representational State Transfer) paradigm and are exposed as Web APIs. The following articles will help you see how it works:




GraphQL for InterSystems Data Platforms

Create REST API with GraphQL style

Introducing InterSystems API Manager

API Management overview

Advanced URL mapping for REST

Mapping routes to your APIs

AppS.REST - a new REST framework for InterSystems IRIS

Create REST apps easily

RESTForms - REST API for your classes

Create REST API for CRUD applications

Developing REST API with a spec-first approach

Contract First Approach to develop APIs

ObjectScript REST API Cookbook

REST API development tips

Generate Swagger spec from persistent and serial classes

Contract First Approach to develop APIs

InterSystems IRIS REST Application Patterns

Create API REST using IRIS

Let's create an FHIR profile using SUSHI Part 1

Create custom FHIR profiles

IAM (InterSystems API Manager), Zero to Hero

Manage your APIs with IAM

Using InterSystems API Management to Load Balance an API

Use APIM to do API load balance

Securing your APIs with OAuth 2.0 in InterSystems API Management – Part 1

Secure your API using APIM

Getting an Angular UI for your InterSystems IRIS application in 5 minutes

Full Stack app with IRIS and Angular

Upload into an InterSystems IRIS REST API

Save files using REST API

Manage and Configure InterSystems Environments

The good management and configuration of IRIS environments are essential for the performance, security, availability, and reliability of the applications used by users. These articles can give you excellent tips on how to do this.




InterSystems Data Platforms Capacity Planning and Performance Series Index

Capacity and Performance improvement

Deploying Applications in InterSystems Cache with %Installer

Using %Installer to create namespaces, databases, and applications configuration

Horizontal Scalability with InterSystems IRIS

Set IRIS instances for horizontal scalability

The InterSystems Iris Fhirserver running on a Raspberry Pi Raspberry running as a FHIRserver

Run IRIS inside Raspberry PI

Database Mirroring without a Virtual IP Address

Set mirrors using VIP

Apache Web Gateway with Docker

Configure SSL and Web Gateway for web applications

Work with SAML in IRIS

SAML to Web services

Mastering the %SYSTEM.Encryption class

Encrypt and decrypt using IRIS

Docker and Cloud

The new application architectures work in container Docker and in the cloud, aiming to achieve elastic scalability, shorter installation, configuration, and provisioning times, and reduced infrastructure complexity and cost. Study these articles to learn how to bring IRIS to the cloud:




Highly available IRIS deployment on Kubernetes without mirroring

IRIS on cloud clusters with Kubernetes

InterSystems IRIS Example Reference Architectures for Amazon Web Services (AWS)


InterSystems Example Reference Architecture for Microsoft Azure Resource Manager (ARM)

IRIS on Azure with cheap machines (ARM machines)

Dockerfile and Friends or How to Run and Collaborate to ObjectScript Projects on InterSystems IRIS

Learn about important files on Docker projects

InterSystems IRIS Deployment Guide for AWS using CloudFormation template

IRIS on AWS using CloudFormation

InterSystems IRIS Example Reference Architectures for Google Cloud Platform (GCP)

IRIS on Google Cloud

Using AWS Glue with InterSystems IRIS

Using IRIS and AWS Glue (AWS ETL tool)

Amazon EKS and IRIS. High Availability and Backup

IRIS on HA with AWS

Running InterSystems Reports in containers

IRIS reports on Docker

Running InterSystems IRIS in a FaaS mode with Kubeless

IRIS on Kubernetes

InterSystems Kubernetes Operator Deep Dive: Introduction to Kubernetes Operators

IRIS on Kubernetes

Scaling Cloud Hosts and Reconfiguring InterSystems IRIS

Scaling IRIS on AWS, Azure, or GCP

Deploying a Simple IRIS-Based Web Application Using Amazon EKS



VSCode is one of the most used development IDE in the world. IRIS fully supports this IDE. See the following articles:




VSCode-ObjectScript on GitHub

Develop IRIS apps into Web Github VSCode

GitHub Codespaces with IRIS

Develop IRIS apps into Web Github

VSCode Tips & Tricks - SOAP Wizard

Create shortcut option on VSCode

Adding your own snippets to VS Code

Create snippets


SQL is one of the most used language for dealing with relational databases. These articles demonstrate how to perform queries and data persistence:




Free Text Search: The Way To Search Your Text Fields That SQL Developers Are Hiding From You!*

Using Indexes to promote advanced search

Improve SQL Performance for Date Range Queries

Do SQL Queries using dates

Static WHERE Conditions

Where on Persistent Classes

2021.2 SQL Feature Spotlight - Run Time Plan Choice

Select Runtime SQL Execution Plan

New in 2020.1: the Universal Query Cache

SQL Cache

Materialized Views

Create views inside persistent classes

Debugging Trick with SQL

Debug SQL commands

Using ClassQueries() as Tables

Creating views

M:N Relationship

Mapping N to N relationships

Reading AWS S3 data on COVID as SQL table in IRIS

Get CSV data from AWS S3 to IRIS table

The One Query Performance Trick You NEED to Know? Tune Table!

SQL tunning

Data Storage - Information You Must Know to Make Good Decisions When Developing

Configure the data storage section on a persistent class to get more performance

Improve SQL Performance for Date Queries, AGAIN!

Tunning SQL queries for dates

Scrollable ResultSet Pagination Sample

Paginate SQL results (see comments too)

Day 1: Developing with InterSystems Objects and SQL

Concepts about SQL into InterSystems IRIS

DB Migration using SQLgateway

Migrate from PostgreSQL, MySQL, and other databases to IRIS

Importing CSV into the Existing Table in InterSystems IRIS

Import CSV to SQL Table

Four Database APIs


Indexing of non-atomic attributes

Create advanced index options

Know Your Indices

Index creation fundamentals

Dynamic SQL to Dynamic Object

Use DynamicSQL

Data migration tool - Part I: from Postgres to IRIS

Series of articles on how to migrate from popular databases to IRIS database


BI/Analytics allows making decisions based on data analysis in graphs, dashboards, summaries, and detailed tables and based on navigation and data exploration by the analyst user. Here's how to build analytic applications using IRIS:




COVID-19 Analytics on InterSystems IRIS

Create Analytics dashboards to analyze COVID in the world

DeepSee Troubleshooting Guide

Fix problems

AnalyzeThis – Quick start into InterSystems BI

Quick start into IRIS BI

Power BI Connector for InterSystems IRIS. Part I

Using IRIS data inside Power BI

Creating Portlets in DeepSee

Analytics Portlets with IRIS BI

Game Of Throne Analytics or How long is Arya's Stark List

Analytics sample

DeepSee Web: InterSystems Analytics Visualization with AngularJS. Part 1

Web dashboards using Angular

Building Analytics Solution with IRIS

Present main options to do analytics with IRIS



Globals are the key mechanism in IRIS for flexibly storing and retrieving data, whether in SQL, in classes, in JSON documents, in BI cubes, or other custom formats. Take a glimpse at how to do this in the following articles:




The Art of Mapping Globals to Classes 1 of 3

Mapping globals to SQL tables and Objects

Globals Are Magic Swords For Managing Data. Part 1

Fundamentals about globals


Export globals to JSON

Transactions in Global InterSystems IRIS

Manage transactions on Globals persistence

Store Mindmaps using Globals

Using globals to persist mindmap data


It is critical to ensure security for any application. Security is related to access and authorization management, tracking and auditing transactions, encryption of the stored and transported content, and setting correct configuration parameters to ensure the protection of sensible resources. Read these articles to understand more about how to establish security:




InterSystems IRIS Open Authorization Framework (OAuth 2.0) implementation - part 1

Using OAuth

Debugging Web

Debugging CSP and REST apps

Class Queries in InterSystems IRIS

Defining SQL Queries inside Persistent classes

Using the OS certificate store with TLS/SSL

Using OS certificate to do SSL

Integrity Check: Speeding it Up or Slowing it Down

Ensure integrity

Tracking Data Changes - Audit Log - 1 of 2

Store audit data

Running the Management Portal (Private Web Server) Over TLS/SSL/HTTPS

Configure SSL to IRIS Web Server

OAuth Authorization and InterSystems IRIS: Taming Trust Protocols

Using OAuth

Using Oauth2 with SOAP (Web)Services

Oauth setting for SOAP services

DeepSee: Setting up security - Part 1 of 5

Security on IRIS BI

Changes to the security level of the system

Security by default


DevOps is a way to adopt practices and tools that make it possible to automate the fast and quality transition from source code from development (Dev) to production operation (Ops). See how to do this in IRIS.




Continuous Delivery of your InterSystems solution using GitLab - Part I: Git

Continuous delivery with GitLab

Introducing InterSystems ObjectScript Package Manager

Use ZPM to configure and install third-party packages inside your application

ZPMshow - a helper for tired fingers

How to use ZPM – IRIS Package Manager

How to set up a mirror programmatically

Automate the create new mirrors

Unit Tests and Test Coverage in the ObjectScript Package Manager

Create Unit Tests for ObjectScript code quality

Deploying a sharded cluster with Docker and MergeCPF

Automate config using cpf files

Caché ObjectScript Quick Reference

ObjectScript reference pdf document

The Anatomy of ZPM Module: Packaging Your InterSystems Solution

Use ZPM to automate deployment

Adding VSCode into your IRIS Container

Embed VSCode inside your docker instance

How to Create New Database, Namespace and Web Application for InterSystems IRIS programmatically

Automate database and namespace creation

Unit Tests: Quality of your ObjectScript Code

Quality Assurance with Unit Tests

Some InterSystems Developer Community Docker Images

Docker community images


IRIS has a powerful data and application interoperability bus. See how to use it with the following articles.




Sending Alerts from Ensemble via Telegram

Production to send data to telegram

[InterSystems IRIS for the First Time] Let’s use Interoperability

Create business services, operations, processes, and productions

InterSystems IRIS Interoperability with Embedded Python

Create business services, operations, processes, and productions using Python

Ensemble / Interoperability Training Course

Great sample to learn how to create productions

Some Programmatic Interoperability Examples

Programmatic productions using Python or ObjectScript

Listing files in folder

List files in a folder

Containerising .Net/Java Gateways (or Kafka Integration Demo)

Kafka support using Java or .Net Native API

Implementing IRIS Integrations with .NET or Java using PEX

Using PEX to create productions using Java or .Net

Migrate from Java Business Host to PEX

Using PEX

Using Tesseract OCR and Java Gateway

Using Java PEX

Creating a PEX Business Operation

Create Java PEX Business Operation

OCR and NLP together into InterSystems IRIS

Java PEX Sample

Creating a custom interoperability business service using an HTTP Adapter

Creating Business Services

Native API

IRIS is open to working with some of the most used programming languages in the market (Java, Javascript/NodeJS, .Net, C++, and Python). To do it we use Native API for each of these languages. Check out these articles:




WebSocket Client JS with IRIS Native API as Docker Micro Server

Using IRIS and NodeJS to do a WebSocket

IRIS Native API for ObjectScript

Using Native APIs

Using ZPM for Node.js

Using ZPM on Node.js projects

Creating a PDF from a Text file

Java Native API for generating PDF

How to Start Development with InterSystems IRIS in Less Than a Minute

Start to develop using IRIS

Making a blog using Python + IRIS Globals

A blog on using Python native API

Discussion (6)1
Log in or sign up to continue