
# InterSystems Error Reference General Error Messages This document contains tables of numeric error codes and their corresponding error messages for InterSystems IRIS® data platform. Commonly, these error codes are reported as ERROR #nnn. These error codes are sometimes referred to as %Status error codes. The $SYSTEM.Status class methods used for handling these error codes are documented in the InterSystems Class Reference. You can determine the error message for a specified error code usin
# Data Serialization with the InterSystems Persister for Java The InterSystems Persister for Java See the Table of Contents for a detailed listing of the subjects covered in this document. The InterSystems IRIS Persister for Java is a high speed data persistence engine, featuring a multi-threaded loader capable of ingesting and serializing nearly a million real time records per second. It uses a format based on Apache Avro [https://avro.apache.org/], a robust open source data serialization fr
# Auditing Logging certain key events in a secure audit database is a major aspect of InterSystems security. InterSystems IRIS® allows you to monitor events and add entries to the audit database when these events occur. These events can occur within Inter- Systems IRIS itself or part of an application. The knowledge that all activities are being monitored and that all logs can be reviewed is often an effective deterrent to malicious behavior. Note: This document describes how to manage audit
# Orientation Guide for Server-Side Programming Programming This page provides a high-level introduction to applications in InterSystems IRIS® data platform, with emphasis on serverside code. ### 1.1 Introduction InterSystems IRIS is a high-performance multi-model data platform with an implementation of SQL, known as InterSystems SQL, as well as built-in support for Python, and a general-purpose programming language called ObjectScript. InterSystems IRIS also provides support for class defin
# Best Practices for Improving SQL Performance Performance While InterSystems SQL provides a number of mechanisms that will automatically perform certain operations to improve SQL performance, such as Adaptive Mode, there are a number of steps you can take yourself to ensure best performance. This page serves as a guide through some of these options. ## 1 Define Indexes Indexes are a crucial part of optimizing the efficienc y of your SQL queries. Adding an index on one or more fields can sig
# Class Definition Syntax and Keyword Reference and Keywords This reference formally describes the syntax and keywords used in class definitions. See the Table of Contents for a complete list of structures and keywords that apply to specific class members. Class definitions are not formally part of ObjectScript. Rather, you can use ObjectScript within specific parts of class defi- nitions (particularly within method definitions, where you can also use other implementation languages). This pa
# Configuring Productions Introduction to Configuration Tasks Both developers and system administrators configure productions at v arious times. This page provides some background and an overview of the configuration tasks. ### 1.1 Background for System Administrators A production is a specialized package of software and documentation that integrates multiple, potentially disparate software systems. A production includes elements that communicate with these external systems, as well as eleme
# Configure SQL Performance Options Configure Parallel Query Processing Parallel query hinting directs the system to perform parallel query processing when running on a multi-processor system. This can substantially improve performance of certain types of queries. The SQL optimizer determines whether a specific query could benefit from parallel processing, and performs parallel processing where appropriate. Specifying a parallel query hint does not force parallel processing of every query; it
# Developing Productions This page introduces the process of developing interoperability productions. For information on how productions work, see Core Concepts When Monitoring Interoperability Productions. ### 1.1 Environmental Considerations You can use productions only within an interoperability-enabled namespace that has a specific web application. When you create classes, you should avoid using reserved package names. The following subsections give the details. #### 1.1.1 Production-en
# Installing Code from the WRC Execution of certain InterSystems upgrade tools requires that the most recent code be installed. Although the most recent version of the code is generally included in the latest installation kit, if you are upgrading from or to an older version, the code included in your installation may not be the most recent code available. 1. Go to the WRC Distribution page under Components and search for the name of the tool you wish to use. 2. Determine whether the code inc
# InterSystems Cloud Manager Guide Important: As of release 2023.3 of InterSystems IRIS, InterSystems Cloud Manager (ICM) is deprecated; it will be removed from future versions. This document describes the use of InterSystems Cloud Manager (ICM) to deploy InterSystems IRIS® data platform configurations in public and pri vate clouds and on preexisting physical and virtual clusters. This page explains what InterSystems Cloud Manager (ICM) does, how it works, and how it can help you deploy Inte
# InterSystems IRIS Basics: Scaling with Distributed Distributed Caching This page explains how InterSystems IRIS® data platform can scale for user volume by using application servers for distributed caching, leveraging the Enterprise Cache Protocol (ECP). For an online hands-on exercise that will take you through the process of creating and testing a simple distributed cache cluster, see Creating a Distributed Cache Cluster. ## 1 The Problem: Scaling for User Volume When users connect to y
# InterSystems IRIS Demo: Connecting with ADO.NET ADO.NET This article explains how to connect to InterSystems IRIS® data platform via the InterSystems ADO.NET Managed Provider. Once you have completed the demo that follows, you will have configured a Visual Studio project to use the InterSystems.Data.IRISClient.dll assembly, established an ADO.NET connection to InterSystems IRIS, run several SQL statements from your .NET application, and confirmed the ef fects of these statements in the Inter
# InterSystems IRIS Release Notes New in InterSystems IRIS 2025.3 This page describes the new features, enhancements, and other significant updates in the 2025.3 release of InterSystems IRIS® data platform, which is a continuous delivery (CD) release. For other information you may wish to consider related to changes included in this release, see Known Issues and Notes. For a more exhaustive list of the changes included in this release, refer to the Upgrade Impact Checklist. ### 1.1 Release I
# InterSystems IRIS Demo: JDBC and InterSystems InterSystems Databases This article provides an introduction to how to use the InterSystems JDBC driver to connect to an InterSystems IRIS® data platform instance so you can use Java with InterSystems IRIS. ## 1 JDBC: How to Use It with InterSystems IRIS InterSystems provides a fully compliant (JDBC 4.2), pure Java, type 4 JDBC driver, which is a single standalone JAR file with no dependencies. If you are already familiar with JDBC, and have a
# InterSystems IRIS Demo: Data Resiliency and Mirroring and Mirroring This article introduces you to the data resiliency features of InterSystems IRIS®. Data resiliency consists of three goals – crash recovery, high availability, and disaster recovery – that are achieved by several InterSystems IRIS features. One of the key features of InterSystems IRIS is the capability to provide continuous and undisrupted access to your data by utilizing logical data replication. Data can be replicated syn
# InterSystems IRIS Demo: .NET Object Persistence with Persistence with XEP This article introduces the XEP API, which provides support for extremely fast .NET object storage and retrieval on Inter- Systems IRIS® data platform. It gives you a high level overview of the XEP approach to .NET object persistence, and walks you through a simple scenario that demonstrates the main features of the API. These activities are designed to use only the default settings and features so that you can acquai
# InterSystems IRIS Demo: Deploy a Sharded Cluster Sharded Cluster This page introduces you to the InterSystems IRIS® data platform sharding feature and its use in a sharded cluster to horizontally scale InterSystems IRIS for data volume. ## 1 How Can Sharding Help You? We are all managing more data than ever before and being asked to do more with it — and the response times demanded are growing ever shorter. Each business-specific w orkload presents different challenges to the data platform
# InterSystems Supported Platforms ### 1.1 Supported Platforms This release supports the listed server platforms and operating system releases on the indicated InterSystems products. - Server Platforms - Container Platforms - Cloud Platforms - Development Platforms #### 1.1.1 Operating System Patches and Service Packs Because InterSystems relies on the operating system vendor to ensure compatibility, InterSystems does not certify its products for specific operating system patches or serv
# Introduction to InterSystems IRIS Business Intelligence Introduction to Business Intelligence This page introduces InterSystems IRIS Business Intelligence, which enables you to embed business intelligence (BI) into your applications. Note: You can use Business Intelligence only in a specifically configured web application. See Application. Also, be sure to consult InterSystems Supported Platforms for information on system requirements. Setting Up the Web ### 1.1 Purpose The purpose of I
# Introduction to InterSystems Package Manager Manager This page describes how to install InterSystems Package Manager (IPM) and get started with it. It also summarizes commands needed for configuring IPM , discovering modules, managing modules, and other tasks. ## 1 Purpose InterSystems Package Manager (IPM) is a package manager for InterSystems products. Use IPM to search, install, update, remove, and publish modules (also known as packages). Each module could be an application, framework,
# Manipulating Bits and Bitstrings There are times that you may want to store a sequence of related boolean values in an application built on InterSystems IRIS data platform. You could create a number of boolean variables, or you could store them in an array or a list. Or you could use a concept known as a “bitstring,” which can be defined as a sequence of bits, presented least-significant bit first. Bitstrings allow you to store such data in a manner that is very efficient, both in terms of st
# Microsoft Internet Information Services Web Server Web Server Considerations (Windows) This page provides additional technical details which you may wish to consider as you deploy an InterSystems Web Gateway alongside a Microsoft Internet Information Services (IIS) web server. Refer to IIS documentation for further details about IIS administration: https://learn.microsoft.com/en-us/iis/get-started/introduction-to-iis/iis-web-server-overview. ## 1 Restarting IIS IIS must be restarted in ord
# Using External Messaging Platforms in Productions a Production Amazon SNS is a cloud service that delivers messages from a publisher to a subscriber. You can configure your interoper - ability production to be an SNS publisher by using the built-in SNS business operation or by creating a custom business operation using the SNS outbound adapter. There is also an API for use outside of a production. There are three components to a message sent to SNS: a topic, a subject, and the content of th
# Monitoring and Operations Guide Defining a Monitoring and Operations Plan Performing the relevant monitoring and operations tasks will help keep your systems running smoothly and without interruption. This set of topics describes recommended day-to-day operations and monitoring tasks that InterSystems IRIS administrators can perform when administering InterSystems IRIS systems. You should review these tasks and include them in your own monitoring and operations plan, with appropriate role a
# Persisting .NET Objects with InterSystems XEP Introduction to XEP for .NET See the Table of Contents for a detailed listing of the subjects covered in this document. InterSystems IRIS® provides lightweight .NET SDKs for easy database access via relational tables (ADO.NET and SQL), objects, and multidimensional storage. See Using .NET with InterSystems Software for relational table access with ADO.NET, and Using the Native SDK for .NET for multidimensional storage access. This book describes
# Running InterSystems Products in Containers Figure 2: A single Web Gateway container directs application connections and Management Portal Figure 3: An application Web Gateway container for application requests and dedicated Web Gateway Figure 4: Containerized distributed cache cluster with application connections directed differentially List of Tables Running InterSystems Products in Containers This document explains the benefits of deplo ying software using containers and provides the in
# Secure Custom Web Application Logins In addition to REST applications, InterSystems products support CSP applications and Zen applications; Zen applications are legacy only. When creating custom login pages for CSP and Zen applications, it is important that you follow recommended protocols. These protocols provide greater security and minimize incompatibilities on upgrades to new products or versions. ## 1 About Creating a Custom Zen Login Page When creating a custom Zen login page, use the
# Using .NET with InterSystems Software InterSystems Software See the Table of Contents for a detailed listing of the subjects covered in this document. InterSystems IRIS® provides a wide variety of robust .NET connectivity options, including lightweight SDKs that provide database access via .NET ADO, .NET objects, or InterSystems multidimensional storage, and gateways that give InterSystems IRIS server applications direct access to .NET applications and external databases. This document cov
# Using HTTP Adapters in Productions About the HTTP Adapters The HTTP adapters (EnsLib.HTTP.InboundAdapter and EnsLib.HTTP.OutboundAdapter) enable your production to send and receive HTTP requests and responses. This topic provides a brief introduction to these adapters. Note: Although InterSystems strongly recommends that you use the Web Gateway to set up communication between a web server and InterSystems IRIS® data platform, you can use the HTTP inbound adapter if needed. Note that this i
# Using InterSystems External Servers Figure 4–6: InterSystems External Servers (System Administration > Configuration > Connecti vity) Introduction to InterSystems External See the Table of Contents for a detailed listing of the subjects covered in this document. InterSystems External Servers provide instant, fully integrated bi-directional connections between InterSystems IRIS and external language platforms. External servers support these fast, simple, powerful features: Instant access
# Using InterSystems Natural Language Processing (NLP) Important: InterSystems has deprecated InterSystems IRIS® Natural Language Processing (NLP). It may be removed from future versions of InterSystems products. The following documentation is provided as reference for existing users only. Existing users who would like assistance identifying an alternative solution should contact the WRC. Increasingly, organizations are amassing larger and larger quantities of unstructured text data, far in e
# Using Java with InterSystems Software Java with InterSystems Overview See the Table of Contents for a detailed listing of the subjects covered in this document. InterSystems IRIS® provides a wide variety of robust Java connectivity options: - Lightweight SDKs that provide database access via JDBC, Java objects, or InterSystems multidimensional storage. - Gateways that give InterSystems IRIS server applications direct access to Java applications and external databases. - Implementations o
# Using the Native SDK for Node.js Introduction to the Native SDK for Node.js See the Table of Contents for a detailed listing of the subjects covered in this document. See the Node.js Native SDK Quick Reference for a brief description of Native SDK classes and methods. The InterSystems Native SDK for Node.js is a lightweight interface to powerful InterSystems IRIS® resources that were once available only through ObjectScript: - Call ObjectScript Methods — call any embedded language classmet
# Using the ObjectScript Shell Introduction to the ObjectScript Shell InterSystems IRIS® data platform provides the ObjectScript shell, which is useful during learning, development, and debugging. You can use it to execute ObjectScript commands (and see their results), as well as to access various other shells. It provides an extensive line recall facility as well as several customization options. Note: The ObjectScript shell is sometimes called the Terminal or the Terminal prompt, which is
# Using the Native SDK for Python Introduction to the Native SDK for Python See the Table of Contents for a detailed listing of the subjects covered in this document. See the Python Native SDK Quick Reference for a brief description of Native SDK classes and methods. The InterSystems Native SDK for Python is a lightweight interface to powerful InterSystems IRIS® resources that were once available only through ObjectScript: - Native Python SDK Installation and Setup — describes how to downloa
# Using Multidimensional Storage (Globals) Introduction to Globals This topic introduces you to the concept of globals, the underlying multidimensional storage structure for InterSystems IRIS® data platform. No matter how you decide to store or access your data, what you’re doing is using globals. Globals can be accessed using a relational model, using an object model, or directly. For a video that explains the benefits of this multi-model access and a hands-on exercise that lets you try the
# Creating CSP-Based Web Applications InterSystems IRIS® data platform provides a technology that enables you to create web user interfaces. For historical reasons, this technology is known as CSP and the result is a CSP-based web application. CSP intercepts HTTP requests before the browser sees them, and CSP provides an easy way to write directly to the browser. These factors mean that you have complete control over the web pages you generate. You can use CSP in conjunction with third-party J
# About InterSystems Authorization Once a user has authenticated, the next security-related question to answer is what assets that person is allowed to use, view, or alter. Assets include: - Databases — Physical files containing data or code. - Services — Tools for connecting to InterSystems IRIS, for example, client-server services, telnet. - Applications — InterSystems IRIS programs, for example, Web applications. - Administrative actions — Sets of tasks, for example, starting and stoppin
# About TLS Transport Layer Security (TLS) provides strong protection for communication between pairs of entities. It allows you to perform authentication, data integrity protection, and data encryption. It is the successor to the secure sockets layer (SSL). SSL was created at Netscape in the mid nineteen-nineties. TLS was created as a standardization of SSL 3.0; TLS version 1.0 was released in 1999. The latest version of TLS available with InterSystems IRIS is 1.3, often known as TLS v1.3. Am
# Accessing Cloud Storage Introduction to Cloud Storage Adapters InterSystems IRIS® makes it easy to retrieve, store, and delete data from a cloud storage provider like Amazon Web Services (AWS), Azure Blob Storage (Azure) or Google Cloud Platform (GCP). When using an InterSystems product to access cloud storage, you have two options: use an interoperability production or call low-level APIs. Interoperability productions are designed to connect external systems, and you can use one to access
# Accessing Source Code Files Using REST Source Code File REST API This REST API provides access to InterSystems IRIS® data platform source code files. Our VS Code - ObjectScript IDE uses the API to perform the actions needed to access InterSystems IRIS code files, and you can use the API in your own code. These actions include: - Getting the namespaces available on an InterSystems IRIS instance - Finding the class definitions and routines defined in a namespace - Getting the text definitio
# Adding Compiled Code to Customer Databases Databases This page describes how to add compiled code to the customers’ databases, so that you can provide your customers with new code that does not need to be recompiled. Important: InterSystems highly recommends that you test this procedure with your specific classes in a test en vironment before using it on a live system. ## 1 Requirements The requirements are as follows: - The InterSystems IRIS® version must be the same on the system wher
# Adding SOAP Services and Web Clients to Productions Productions This page introduces how you can use web services within interoperability productions. See Creating Web Services and Web Clients for information on the specific standards follo wed by InterSystems product support for SOAP and web services, including WSDL limitations. ### 1.1 InterSystems IRIS Support for Web Services You can provide a SOAP-enabled front end for your production. To do so, you create an production web service,
# Advanced Modeling for InterSystems IRIS Business Defining Computed Dimensions Computed dimensions are a powerful but advanced InterSystems IRIS Business Intelligence model option that enable you to define members at runtime via queries. This page describes how to define them. For a comparison of computed dimensions with more basic Business Intelligence model elements, see Summary of Model Options Important: Computed dimensions do not have any association with calculated members. A compute
# Apache Web Server Considerations (UNIX®/Linux/macOS) This page contains information about the recommended option for UNIX®, Linux, and macOS and atypical option 1 (Alternative Option 1: Apache API Module with NSD (mod_csp24.so)). ## 1 Security When an Apache web server starts, it initializes a parent process that usually runs with superuser privileges. This is necessary in order to bind to TCP port 80. After that, Apache launches the child processes (worker processes) which do the work of
# Automating Configuration of InterSystems IRIS with Introduction to Configuration Merge This page explains the configuration mer ge feature of InterSystems IRIS® data platform, what types of operations configuration merge can perform, and its primary use cases. ### 1.1 Configuration Merge The configuration mer ge feature lets you make as many changes as you wish to the configuration of an y InterSystems IRIS instance in a single operation. To use it, you simply record the changes you want t
# Automating Configuration of InterSystems IRIS with IRIS with Configuration Merge This document explains how to use configuration mer ge to deploy or reconfigure InterSystems IRIS® data platform. ## 1 Configuration Merge The configuration mer ge feature lets you make as many changes as you wish to the configuration of an y InterSystems IRIS instance in a single operation. To use it, you simply record the changes you want to make in a declarative configuration yed or at any later point. Conf
# AutoML Reference Note: This guide covers the low-level details on AutoML. For information about using AutoML as your provider in IntegratedML, see the IntegratedML User Guide. AutoML is an automated machine learning system developed by InterSystems, housed within InterSystems IRIS® data platform. It is designed to quickly build accurate predictive models using your data, automating several key components of the machine learning process: Figure 1–1:The Machine Learning Process Figure 1–2:
# Best Practices for Creating Productions Development This topic is a general overview that prepares team members to work on production projects. It outlines development tasks and identifies sources of information about InterSystems IRIS® data platform and about enterprise inte gration. The information pertains to all types of production projects. ### 1.1 Project Goals The goal of any production development project is to connect two or more systems. A production is a specialized package of s
# Business Process and Data Transformation Language Tip: If you want to view or edit the XML for a BPL, edit the BPL using Studio and click View other code. Business Process and Data Transformation Language Reference BPL Elements Common Attributes and Elements Describes attributes and elements that are present in most BPL elements. Common Attributes Most BPL elements can contain the following attributes, which are listed here for brevity. name Usually optional. The name of this element.
# Client-Side APIs for InterSystems IRIS Business Using Business Intelligence This page introduces the JavaScript and REST APIs for InterSystems IRIS® data platform Business Intelligence. These APIs let you execute MDX queries and retrieve information about Business Intelligence model elements. ### 1.1 Creating a Web Application In any scenario (whether you use the JavaScript API or you use the REST services directly), a web application is responsible for handling the requests. You can use t
# Configuration P arameter File Reference Parameter File When InterSystems IRIS® data platform starts, it reads configuration v alues from the configur ation parameter file (CPF), iris.cpf. This file defines the particular InterSystems IRIS configuration for each instance. This topic discusses how to use and edit the CPF. The Table of Contents at the beginning of this reference shows each parameter in the CPF, sorted by section. Note: Within this document and the CPF itself, memory is depict
# Configuring and Using Push Notifications Figure 1–1: Using the Identity Manager to associate an app with an identifier Push Notifications Overview The Push Notifications feature mak e it possible for a production to send push notification messages to iOS and Google devices. This feature makes it possible to easily send notifications to a user with an app running on multiple de vices. Your code can send notifications without ha ving to be aware of the number of devices or whether the devices
# Connect Data Stored in an InterSystems Product to Power Product to Power BI This page describes how to access data stored in an InterSystems® product in Power BI using the InterSystems® Health Insight Connector. ## 1 Introduction to the Connector The InterSystems Health Insight Connector for Power BI is a custom connector for InterSystems products. It allows you to use Microsoft Power BI to access and create reports on regular relational tables as well as InterSystems IRIS Business Intelli
# Connecting an IDE This page tells you how to quickly connect your integrated development environment (IDE) for ObjectScript, Java, .NET, Python, or JavaScript/Node.js to an instance of InterSystems IRIS® data platform and verify that you have successfully connected, using template files do wnloaded from GitHub. In addition, the next two sections cover the following: - Deploying InterSystems IRIS - Lists the options for deploying both licensed and free evaluation instances of InterSystems I
# Creating Dashboards ### 1.1 Displaying Business Intelligence Dashboards To access Business Intelligence dashboards from the Management Portal, click Analytics and then click User Portal. Or use a supported browser (see Supported Web Browsers) and go to the following URL, using the <baseURL> for your instance: http://<baseURL>/csp/samples/_DeepSee.UserPortal.Home.zen In either case, the right area then lists the available dashboards in this namespace. This area initially displays the items
# Creating REST Services Introduction to Creating REST Services This page introduces REST and REST services in InterSystems IRIS® data platform. You can use these REST interfaces with UI tools, such as Angular, to provide access to databases and interoperability productions. You can also use them to enable external systems to access InterSystems IRIS applications. For an interactive introduction to REST services, try Developing REST Interfaces. ### 1.1 Introduction to REST REST, which is nam
# Creating Web Services and Web Clients Clients in InterSystems IRIS InterSystems IRIS® data platform supports SOAP 1.1 and 1.2 (Simple Object Access Protocol). This support is easy to use, efficient, and fully compatible with the SO AP specification. This support is built into InterSystems IRIS and is available on every platform supported by InterSystems IRIS. ### 1.1 Introduction to InterSystems IRIS Web Services This section introduces InterSystems IRIS web services. #### 1.1.1 Component
# Creating WSGI Applications This page describes how to create a WSGI application that uses the InterSystems IRIS® database, following the PEP-3333 standard. ## 1 Overview To create a WSGI application that uses InterSystems IRIS, you need only to install a WSGI framework on the same server on which InterSystems IRIS is running, create a callable application, and configure an InterSystems IRIS web application, as described on this page. ## 2 Requirements for the Callable Application When def
# Defining a High-Performance Schema Table Statistics for Query Optimizer To ensure maximum performance of InterSystems SQL tables, you should employ representative or anticipated data distribution metrics. As these metrics, referred to as table statistics, are used extensively by the optimizer for query planning, they can have a significant ef fect on any queries run against this table. The process of collecting table statistics updates the extent index, which is an internal global structure
# Defining and Using Classes Basic Ideas in Class Programming If you are not familiar with class programming, this topic is intended to give you a sense of how this kind of programming works. If you are familiar with class programming, you might find it helpful just to skim the code e xamples, so that you see what class programming in InterSystems IRIS® data platform looks like. The concepts discussed here are largely independent of language, although the examples use ObjectScript. ### 1.1 O
# Defining Models for InterSystems IRIS Business This topic introduces InterSystems IRIS® data platform Business Intelligence models. Be sure to consult InterSystems Supported Platforms for information on system requirements for Business Intelligence. ### 1.1 Purpose of Business Intelligence InterSystems Business Intelligence enables you to embed business intelligence (BI) into your applications so that your users can ask and answer sophisticated questions of their data. Your application can
# Defining Workflo ws Overview of Workflow within Productions This topic provides an overview of workflo w features in InterSystems IRIS® data platform. ### 1.1 Introduction A workflow mana gement system automates the distribution of tasks among users. Automating the distribution of tasks according to a predefined strate gy makes task assignment more efficient and task e xecution more accountable. A typical example is a help desk application that accepts problem reports from customers, route
# Deploy and Explore InterSystems IRIS Community Community Edition This document explains how to use publicly available images to deploy InterSystems IRIS Community Edition in a container either locally or in the cloud, and provides instructions for connecting to and using your Community Edition instance. - For detailed information on using InterSystems IRIS in containers, see Running InterSystems Product in Containers. - For the full range of InterSystems IRIS deployment options, see Deploy
# Developer Tutorial for InterSystems IRIS Business Started Most of the samples in this Business Intelligence tutorial are part of the Samples-BI sample (https://github.com/intersystems/Samples-BI). InterSystems recommends that you create a dedicated namespace called SAMPLES (for example) and load samples into that namespace. For the general process, see Downloading Samples for Use with InterSystems IRIS® data platform. One part of the sample is the BI.Study.Patient class and related classes.
# Developing BPL Processes Introduction to BPL Processes BPL business processes are a form of business logic you can use within interoperability productions. A BPL business process is written in the Business Process Language (BPL) and is derived from Ens.BusinessProcessBPL. It is identical in every way to a class derived from Ens.BusinessProcess, except that it supports BPL. Use the Business Process Designer to create BPL classes in the Management Portal. To access the Business Process Design
# Developing Business Rules About Business Rules This page introduces business rules, which are a form of business logic you can use within interoperability productions. You can use business rules within a workflo w; see Comparison of Business Logic Tools. ### 1.1 Introduction Business rules allow nontechnical users to change the behavior of business processes at specific decision points. You can change the logic of the rule instantly, using the Rule Editor in the Management Portal, without
# Developing DTL Transformations Introduction to DTL Tools DTL transformations are a form of business logic you can use within interoperability productions. This topic introduces the tools that InterSystems IRIS® data platform provides to enable you to develop and test DTL transformations. ### 1.1 Background A data transformation creates a new message that is a transformation of another message. It is common for a production to use data transformations, to adjust outgoing messages to the req
# Developing InterSystems Applications Transaction Processing A transaction is a logical unit of work that groups multiple atomic operations into a single, indivisible action. An atomic operation is always fully executed in any circumstance, including if an error occurs. Typically, a transaction consists of several atomic operations executed in a specific order and treated as a single action. This document provides an overview of transaction processing in the InterSystems IRIS® data platform.
# Downloading Samples This page describes how to download samples for use with InterSystems IRIS® data platform, as well as how to create a namespace and database to hold the samples. ## 1 Introduction to Samples The installation kit for InterSystems IRIS does not include samples; this enables the kit to be as small as possible. Instead, samples are available online at GitHub. In GitHub terms, each sample is provided as a repository or repo. Each of the sample repos includes: - A detailed R
# Emit Telemetry Data to an OpenTelemetry-Compatible Tool OpenTelemetry (OTel) is an open source framework and toolkit for generating, exporting, and collecting telemetry data. On supported systems, this version of InterSystems IRIS leverages the OpenTelemetry C++ SDK to provide support for exporting and emitting telemetry data as OpenTelemetry Protocol signals over HTTP (OTLP/HTTP) to the OpenTelemetry Collector or any other compatible monitoring tool. Note: This feature is not available f
# Enabling Productions to Use Managed File Transfer Introduction to MFT Services This topic introduces Managed File Transfer (MFT) services and explains how an InterSystems IRIS® production can communicate with these services, so that the production can send and receive files securely . ### 1.1 Overview of MFT Services Managed File Transfer (MFT) services are third-party services that support secure transmission of files. These services generally include the following features: - Use of enc
# Encryption InterSystems IRIS includes a suite of encryption technologies that prevent unauthorized access to data at rest, which is data stored on disk or in the cloud. This suite of tools implements encryption using the AES (Advanced Encryption Standard) algorithm. Its technologies include: - Block-level database encryption — InterSystems IRIS performs database encryption and decryption when writing to and reading from disk. The encrypted content includes the data itself, indexes, bitmaps,
# Examine Query Performance Analyze SQL Statements and Statistics This page discusses how to view and read SQL Statements and SQL Runtime Statistics to analyze query performance. Both tools are useful for understanding at a high level how well queries are performing on your system. SQL Statements provide a record of SQL queries and other operations for each table, including insert, update, and delete. These statements are linked to a query plan, and this link provides the option to freeze thi
# Fine-Tuning a Web Client in InterSystems IRIS Modifying a Web Client After you generate an InterSystems IRIS® data platform web client class, you do not usually edit the class. Instead you write code that creates an instance of that class and that provides provide client-side error handling. This topic discusses various ways to fine-tune the InterSystems IRIS web client, either by modifying the web client instance or (less commonly) by modifying the generated class. Note: Do not create a s
# Fine-Tuning a Web Service in InterSystems IRIS Disabling Access to the Online WSDL By default, it is possible to view the WSDL for an InterSystems IRIS® data platform web service via a URL of the following form: base/csp/app/web_serv.cls?WSDL Here base is the base URL for your web server (including port if necessary), /csp/app is the name of the web application in which the web service resides, and web_serv is the class name of the web service. To disable the ability to access the WSDL in
# General Installation Details Installation Directory The installation directory is the directory in which an InterSystems IRIS instance is installed. In general, this directory should be empty before installation. Throughout the documentation, this is referred to as install-dir. Once InterSystems IRIS is installed, it is impossible to change the installation directory. There are several restrictions to what you can specify as the install-dir. The directory must be a fully resolved physical p
# High Availability Guide Failover Strategies for High Availability As organizations rely more and more on network-based applications, it is vital to make databases as available and reliable as possible. This guide explains how InterSystems IRIS® data platform provides highly available and reliable data storage, and describes strategies for recovering quickly from outages and failures while maintaining the integrity of your data. InterSystems IRIS® provides several high availability (HA) solu
# How InterSystems IRIS Processes SQL Statements Statements With every SQL statement you submit, InterSystems IRIS® performs several processing steps to make the statement run as quickly and efficiently as possible. These steps enable you to write statements without worrying about how to structure them to maximize performance. This topic describes how InterSystems processes SQL statements, from preparation to execution. It specifically focuses on query statements and statements that are part o
# Implementing InterSystems IRIS Business Intelligence Applications InterSystems IRIS® data platform Business Intelligence enables you to embed business intelligence (BI) within your applications so that your users can ask and answer sophisticated questions of their data. This page provides an overview of the features you can add, the overall process, and the tools you use. Be sure to consult InterSystems Supported Platforms for information on system requirements for Business Intelligence. #
# Integrating InterSystems IRIS with Source Control Systems Control Systems This page explains briefly ho w to place InterSystems IRIS® data platform code under source control by connecting to a third-party source control system. It does not discuss how to choose an appropriate strategy or tools for your use case. ## 1 Basics The process of placing InterSystems IRIS code under source control consists of the following steps: - If necessary, creating a custom source control class. - Configur
# InterSystems API Index Tools Index This reference is organized into topics that correspond either to a kind of item you might want to manipulate programmatically (class definitions, DDL files, and so on), a technology of interest (HTTP , XML, and so on), or a task you might be interested in (testing, debugging, and so on). It lists the APIs for some tasks that are commonly performed in the Management Portal, if those are tasks you might need to perform programmatically. Healthcare data for
# InterSystems Glossary of Terms Complete Glossary of Terms The following is a list of terminology relevant to InterSystems IRIS® data platform. ### 1.1 Terms Beginning with Symbols and A $X/$Y action table System. Internal table that specifies whether a character , on input to or output from a device, modifies $X, $Y, or both. The special variables $X and $Y keep track of the horizontal and vertical coordinates on the device. $ZF function ObjectScript. An InterSystems implementation-spec
# InterSystems High Availability Solutions High availability (HA) refers to the goal of keeping a system or application operational and available to users a very high percentage of the time, minimizing both planned and unplanned downtime. InterSystems IRIS provides its own HA solution, and easily integrates with common HA solutions supplied by operating system providers. The primary mechanism for maintaining high system availability is called failover. Under this approach, a failed primary sys
# InterSystems Implementation Reference for Third-party Overview of Java Third-party Software See the Table of Contents for a detailed listing of the subjects covered in this document. InterSystems provides native implementations of the following third-party drivers and interfaces: The InterSystems JDBC Driver The InterSystems JDBC Driver is a fully compliant type 4 implementation of the JDBC standard. See JDBC Driver Support for detailed information on JDBC driver compliance and enhanceme
# InterSystems IRIS Adaptive Analytics ## 1 Overview of InterSystems IRIS Adaptive Analytics InterSystems IRIS® Adaptive Analytics is an optional extension that provides a business-oriented, virtual data model layer between InterSystems IRIS and popular Business Intelligence (BI) and Artificial Intelligence (AI) client tools. It includes an intuitive user interface for developing a data model in the form of virtual cubes where data can be organized, calculated measures consistently defined, an
# InterSystems IRIS Basics: Run a Container Want to start up an InterSystems IRIS container? This document provides the basic procedure, including the following steps: 1. Select a Platform 2. Install Docker 3. Download the InterSystems IRIS Image 4. Add the License Key to the External Storage Location 5. Run a Container from the InterSystems IRIS Image 6. Use Durable %SYS to Store Instance-specific Data For a quick, online hands-on exercise covering these steps and more, try Deploying a
# InterSystems IRIS Demo: Integrating with LDAP LDAP The InterSystems IRIS® data platform can integrate with an LDAP (Lightweight Directory Access Protocol) server, which makes it seamless to authenticate users with this popular technology. It’s also easy to provide authorization through LDAP, too. When a user attempts to log in to InterSystems IRIS, the username and password are sent to the LDAP server to verify that the user exists. Once the user’s identity has been authenticated, the LDAP
# InterSystems IRIS Demo: InterSystems Cloud Manager Important: As of InterSystems IRIS release 2023.2, ICM is deprecated. It will be removed in future releases. This article introduces you to InterSystems Cloud Manager (ICM), the end-to-end cloud provisioning and deployment solution for applications based on InterSystems IRIS® data platform, and guides you through a demo in which you will use ICM to provision infrastructure in a public cloud and deploy InterSystems IRIS on that infrastructur
# InterSystems IRIS Demo: Java Object Persistence with XEP Persistence with XEP This article introduces the XEP API (com.intersystems.xep), which provides support for extremely fast Java object storage and retrieval on the InterSystems IRIS® data platform. It gives you a high level overview of the XEP approach to Java object persistence, and walks you through a simple scenario that demonstrates the main features of the API. These activities are designed to use only the default settings and fe
# InterSystems MDX Reference Basic Rules This reference section provides information on the most basic rules in MDX within Business Intelligence — rules for identifiers and comments. Also see Accessing the BI Samples. Basic Rules Identifiers (MDX) This section discusses identifiers in InterSystems MDX. MDX Identifiers and Allowed Variations Every cube, subject area, relationship, dimension, hierarchy, level, member, property, and measure has an identifier . Each MDX identifier has one of
# Introducing Interoperability Productions This article explains how you can connect systems together with InterSystems IRIS® data platform interoperability productions. For an online hands-on activity that lets you create a simple production that organizes files on a local file system and use file adapters to read and write the files, see Creating a Basic Production in InterSystems IRIS. ### 1.1 Why Connect Systems? Connecting systems involves allowing messages from one system to be process
# Introduction to Embedded Python Embedded Python allows you to use Python side-by-side with ObjectScript, the native programming language of the InterSystems IRIS data platform. When you write a method in an InterSystems IRIS class using Embedded Python, the Python source code is compiled into object code that runs on the server, along with the compiled ObjectScript code. This allows for tighter integration than is possible using a Gateway or the Native SDK for Python. You can also import Pyth
# I/O Device Guide Introduction to I/O This page describes — at a high level — how to work with I/O devices within InterSystems IRIS® data platform applications and at the InterSystems IRIS prompt. ### 1.1 Introduction InterSystems IRIS® data platform provides support for many different kinds of devices, both logical and physical. The supported logical devices include: - The principal device - Files - Pipes - TCP connections - Interjob communication (IJC) devices to communicate between
# IRISSECURITY Upgrade Impact In InterSystems IRIS 2025.2, security data was moved from the IRISSYS database to the IRISSECURITY database, and the %SecurityAdministrator role was introduced for general security administration tasks. Unlike IRISSYS, IRIS- SECURITY can be encrypted, which secures your sensitive data at rest. IRISSECURITY cannot be mirrored, but support is planned for a future version. The introduction of the IRISSECURITY database introduces several breaking changes in behavior,
# ISQL Migration Guide Using ISQL InterSystems ISQL is an implementation of Informix ISQL which supports many of its features. InterSystems ISQL also contains a few proprietary extensions not found in Informix ISQL. This document will help you to quickly migrate schemas and stored procedures from Informix databases and it will provide you with an understanding of the ISQL implementation in InterSystems IRIS® data platform. ### 1.1 ISQL Migration Overview To migrate existing ISQL applicatio
# Locating and Exploring Class Reference Documentation Documentation Local class reference documentation is always available on any system on which InterSystems IRIS® (or any product on which it is based) is installed. This class reference includes information on InterSystems classes as well as your own classes. The URL has the following form, using the <baseURL> for your instance: https://<baseURL>/csp/documatic/%25CSP.Documatic.cls In the left menu, classes in the %SYS namespace are displ
# Managing Productions Introduction to Managing Productions This topic introduces the Management Portal and the tasks involved in managing productions in InterSystems IRIS® data platform. ### 1.1 Background for System Administrators This section provides some basic terminology to help you get started. A production is a specialized package of software and documentation that integrates multiple, potentially disparate software systems. A production includes elements that communicate with these
# Monitoring Guide Management Portal You can monitor many aspects of your InterSystems IRIS® data platform instance starting at the System Dashboard of the Management Portal. From the dashboard you can view performance indicators and then, for selected indicators, navigate to more detailed information. For an overview of general InterSystems IRIS monitoring tools, see System Monitoring Tools. Note: To access the System Operation tools described on this page, a user must be a member of a rol
# Monitoring Productions Interoperability Productions This topic discusses the concepts that are relevant when you monitor an interoperability production. ### 1.1 Productions A production is a specialized package of software and documentation that integrates multiple, potentially disparate software systems. A production includes elements that communicate with these external systems, as well as elements that perform processing that is internal to the production. InterSystems IRIS® data platf
# Overview of Authentication Mechanisms ## 1 About Authentication Authentication verifies the identity of an y user or other entity attempting to connect to InterSystems IRIS®. As it’s often said, authentication is how you prove that you are who you say you are. Once authenticated, a user has established communications with InterSystems IRIS, so that its data and tools are available. Without trustworthy authentication, authorization is moot — one user can impersonate another and then take adv
# Persisting Java Objects with InterSystems XEP Using XEP with Java Overview InterSystems IRIS® provides lightweight Java SDKs for easy database access via relational tables (JDBC and SQL), objects, and multidimensional storage. See Using Java with InterSystems Software for relational table access with JDBC, and Using the Native SDK for Java for multidimensional storage access. This book describes how to use XEP for object access. XEP provides high-performance persistence technology for Java
# PEX: Developing Productions with an External Language Introduction to the PEX Framework The Production EXtension (PEX) framework provides you with a choice of external languages like Java and Python that you can use to develop interoperability productions. Interoperability productions enable you to integrate systems with different message formats and communication protocols. If you are not familiar with interoperability productions, see Introduction to Productions. PEX provides fle xible co
# Preparing to Create Productions The following sections provide an outline of the documentation resources where you may want to start, depending on your role. ### 1.1 InterSystems IRIS Production Developer If you are a developer preparing to create or use InterSystems IRIS® productions, see the following resources: 1. Introducing Interoperability Productions provides an overview of InterSystems IRIS Interoperability and options that you may want to include in your productions, with pointer
# Process Memory in InterSystems Products ## 1 Introduction Processes use many different resources to accomplish their goals. These include some or all of CPU cycles, memory, external storage, network bandwidth, and others. This page is about memory usage. Specifically , it deals with the memory that InterSystems IRIS® data platform allocates for data storage, such as: - Public and private variables These are assigned memory space when a value is first assigned to them. In the case of local a
# Projecting Objects to XML Table 4–2: Exporting Empty Strings and Null Values for a Property Projected to XML as an Element Table 4–3: Exporting Empty Strings and Null Values for a Property Projected to XML as an Attribute Introduction to Object-XML Projections This topic introduces how to project objects to XML and explains why you might want to do this. For information on XML standards supported in InterSystems IRIS® data platform, see XML Standards Supported by InterSystems IRIS. ### 1.
# Python Development Guide Orientation for Python Developers Whether you are a data scientist, backend developer, or integration engineer, Python is likely a key part of your toolkit. With InterSystems IRIS® data platform, you can bring the full power of Python into a high-performance, multi-model data platform without compromising on speed, scalability, or fle xibility. This documentation is a guided journey into using Python with InterSystems IRIS. Whether you are embedding Python directly
# R Gateway Support The InterSystems R Gateway is an extension of the Java External Server that enables a connection to an R interpreter through third party software. It incorporates two third party packages: - Rserve is a binary package that provides a TCP/IP connection to an R interpreter. - R-Engine is a Java client for Rserve. These packages allow InterSystems IRIS to access the R interpreter via the InterSystems R Gateway. The R Gateway provides an interface to the R language that can b
# Routing EDIFACT Documents in Productions Introduction to EDIFACT This page briefly introduces the EDIF ACT standard and InterSystems IRIS® data platform support for EDIFACT. The Electronic Data Interchange For Administration, Commerce, and Transport standard (EDIFACT) is also known as the International Standards Organization (ISO) Standard ISO 9735-6. United Nations rules for Electronic Data Interchange For Administration, Commerce and Transport comprise a set of internationally agreed sta
# Routing X12 Documents in Productions Introduction to X12 This page briefly introduces the X12 standard and InterSystems IRIS ® data platform support for X12. The American National Standards Institute (ANSI) founded the Accredited Standards Committee (ASC) X12 as a crossindustry forum to build and support electronic data exchange standards, related documents and products intended for worldwide use. Thus, X12 is the ANSI standard for Electronic Data Interchange (EDI). There are more than 300
# Routing XML Virtual Documents in Productions Introduction to XML Virtual Documents InterSystems IRIS® data platform provides support for XML documents as virtual documents. A virtual document is a kind of message that InterSystems IRIS parses only partially. This kind of message has the standard production message header and the standard message properties such as ID, Priority, and SessionId. The data in the message, however, is not available as message properties; instead it is stored direc
# Scanning for Deprecated Code The class %SYSTEM.CodeScanner enables you to quickly find code that refers to deprecated classes and deprecated class members. This class provides two class queries, described here. ## 1 ScanDocuments Query The ScanDocuments class query returns a result set that contains the following fields: - Document identifies the class or routine that contains the reference. F or example: - ResearchXForms.BasicDemo.cls Location identifies the location of the reference, w
# Securing Web Services InterSystems IRIS supports parts of the WS-Security, WS-Policy, WS-SecureConversation, and WS-ReliableMessaging specifications, which describe ho w to add security to web services and web clients. This topic summarizes the tools and lists the supported standards. If your InterSystems IRIS web client uses a web service that requires authentication, and if you have a special reason to do so, you can use the older WS-Security login feature. See Using the WS-Security Login
# Security Reference Securing Your Instance Because security requires actions within an instance and in an instance’s larger environment, InterSystems IRIS provides both guidance and tools to help secure an instance. These include: - A checklist of topics to review as you prepare to deploy InterSystems IRIS. - A guide and tools for securing an instance using its built-in features. - A checklist for hardening security for an instance at the operating-system level and by managing its processe
# Security Strategy The best time to start planning for securing your InterSystems IRIS® instance occurs before you perform the initial installation. The section Prepare for InterSystems Security describes some issues you should consider prior to installing InterSystems IRIS® instance. In general, for production systems, InterSystems recommends that you start with the highest possible level of security and then grant privileges only as required. A good place to start is by performing an install
# Semaphores in InterSystems Products ## 1 Background Wikipedia has this definition of semaphore: “In computer science, particularly in operating systems, a semaphore is a variable or abstract data type that is used for controlling access, by multiple processes, to a common resource in a parallel programming or a multi user environment.” A semaphore is different from a mutex (or lock). A mutex is most often used to regulate competing processes access to a single resource. A semaphore is employ
# Server Migration Guide Many possible scenarios exist where you want to take an existing instance of InterSystems IRIS® data platform and move it from one server to another. For example, if you want to move to a new server that is a similar or identical to the original server, you can use a full system restore. Other scenarios can be more challenging, such as when the existing server is running an operating system that is no longer supported and you need to move the instance to a new server r
# Specialized System Tools and Utilities Language Support Modern applications can adapt to various languages and regions without engineering changes. This process is called internationalization. The process of adapting an application to a specific re gion or language by adding specific components for that purpose is localization. The set of parameters that defines the user language, country , and any other, special variant preferences is a locale. Locales specify the conventions for the input
# SQL Performance Overview InterSystems SQL provides several capabilities that improve the performance of your SQL queries. These capabilities include: - Automatically optimized query plans that efficiently process the queries based on the table data and the runtime parameters. - Query analysis tools for tracking down slow-running queries or monitoring new queries running in production. - Various table indexing methods for choosing the optimal index on frequently queried columns. - Configur
# String Localization and Message Dictionaries Introduction to String Localization This page provides an overview of string localization in InterSystems products — a key part of the localization support. ### 1.1 Localization Basics When you localize the text for an application, you create an inventory of text strings in one language, then establish a convention for substituting translated versions of these messages in another language when the application locale is different. Accordingly, In
# System Administration Guide Appendix A: Configuring Third-Party Software to Work in Conjunction with InterSystems Products List of Tables Table 10–2: User Profile Properties InterSystems IRIS® data platform enables you to perform system administration and management tasks via a web application, the InterSystems Management Portal. ### 1.1 Starting the Management Portal You can start the Management Portal in the following ways: - On Microsoft Windows platforms, click Management Portal on
# System Resource Planning and Management When developing and running an application on InterSystems IRIS, you should consider the system resources that you have at your disposal and manage them to optimize the performance of your system. This page can help you to estimate the resources needed for a given workload or to optimize your available resources for your workload. Before deploying your instance you can use the following sections to estimate the resources required for optimal performanc
# The %UnitTest Framework for InterSystems IRIS Framework %UnitTest is the InterSystems IRIS unit testing framework. Developers familiar with xUnit frameworks will find the structures contained within %UnitTest familiar: - Create unit tests by extending the %UnitTest.TestCase class, adding test methods. See Extending the %UnitTest.TestCase Class for details. - Execute preparation and cleanup tasks by adding code to special cleanup and preparation methods in the %UnitTest.TestCase class. - S
# Transact-SQL (TSQL) Migration Guide Planning and Performing TSQL Migration InterSystems TSQL is an implementation of the Transact-SQL procedural language which supports many of the features of both the Sybase and Microsoft implementations. Transact-SQL is used with Sybase Adaptive Server, Microsoft SQL Server (MSSQL), and other platforms. Note: Sybase Adaptive Server (ASE) is the implementation primarily described on this page, though much of this information is relevant to any Transact-SQ
# UNIX®, Linux, and macOS Installation Overview The UNIX®, Linux, and macOS Installation Guide provides guidance on installing kit-based deployments on UNIX®, Linux, and macOS. ### 1.1 How to Use This Guide For all installations, you should begin with the Pre-Installation steps. You can then follow the steps for either an attended or unattended installation. The attended installation process is different depending on the setup type you choose. After following the steps for attended installat
# UNIX®, Linux, and macOS Installation Details AIX® Platform Notes The default settings of several AIX® parameters can adversely affect performance. The settings and recommendations are detailed for the following: - I/O Pacing Parameters - File System Mount Option - Memory Management Parameters - Required C/C++ Runtime Libraries - Shared Library Environment Variable for InterSystems IRIS Shared Library Support - Use of Raw Ethernet - 1.1 I/O Pacing Parameters AIX® implements an I/O paci
# Upgrade an Instance Pre-Upgrade Steps This topic is intended for customers who are upgrading from an earlier version of InterSystems IRIS®, InterSystems IRIS for Health™, or HealthShare® HealthConnect. Customers looking to migrate from InterSystems Caché® should see Why Migrate to InterSystems IRIS? Note: Health Connect 2019.1 was the first release of Health Connect that is po wered by InterSystems IRIS. Because of this change in underlying technology, a special upgrade procedure is requir
# Upgrade Reference Special Considerations When Upgrading This page includes special considerations that should be reviewed when upgrading. Each item includes Affects Upgrade From Versions (upgrades from these versions are impacted), the Conditions where the item is relevant, the Ramifications of the item, and any Instructions that should be followed for addressing the item. These instructions supplement Pre-Upgrade Steps. The considerations are listed from most recent to oldest affected vers
# Using APIs for External Messaging Platforms Using the Messaging APIs InterSystems IRIS provides messaging APIs that can be used to communicate directly with a variety of messaging platforms: JMS, Kafka, RabbitMQ, Amazon Simple Notification Service (SNS) , and Amazon Simple Queue Service (SQS). These API classes are available in the %External.Messaging package. Most of the code flo w is the same regardless of the platform. This page discusses this common flo w and the common classes and meth
# Using a Production as an ESB Overview This topic introduces using InterSystems IRIS® data platform as an Enterprise Service Bus, describes the InterSystems IRIS ESB architecture, and provides an overview of deploying an ESB. ### 1.1 Enterprise Service Bus Concepts An Enterprise Service Bus (ESB) provides a single point to both access and govern applications that have SOAP, REST, or other network APIs. The ESB provides the following capabilities: - Provides a centralized location to discov
# Using Dashboards and the User Portal This page introduces the InterSystems IRIS® data platform User Portal, which is meant for end users of InterSystems IRIS Business Intelligence. Be sure to consult InterSystems Supported Platforms for information on system requirements. ### 1.1 Purpose of the User Portal The User Portal is intended for direct use by end users and is designed to enable you to do the following tasks: - View and use dashboards and pivot tables, all containing key informati
# Using DataMove with InterSystems IRIS This document describes how to use the DataMove process to move existing data associated with an InterSystems IRIS® data platform namespace to a new location. Important: InterSystems highly recommends that you test DataMove with your specific namespaces and databases in a test environment before using it on a live system. Note: Some single lines of code in this document wrap across lines, due to the page and font sizes. ## 1 Introduction to DataMove
# Using Document Database (DocDB) Database (DocDB) InterSystems IRIS® data platform DocDB is a facility for storing and retrieving database data. It is compatible with, but separate from, traditional SQL table and field (class and property) data storage and retrie val. It is based on JSON (JavaScript Object Notation) which provides support for web-based data exchange. InterSystems IRIS provides support for developing DocDB databases and applications in REST and in ObjectScript, as well as prov
# Using Email Adapters in Productions Using the Email Inbound Adapter This topic describes the default behavior of the email inbound adapter (EnsLib.EMail.InboundAdapter) so that the production can send and receive email and describes how to use this adapter in your productions. You should be familiar with the requirements and limitations of the SMTP or POP3 server with which you are working. ### 1.1 Overall Behavior First, it is useful to understand the details that you specify for the adap
# Using Embedded Python Introduction and Prerequisites Embedded Python allows you to use Python as a native option for programming InterSystems IRIS applications. If you are new to Embedded Python, read Introduction to Embedded Python, and then read this document for a deeper dive into Embedded Python. While this document will be helpful to anyone who is learning Embedded Python, some level of ObjectScript familiarity will be beneficial to the reader . If you are a Python developer who is new
# Using File Adapters in Productions Using the File Inbound Adapter This topic describes how to use the file inbound adapter ( EnsLib.File.InboundAdapter). Tip: InterSystems IRIS® data platform also provides specialized business service classes that use this adapter, and one of those might be suitable for your needs. If so, no programming would be needed. See Business Host Classes That Use File Adapters. ### 1.1 Overall Behavior EnsLib.File.InboundAdapter finds a file in the configured loc
# Using FTP Adapters in Productions Using the FTP Inbound Adapter This page describes how to use the FTP inbound adapter (EnsLib.FTP.InboundAdapter), which can provide both FTP and SFTP input to a production. Tip: InterSystems IRIS® data platform also provides specialized business service classes that use this adapter, and one of those might be suitable for your needs. If so, no programming would be needed. See Connectivity Options. ### 1.1 Overall Behavior The EnsLib.FTP.InboundAdapter en
# Using IBM WebSphere MQ Adapters in Productions About the IBM WebSphere MQ Adapters The InterSystems IRIS® IBM WebSphere MQ inbound and outbound adapters enable your productions to retrieve messages from and send messages to message queues of InterSystems IRIS IBM WebSphere MQ. This topic provides a brief introduction to these adapters. It is assumed that you are reasonably familiar with the IBM WebSphere MQ product and have access to its formal documentation. ### 1.1 Prerequisites In orde
# Using IntegratedML Introduction to IntegratedML IntegratedML is a feature within InterSystems IRIS® data platform which allows you to use automated machine learning functions directly from SQL to create and use predictive models. ### 1.1 Purpose Successful organizations recognize the need to develop applications that effectively harness the massive amounts of data available to them. These organizations want to use machine learning to train predictive models from large datasets, so that the
# Using Internet Utility Classes Sending an HTTP Request This topic describes how to send HTTP requests (such as POST or GET). ### 1.1 Introduction to HTTP Requests You create an instance of %Net.HttpRequest to send HTTP requests of various kinds and receive the responses. This object is equivalent to a web browser, and you can use it to make multiple requests. It automatically sends the correct cookies and sets the Referer header as appropriate. To create an HTTP request, use the following
# Using InterSystems MDX Business Intelligence and MDX This page explains how InterSystems IRIS® data platform Business Intelligence supports MDX (MultiDimensional eXpressions), which is a query language implemented by many vendors. Be sure to consult the InterSystems Supported Platforms for information on system requirements for Business Intelligence. ### 1.1 Purpose of Business Intelligence The purpose of Business Intelligence is to enable you to embed business intelligence (BI) into your
# Using InterSystems SQL Search SQL Search The InterSystems IRIS® SQL Search tool integrates with the InterSystems IRIS Natural Language Processor (NLP) to perform context-aware text search operations on unstructured data, with capabilities such as fuzzy search, regular expressions, stemming, and decompounding. Searching is performed using a standard SQL query with a WHERE clause containing special InterSystems SQL Search syntax. ### 1.1 Try it Searching Unstructured Text Data ### 1.2 Read
# Using InterSystems UIMA Important: Implementation of UIMA within InterSystems products has been deprecated. It may be removed from future versions of InterSystems products. The following documentation is provided as reference for existing users only. Existing users who would like assistance identifying an alternative solution should contact the WRC. Important: This version of InterSystems IRIS® does not include JAR files which are necessary to implement UIMA. Refer to Build Updated Apache
# Using Java Messaging Service (JMS) in Interoperability Important: This page discusses a legacy implementation of JMS messaging that should not be used for new implementations. This legacy implementation may be removed in future releases. Instead, use the JMSPEX interoperability adapters (inbound and outbound) which InterSystems has implemented using the PEX framework. Alternatively, use the JMS Messaging API. The Java Messaging Service (JMS) is a Java messaging framework for providing commu
# Using JSON Using JSON in ObjectScript InterSystems ObjectScript syntax includes integrated support for JSON (https://json.org/). A set of fast, simple, powerful features allow you to work with JSON data structures as easily as you do with objects or tables: - With ObjectScript syntax for JSON, you can use standard ObjectScript assignment statements rather than method calls to create and alter dynamic entities at run time. The values of object properties and array elements can be specified e
# Using %Library.File What Is %Library.File? The %Library.File class (%File for short) provides an extensive API for working with files and directories. This document describes the main features of this API, for example, listing directory and drive contents; creating, copying, and deleting directories and files; setting and getting file attrib methods, and queries, see the class reference. utes; and reading and writing files. F or a canonical list of properties, If you specify a partial file
# Using MQTT Adapters in Productions Telemetry Transport (MQTT) The Message Queuing Telemetry Transport (MQTT) is a lightweight protocol designed to allow many devices to publish data on the network. MQTT is a lightweight message protocol that is designed to allow a high message throughput even over networks with limited bandwidth. Its publish and subscribe mechanism and use of a broker server make it possible to reliably communicate messages over low-bandwidth networks even if the message pub
# Using ObjectScript Introduction to ObjectScript ObjectScript is a built-in, fully general programming language in InterSystems IRIS® data platform. ObjectScript source code is compiled into object code that executes within the InterSystems IRIS Virtual Machine. This object code is highly optimized for operations typically found within business applications, including string manipulations and database access. ObjectScript programs are completely portable across all platforms supported by Inte
# Using PMML Models with InterSystems Products Products This page discusses how to use the InterSystems IRIS® data platform runtime support for PMML (Predictive Modelling Markup Language). ## 1 Background PMML (Predictive Modelling Markup Language) is an XML-based standard that expresses analytics models. It provides a way for applications to define statistical and data mining models so that the y can be easily reused and shared. The standard is particularly helpful because the analytics too
# Using REST Services and Operations in Productions Creating REST Services in Productions This page describes briefly ho w to create a Business Service that is also a REST service. This REST service will be able to receive REST requests and pass them to a Business Process or Business Operation elsewhere in the production. The approach varies by your needs. If you want to: - Parse and process the request in the production—use a subclass of %CSP.REST and call the Ens.Director.CreateBusinessSer
# Using Security APIs and Role Escalation Starting with InterSystems IRIS 2025.2, all security APIs require the following privileges: - %DB_IRISSYS:R - %Admin_Secure:U The OAuth2 classes also require one of the following, depending on the class and operation: - %Admin_OAuth2_Client:U— Creating and using InterSystems IRIS as a client or resource server. - %Admin_OAuth2_Server:U — Configuring and using InterSystems IRIS as an authorization serv er. - %Admin_OAuth2_Registration:U — Revoking
# Using SQL Using InterSystems SQL InterSystems SQL provides a full set of standard relational features, including the ability to define table schema, e xecute queries, and define and e xecute stored procedures. ### 1.1 Get Started - InterSystems SQL Features provides an overview of InterSystems SQL as it relates to software standards and interoperability. - InterSystems SQL Basics describes the fundamental features of InterSystems SQL, such as tables and queries, and how to execute InterSy
# Using SQL in Productions Introduction to SQL Adapters Using an interoperability production to work with data from an external relational data source is possible by executing an SQL query or procedure from within the production. The easiest way to execute the query or procedure is to add a pre-built business service or business operation to your production. These business services and business operations allow your production to communicate with JDBC- or ODBC-compliant databases using built-i
# Using TCP Adapters in Productions Using the Inbound TCP Adapters This page describes how to use the primary TCP inbound adapters (EnsLib.TCP.CountedInboundAdapter, EnsLib.TCP.CountedXMLInboundAdapter, and EnsLib.TCP.TextLineInboundAdapter). Note: After configuring a production that uses TCP inbound adapters, you should use the Port Authority report to check for port conflicts. Also note that port conflicts are possible in scenarios that the Port Authority cannot detect, such as when multip
# Using the Amazon CloudWatch Adapter Amazon CloudWatch is an AWS product that allows you to monitor an application by collecting data for specific metrics. Once you have created a metric in CloudWatch, you can use a business operation in an InterSystems interoperability production to update CloudWatch with values for that metric. InterSystems provides a built-in business operation that uses the CloudWatch outbound adapter to interact with CloudWatch. You also have the option of creating a cust
# Using the Analyzer This page introduces the InterSystems IRIS® data platform Business Intelligence Analyzer. You can access the Analyzer from the InterSystems launcher or from the InterSystems User Portal. ### 1.1 Introduction The Analyzer enables you to create pivot tables, which display aggregated data. Each pivot table is based upon a subject area or a cube. (In the Analyzer, the terms subject area and cube are equivalent to each other; this book uses the term subject area.) When you ac
# Using the Callin API About This Book This book describes how to use the InterSystems Callin API, which offers an interface that you can use from within C or C++ programs to execute InterSystems IRIS® commands and evaluate ObjectScript expressions. In order to use this book, you should be reasonably familiar with your operating system, and have significant e xperience with C, C++, or another language that can use the C/C++ calling standard for your operating system. This book is organized a
# Using the Classes Page This page describes how to use the Management Portal tools for viewing and managing classes. ## 1 Introduction to the Classes Page The Management Portal includes the Classes page, which allows you to manage classes. On this page, you can: - Select Documentation in the row for a class to display documentation for that class in the right pane. - Select Compile to compile classes. - Select Export to export classes. - Select Import to import classes. - Select Delete
# Using the InterSystems ODBC Driver Document Overview See the Table of Contents for a detailed listing of the subjects covered in this document. The InterSystems ODBC driver provides a way to connect to InterSystems databases from external applications via ODBC, and allows InterSystems products to access external ODBC data sources. This document covers the following topics: - Requirements and Configuration — provides an overview of the InterSystems ODBC driver. - Defining an ODBC Data Sou
# Using the InterSystems SQL Gateway SQL Gateway Overview See the Table of Contents for a detailed listing of the subjects covered in this document. The InterSystems SQL Gateway provides access from InterSystems IRIS® data platform to external databases. You can use various wizards to create links to tables, views, or stored procedures in external sources, allowing you to access the data in the same way you access any InterSystems IRIS object: - Access data stored in third-party relational d
# Using the Legacy DTL Editor Note: Starting with 2025.1, the product includes a new DTL editor. To access this application, click Try the new UI on the existing DTL Editor. See Introduction to the DTL Editor. The legacy DTL Editor (the Data Transformation Builder page) enables you to create, edit, and compile DTL transformations. To access this page in the Management Portal, select Interoperability > Build > Data Transformations. Important: After a period of inactivity, the InterSystems Ma
# Using the Legacy Production Configuration P age Note: Starting with 2025.1, you can use a new integrated application to configure productions (and also edit rule sets and DTL data transformations). To create and configure interoperability productions, you use the Production Configuration page, introduced here. ### 1.1 Displaying the Production Configuration Page To display the Production Configuration page: 1. Log in to the Management Portal. 2. Switch to the namespace you want to work
# Using the Native SDK for .NET Native SDK for .NET Overview See the Table of Contents for a detailed listing of the subjects covered in this document. The InterSystems Native SDK for .NET is a lightweight interface to powerful InterSystems IRIS® resources that were once available only in ObjectScript: - Call ObjectScript classmethods and functions. Write custom ObjectScript classmethods or functions for any purpose, and call them from your .NET application as easily as you can call native .
# Using the Native SDK for Java Introduction to the Java Native SDK See the Table of Contents for a detailed listing of the subjects covered in this document. See the Java Native SDK Quick Reference for a brief description of Native SDK classes and methods. The InterSystems Native SDK for Java is a lightweight interface to powerful InterSystems IRIS® resources that were once available only through ObjectScript: - Call ObjectScript Methods — call any embedded language method from your Java ap
# Using the Routines Page The Management Portal provides tools for managing routines. This page describes how to use these tools. See Routine Syntax for more information about routines. ## 1 Introduction to the Routines Page The Management Portal includes the Routines page (System Explorer > Routines), which allows you to manage routines. On this page, you can: - Select Code in the row for a routine to display code for that routine in the right pane. - Select Compile to compile routines. -
# Using the SAP Java Connector in Productions Overview of SAP Java Connector SAP Java Connector (SAP JCo) is a Java-based component that supports communication with an SAP Server in both directions. InterSystems provides components that you can add to a production to enable the production to communicate with SAP JCo, and thus with an SAP Server. The following picture shows the architecture: The architecture includes the Java Gateway, which must be running. To communicate with SAP JCo, the pr
# Using the Windows Terminal Basics of the Terminal Application The Terminal application (available only on Windows) presents the ObjectScript shell in a window that also provides a menu bar with additional options. The primary purpose of the Terminal application is to enable you to execute ObjectScript commands (and see their results), as well as to access various other shells. In the Terminal application, you can also run scripts that use syntax specific to this application. This page provid
# Using the Work Queue Manager ### 1.1 Introduction The Work Queue Manager is a feature of InterSystems IRIS® data platform that enables you to improve performance by distributing work to multiple concurrent processes programmatically. It provides an efficient and straightforw ard API that enables you to off-load process management. InterSystems code uses the Work Queue Manager internally in several places. Wherever you have code that meets the requirements, you can use the Work Queue Manager
# Using the $ZF Callout Interface The InterSystems $ZF Callout Interface See the Table of Contents for a detailed listing of the subjects covered in this document. The InterSystems $ZF Callout Interface is a set of ObjectScript functions that provide several ways to integrate external system and function calls into InterSystems IRIS: - The $ZF(-100) function provides an easy way to call operating system commands and run external programs as you would from a command line interface. - The oth
# Using Virtual Documents in Productions Introduction to Virtual Documents This page explains what virtual documents are, why they are useful, and how they are different from standard messages. It also briefly introduces tools that InterSystems IRIS® data platform pro vides so that virtual documents can be used in all the same ways as standard messages. ### 1.1 Introduction A virtual document is a kind of message that InterSystems IRIS® data platform parses only partially. To understand the
# Using WebSockets (RFC 6455) The WebSockets protocol (RFC 6455) addresses the fundamental requirement of allowing servers to proactively push messages to clients by providing a full-duplex message-oriented communications channel between a client and its server. The protocol is designed to operate, and hence be secured, over the standard TCP channel already established between the client and server and used to support the HTTP protocol between a web browser and web server. The WebSockets proto
# Using XML Tools Introduction to InterSystems XML Tools In InterSystems IRIS® data platform, you can use objects as a direct representation of XML documents and vice versa. Because InterSystems IRIS includes a native object database, you can use such objects directly with the database. Furthermore, InterSystems IRIS provides tools for working with arbitrary XML documents and DOMs (Document Object Model) — even documents that are not related to any InterSystems IRIS classes. Some of the XML t
# Web Gateway Guide C.2.1 Method 1: Building the CSP Module as Shared Object with apxs (APache eXtenSion) Appendix D: Add the Web Gateway to a Locked-Down Apache Installation (UNIX®/Linux/macOS) The Web Gateway: Serve InterSystems Web Applications and REST APIs to a Web Client An InterSystems IRIS® web application consists of code which provides content dynamically to a web client (usually a web browser) in response to a request. The InterSystems Web Gateway makes this possible: it is a soft
# Windows Installation Details Windows User Accounts When installing InterSystems IRIS, you must choose the Windows user account to run the InterSystems service, InterSystems IRIS Controller for <instance-name>. There are two options: - The default SYSTEM account (Windows Local System account). This is used in Minimal security installations. - A defined Windows user account. This account must have interactive login privileges for the duration of the installation; they can be revoked after.
# Windows Installation Guide Windows Installation Overview The Windows Installation Guide provides guidance on installing kit-based deployments on Microsoft Windows. ### 1.1 How to Use This Guide For all installations, you should begin with the Pre-Installation steps. You can then follow the steps for either an attended or unattended installation. The attended installation process is different depending on the setup type you choose. After following the steps for attended installations, use t
# XDBC Gateway XDBC Gateway Overview The XDBC Gateway provides a single interface for connecting InterSystems IRIS® to an external database with JDBC or ODBC. It acts as the modern, streamlined successor to the SQL Gateway. The XDBC Gateway acts like a JDBC or ODBC driver and lets you perform any of the following operations: - Access data stored in third-party relational databases within InterSystems IRIS applications. - Store persistent InterSystems IRIS objects in external relational data
# Scalability Guide Figure 2–3: Remote databases on a data server mapped to namespaces on application servers in a distributed List of Tables InterSystems IRIS Scalability Overview Today’s data platforms are called on to handle a wide variety of workloads. As a workload of any type grows, a data platform must be able to scale to meet its increasing demands, while at the same time maintaining the performance standards the enterprise relies on and avoiding business disruptions. This page revi
# Data Integrity Guide Resiliency and Data Integrity InterSystems IRIS uses several advanced mechanisms to protect the structural and logical integrity of your data from error, malfunction, and disaster. Write image journaling technology protects against structural integrity failures due to system crashes, while logical integrity is maintained by journaling and transaction processing. Together with a backup strategy, InterSystems IRIS data integrity mechanisms provide rapid recovery from syste