I am trying to create the JSON message below for a REST API:
{
Property ItemId As %String;
Property Item As list Of AllItems;
}
Class AllItems:
InterSystems IRIS is a Complete Data Platform
InterSystems IRIS gives you everything you need to capture, share, understand, and act upon your organization’s most valuable asset – your data.
As a complete platform, InterSystems IRIS eliminates the need to integrate multiple development technologies. Applications require less code, fewer system resources, and less maintenance.
I am trying to create the JSON message below for a REST API:
{
Property ItemId As %String;
Property Item As list Of AllItems;
}
Class AllItems:
When creating the db using the Properties array, if I use a literal like "/iris/db/<instance name>/<directoryname>" it's created in the correct directory.
set Properties("Directory")="/iris/db/InstanceName/DirectoryName"
but when it's executed with a variable, as in the example below, it gets created in /iris/sys/<instance name>/mgr/
set directoryPath="/iris/db/InstanceName/DirectoryName"
set Properties("Directory")=directoryPath
Is there any reason string literals work and variables do not?
We continue with the series of articles based on the QuinielaML application.
.png)
In today's article I will describe how to work with the Embedded Python functionality available in InterSystems products.
Embedded Python allows us to use Python as a programming language within our productions, being able to take advantage of all the features available in Python. Here you can expand information about it.
We have a customer with a production used to manage DICOM messages and they are asking us about de StorageLocation configuration. The question is:
Is there a way inside IRIS to define a purge over the folder used as StorageLocation?
Thank you in advance!
Hi ommunity,
I am downloading an Excel xlsx from the web with the below method and saving it as xlsx, how do I convert and save xlsx as csv?
ClassMethod DownloadFileUrl()
{
Set httprequest = ##class(%Net.HttpRequest).%New()
Set httprequest.Server = "www.health.gov.za"
Set httprequest.SSLConfiguration = "SSL_OAUTH_Client"
Do httprequest.Get("/wp-content/uploads/2021/04/ICD-10_MIT_2021_Excel_16-March_2021.xlsx")
write httprequest.HttpResponse.StatusLine
Set stream=##class(%FileBinaryStream).%New()
Set stream.Before we start talking about databases and different data models that exist, first we'd better talk about what a database is and how to use it.
A database is an organized collection of data stored and accessed electronically. It is used to store and retrieve structured, semi-structured, or raw data which is often related to a theme or activity.
At the heart of every database lies at least one model used to describe its data. And depending on the model it is based on, a database may have slightly different characteristics and store different types of data.
To write, retrieve, modify, sort, transform or print the information from the database, a software called Database Management System (DBMS) is used.
The size, capacity, and performance of databases and their respective DBMS have increased by several orders of magnitude. It has been made possible by technological advances in various areas, such as processors, computer memory, computer storage, and computer networks. In general, the development of database technology can be divided into four generations based on the data models or structure: navigational, relational, object and post-relational.


Hi !
I'm looking for a simple way to store in a string a list in $lb representation. Ex :
Set list = $ListBuild("data2", "data2", "data3")
ZWrite list
/* show : list=$lb("data1","data2","data3") */With the ZWrite command, we can display the $lb representation but I would like to store it in a string variable.
Trying to write multiple records to a file via Record Mapper from a single inbound DFT transaction with multiple FT1 segments. DTL with HL7 DFT inbound and Record Mapper outbound checks field values in both FT1 segment and PV1 segment within a "foreach" loop, and if criteria are met for a particular FT1 then the target fields in the record map are set with values from multiple segments (MSH, PID, PV1, and FT1). Currently in this setup, only the last qualifying FT1 segment's fields will write to the file (if there is more than one qualifying FT1 segment).
Is there a best practice to set the memory options (classic xms and xmx) on the JavaGw service in the production?
What can be recommended?
Like specifying 1024M for xmx is for a single process? that process can't grow beyond that value right? what happen if the process reach the memory limit?
Thanks
Pietro
Hello All,
How do I generate my own method for all properties in my class definition like auto-generated methods PropertyGet(), PropertySet(), PropertyGetStored().
Thanks.
We're trying to get a little more discipline around Web Gateway change control, and deploy changes to our CSP.ini from source control. I was wondering if anyone cared to share their best practices in this area? There is a "RELOAD" parameter (https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cl…) which says you can put RELOAD=1 in your CSP.ini file in order to force it to automatically activate when noticed by the daemon.
Do people use this approach, and keep RELOAD=1 stored in their CSP.ini in source control?
hello,
Is there an InterSystems IRIS connector that allows connect to the IRIS data platform (Hubic) from Power Apps / Power Automate ?
Thanks
I have enabled Audit in Portal for monitoring license usage.
When the system is under load, this event appears quite often :
| Event Source | Event Type | Event | User | Web Session | Description |
| %System | %Login | Login | UnknownUser | %Service_WebGateway |
It does not seems to cause issue with licensing , still, I am wondering why it's there and how it works (what cause such events).
After some tests (on a non production environment, not under load), here is what I have found out :
The latest Node.js Weekly newsletter included a link to this article:
https://thecodebarbarian.com/getting-started-with-vector-databases-in-n…
I'm wondering if anyone has been considering or actually using IRIS as a vector database for this kind of AI/ChatGPT work?
Hi Developers,
Watch this video to see how you can use IntegratedML time-aware modeling in InterSystems IRIS to make predictions for data values based on historical trends, and how this differs from traditional IntegratedML modeling:
Today we continue expanding our last article by sharing information about some features we added to our portal. We will include a pinch of CSS to visualize the available data better and export it. Finally, we will study how to add some filtering and ordering options. By the end of this article, you should be able to display a complete simple query beautifully.
We should pick up where we left off before proceeding to the development of the
You can see the free available space for the database using the radio button "Free Space View" in Management Portal: System Operation > Databases.
And it can be obtained programmatically by the FreeSpace query of the system class SYS.Database.
.png)
It sometimes happens that due to an adverse event the AUDIT database (IRISAUDIT) has grown to such proportions that the disk it resides on is full and the daily purge cannot be expected to reclaim disk space.
As IRISAUDIT is a system database required at startup, there is no question of attempting to restart IRIS after simply deleting IRIS.DAT from the <IRIS ROOT>/mgr/irisaudit/ database, nor of hot swapping, by system manipulations trying to dismount, replace, remount, since it is simply not possible to dismount it.
.png)
I cannot get any further hint from the error message in red in this screenshot. Is there any clue or details about the connection failure that I could look for?
InterSystems has also released IRIS as containerized deployments. This post is to demonstrate how InterSystems IRIS and applications those rely on IRIS a backend can be packaged into an image and be run in other machines in containers and how simple it is to do that.
A container runs image/s which have all the necessary executables, binary code, libraries, and configuration files. And the images can be moved from one machine to another, and an images repository like Docker Hub can simplify that process.
I have used an application from Open Exchange for this demo.
Demo video: https://www.loom.
The JSON is a data document free of types and validation rules. However, in some scenarios it is important that the JSON document has type and business rules validation, especially in interoperability scenarios. This article demonstrates how you can leverage a market-defined JSONSchema technology that is open for everyone to use and do advanced validations.
According to json.org, “JSON (JavaScript Object Notation) is a lightweight data-interchange format. It is easy for humans to read and write. It is easy for machines to parse and generate.
A bit of an old school CSP question. <csp:search> is a really nice, quick way to make easy lookups for CSP pages, especially for back office stuff that doesn't need to look pretty for the modern web app user.
At any rate, I'm here at the moment:
<csp:search SHOWSQL=1 NAME="OrgSearch" SELECT="OrganizationName Organization Name,Abbreviation,Software->Abbreviation Software" WHERE="OrganizationName Organization Name,Abbreviation,Software->Abbreviation Software" STARTVALUES=",,Software" PREDICATES="%startswith,%startswith,%startswith" CLASSNAME="AppLibrary.
Welcome dear members of the Community to the presentation and first article of a small project that will demonstrate the capabilities of InterSystems IRIS to provide full backup functionality for a web application developed in Angular. This article will be limited to presenting the concept as well as the InterSystems IRIS functionalities used in a general way, going into more detail in subsequent articles.
.png)
Hey Community,
Watch this video to learn about the latest developments in client connectivity across Java, .NET, JavaScript, and Python:
It can be obtained using AllFields query of %SYS.ProcessQuery class.
For the details, please refer to the document Process (Job)【IRIS】/Process (Job).
An example of execution in the terminal is as follows.
USER>set stmt=##class(%SQL.Statement).%New()
USER>set st=stmt.%PrepareClassQuery("%SYS.ProcessQuery","AllFields")
USER>write st // you can call %Execute() when st = 1
1
USER>set rset=stmt.%Execute()
USER>while rset.%Next() { write rset.%Get("JobNumber"),"-",rset.%Get("Pid"),"-",rset.%Get("OSUserName"),"-",rset.%Get("CurrentDevice"),"-",rset.%Get("Routine"),"-",rset.
A Quick start to include InterSystems IRIS Tables in Data Build Tool using Python.
It uses the sqlalchemy plugin with sqlalchemy-iris which enables the iris strategy for duckdb as a source for a dbt project.
EDIT: If you stumbled here on Google Geuse for "iris dbt", your best bet is to checkout dbt-iris for the native adapter implementation that follows dbt guidelines.
Im out of town for the Python meetup in Cambridge, but will submit to the InterSystems Python Programming Contest starting in September.
Has anyone firstly got VIP working for mirroring in Azure? We are pretty sure that this won't work but I wanted to verify it.
Has anyone used the Azure Load balancer to act as a Virtual IP and if so was a application gateway required.
Interested to know your experiences in getting this working.
Hi,
We're using a database gateway from IRIS to Oracle using ODBC. It has been occurring a character set issue that invalidate special characters.
Oracle support has found data type missmatch in ODBC debug while transfering data between the databases.
ODBC was download from official website.
Is there any Intersystems contact to send it to check whether there is a ODBC issue? I hasn't found any directy contact in Intersystems in website.
Hi,
I don't found how to get params send by a GET REST query (not in url but by request param).
this is config of the call in postman
I try to get %request.Data, doesn't work : Data is undefined
I try to get %request.GetCgiEnv("Data"), doesn't work, return ""
I do ZW %request and see that my parameter is present in cgi parameters, but I don't now how to access it.
As an example of an application on Java working with Hibernate dialect for IRIS, wanted to use RealWorld application, and found realization for Quarkus. RealWorld application is an example of an application close to some real one, with already prepared tests for the backend. Most of the examples of realizations can be found here

The RealWorld example application is often referred to as the "Wikipedia for building full-stack applications." It serves as a standardized prototype that developers can use to create applications using various programming languages and frameworks. The application provides a real-world use case by mimicking a blogging platform, complete with features like user authentication, profile management, article posting, and comments. With a comprehensive set of specifications, including ready-made backend API documentation and frontend designs, it allows developers to see how the same functional requirements are implemented across different technology stacks. The RealWorld example is widely used as a learning tool and a benchmark for comparing various technologies.
Quarkus is an open-source, Kubernetes-native Java framework tailored for the GraalVM and HotSpot. Created with the aim to enhance the modern cloud-native environment, it significantly reduces the footprint and startup time of Java applications. Quarkus is known for its "container-first" philosophy, allowing developers to build lightweight, high-performing applications with a focus on microservices architecture. This flexibility has made it a popular choice for organizations looking to transition into serverless or cloud-based platforms, combining both imperative and reactive programming models. Whether it's a traditional web application or a complex system of microservices, Quarkus provides a robust platform for building scalable and maintainable software.