Hi,
I want to list the source if a class in an 'iris session'.
I know I can get a list of all classes in a namespace:
iris session <session> -U "%SYS"
DO $SYSTEM.OBJ.ShowClasses()
===
Is there a similar sinmple command to get the source of a class?
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.
Hi,
I want to list the source if a class in an 'iris session'.
I know I can get a list of all classes in a namespace:
iris session <session> -U "%SYS"
DO $SYSTEM.OBJ.ShowClasses()
===
Is there a similar sinmple command to get the source of a class?
Summary: if you concatenate filenames into /STDOUT and /STDERR in a $zf(-100) call, quote them.
I hit an <ILLEGAL VALUE> error from the following that initially stumped me. This was part of a unit test that worked perfectly fine on Windows, but when CI ran on Docker it failed:
Set outFile = ##class(%Library.File).TempFilename()
Set outDir = ##class(%Library.File).NormalizeDirectory(##class(%Library.File).TempFilename()_"dir-out")
Do ##class(%Library.File).CreateDirectoryChain(outDir)
Do $$$AssertEquals($zf(-100,"/STDOUT="_outFile_"/STDERR="_outFile,"tar","-xvf",tempDir_".I have a custom IPM resource processor like:
<Resource Name="example.json" ProcessorClass="OSEX.ipm.demo.IpmResourceProcessor" Foo="from manifest Resource attribute"/>
What is the best practice to deploy the custom resource processors to the IRIS instance? It can't be part of the module that uses it for obvious (?) chicken-egg situation.
My best idea atm is to put all those custom processors into a (library) module and all modules using any of them just have a dependency to the custom processors module.
Hi Community, OpenAPI-Client Gen has just released, this is an application to create an IRIS Interoperability Production client from Swagger 2.0 specification. Instead of the existing tool ^%REST that creates a server-side REST application, OpenAPI-Client Gen creates a complete REST Interoperability Production client template.
Install by ZPM:
zpm "install openapi-client-gen"
How to generate production from Swagger document? It's very simple.
Open a terminal and execute:
Set sc = ##class(dc.openapi.client.Spec).generateApp(<applicationName>, <Your Swagger 2.I'm running a query, joining nine tables together. When I run it with a SELECT COUNT(*) I get about 200,000 rows. When I run the SELECT with the columns I want, I get about 2,700 rows. Is there something inherent with the queries that limits the result set size, or anything I can do to make sure I'm getting back all the results? Rather, than trying to run it about 100 times limiting all previously gotten accounts.
Hello,
Could not connect to DB using IRIS studio, and I don`t know why, maybe someone can help.
Checked already user - it have %All rights
Also, tried using _SYSTEM user, but the same error is occured.
Does anyone have suggestions, I will appreciate your help.
Providing some screenshots regarding this problem.
.png)
Is anyone using the IPM client (e.g., running commands like zpm "install somepackagename") on an IRIS version earlier than 2022.1?
We're thinking about raising the minimum supported version so we can use Embedded Python in IPM. I'm curious if this would impact anyone. Of course, you'd be able to continue to use an earlier version of IPM.
I built a monitoring system in Grafana using the IRIS API /api/monitor/metrics (reading with Prometheus) but I noticed that the RAM usage shown was below that shown by the operating system.
I installed the Zabbix agent and the usage values were higher, but with a line with the same highs and lows but shifted.
The metric in the API is iris_phys_mem_percent_used, described as "Percent of physical memory (RAM) currently in use", in Zabbix it is the Item tag: "component: memory" item: "Memory utilization".
So I know we can run routines using both XECUTE or @
However both of them run slower than just running the routine without it. (that is because as far as i understand, XECUTE command for example will re-compile before running?)
the question is: how can I run a routine by name - and keeping the performance as good as possible?
As the title suggests, I would like to programmatically export each HL7 schema category as XML, either as a stream object or to a file. How would I go about doing this?
.png)
i am trying to embed a dynamic SQL into Objectscript code , but the %NEXT() will return 0 , however when i copy the same query and run it in the SQL bit it will give me the result i want
the code :
set myquery = myquery_" $PIECE(Substring(M.Rawcontent,Charindex('PD1|',M.Rawcontent),1000),'|',4),"
set myquery = myquery_" H1.TargetConfigName,"
set myquery = myquery_" H.Timecreated,"
set myquery = myquery_" H.MessageBodyId"
set myquery = myquery_" FROM"
set myquery = myquery_" Ens.MessageHeader H"
set myquery = myquery_" left outer join Enslib_HL7.Message M ON (H.MessageBodyId=M.
It's not supported at the moment but is it possible to implement the Sonatype Nexus (or JFrog Artifactory) support based on the current (or upcoming) IPM version?
In repo command help I see there is a support for filesystem repositories (which I have not yet tried) and my current (hopefully not far-fetched) interpretation is the IPM is designed to be able to support different repositories:
zpm:IPMTEST1>help repo [.
As the title suggests, I would like to programmatically export each individual data lookup table as XML, either as a stream object or to a file. How would I go about doing this?
I'm trying package IPM command but I'm getting the following error:
zpm:IPMTEST1>package -verbose -only -path /home/irisowner/ osex-ipm-hello
[IPMTEST1|osex-ipm-hello] Package START
Exporting 'OSEX.ipm.hello.Hello.cls' to '/home/irisowner/src/OSEX/ipm/hello/Hello.cls'
Exported to /home/irisowner/module.xml
Module exported to:
/home/irisowner/
[osex-ipm-hello] Package FAILURE
ERROR! ObjectScript error: <VALUE OUT OF RANGE>zConstructTar+19^%ZPM.Utils.FileBinaryTar.1What's wrong here?
I can see all the correct module files created:
$ pwd /home/irisowner $ ll module.

This is a template for a FastApi application that can be deployed in IRIS as an native Web Application.
git clone
cd iris-fastapi-template
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
docker-compose up
The base URL is http://localhost:53795/fastapi/.
/iris - Returns a JSON object with the top 10 classes present in the IRISAPP namespace./interop - A ping endpoint to test the interoperability framework of IRIS.Hello,
I am using the following:
s status = $SYSTEM.OBJ.Load("myClassName," "c")
and while trying to compile it i get an error that a property or method does not exist, more specifically:
Method or Property 'basicToolbar' does not exist in this class.
it's important to say - basicToolbar DOES EXIST! If i manually compile this class through the studio, it will work and is runnable.
only when using the Load command i get this error.
what could possibly be wrong?
i also tried combination of different flags but fail to understand how is this possible.
I have a question about the routing of IIS.
If I have a javascript application that has a single entry point app.html. Is it possible to configure the IIS server such that both the urls
addr:port/entry1 addr:port/entry2
to provide the same app.html and let the javascript code from application decide what component to load next, depending on the path of the URL ?
My IIS server is configured such that when I do a GET url1, ir tries to send entry1.html , respectively entry2.html when I do GET url2.
I am just writing something to share what I encountered last night, which is the IRIS 2024.3 does not comes with Python by default any more!!!
Which means that I need to install it by myself!!😅 The pros is, I can select my python version😁🤭💃 The trouble is.... at the first place.... I don't know what I should do😥. By going through the community (I am much more prefer than the official document, sorry InterSystems document team😓 ), I found the following piece
https://docs.intersystems.com/iris20242/csp/docbook/DocBook.UI.
Our TEST environment and PROD environment are on two different versions of HealthShare Health Connect.
| TEST | IRIS for UNIX (Red Hat Enterprise Linux 8 for x86-64) 2024.1 (Build 267_2U) Tue Apr 30 2024 16:06:39 EDT [HealthConnect:7.2.0-1.r1] |
| PROD | IRIS for UNIX (Red Hat Enterprise Linux 8 for x86-64) 2022.1.4 (Build 812_0_22913U) Thu Dec 7 2023 17:06:30 EST [HealthConnect:3.5.0-1.m1] [HealthConnect:3.5.0-1. |
I'm using $system.obj.load() to synchronize a folder contains many classes (CLS) in UDL format. I use "-d" as flag (compilation is done later one). It's already done in parallel to make it as fast as possible but I was wondering if there was way to make this even faster, for example using some tradeoffs (eg: by turning off some features before loading them all (that would be re-enabled later on)). It's currently taking 250 seconds to import 3000 classes. MAC file and GBL import is much faster.
Hi all.
I hope you can help me.
I've renamed a namespace and its databases names.
The rename of all has worked fine. When I've tried to access to the portal, it is no available, displaying the message "Tha namespace SRV-LABORATORIO does not support productions"
So, I've run the following command in terminal
zn "SRV-LABORATORIO"
do ##class(%EnsembleMgr).EnableNamespace($namespace)My IRIS has created the links to create the production.
Now, I've opened the portal but my code has disappear.
Does InterSystems IRIS has a MEDIAN (or percentile) calculation in SQL?
User-defined aggregate functions have been supported in IRIS since 2021.1.0. I'd wished upon a star for these years ago before finding a secret hacky way to override MAX and MIN in a custom datatype, but didn't get a chance to actually try one out until today. I thought it was an interesting experience/example - the question of how to get a Median in IRIS SQL came up once before - so I'm sharing it here without too much further comment.
The IRIS Management Portal is localized (translated) for some (many?) languages and the language used by the Management Portal interface is determined by the browser settings, often derived from the OS settings (can be changed).
This means that if a user, like me, want to use ONLY the English version of the Management Portal, each and every time you login you need to change the language. VERY annoying.
I know I can change the language configured in Browser, BUT, I want to use English for the IRIS management portal non for all my internet activity!
A recent question from @Vivian Lee reminded me of a rather ancient example.
It was the time when DeepSee's first version was released.
We got Bitmap Index.
And we got BitSlice Index: mapping a numeric value by its binary parts.
So my idea: Why not indexing strings by their characters?
The result of this idea was presented first in June 2008.
IKnow wasn't publicly available at that time.
Two extended maintenance releases of InterSystems IRIS, InterSystems IRIS for Health, and HealthShare Health Connect are now available.
Release 2023.1.5 provides bug fixes for any of the previous 2023.1.x releases.
You can find the detailed change lists & upgrade checklists on these pages:
Release 2024.1.2 provides bug fixes for any of the previous 2024.1.x releases.
Hello Experts ,
Could you help to search message details based on MRN in intersytems iris.
We have created 100+ interfaces and currenly in live (interystems cloud) . Now I try to search message details based on MRN using below query. it is working fine in DEV. but in prod it is taking ages.
SELECT Header.SessionId, Header.SourceConfigName ,Body.RawContent
FROM Ens.MessageHeader AS Header
JOIN EnsLib_HL7.Message AS Body ON Header.MessageBodyId = Body.ID
where Body.TimeCreated BETWEEN '2023-03-15 13:10:22.993' AND '2023-03-15 13:10:25.993'
AND Body.
The maximum number of namespaces that can be created in one instance is 2047. However, to use a large number of namespaces, you will need to configure memory accordingly.
The maximum number of databases (including remote databases) that can be created in one instance is 15998. Depending on the type of license, there may be restrictions on the number that can be created. For details, please refer to the following document.
Database Configuration [IRIS]
Database Configuration
Are there any objectscript functions (not wizards) to export and then import table data (including RowID)?
It doesn't matter what format the exported file is.
The import and export process should preserve all relationships, foreign keys, etc. I need to be able to export and import multiple tables at the same time.
I need this to implement the ability to export multiple tables from one instance and load them into another.
For export I tried %SQL.StatementResult.DisplayFormatted with the CSV option, but it doesn't handle column names. The first line of the file is not csv for some reason.
Hi Developers! Join us at our next in-person Developer Meetup in Cambridge, MA. Topic for this meetup:
Talk 1: Deep dive on RAG and AI Hallucinations - by Thomas Dyar, Product Manager, MA - InterSystems
Talk 2: Leveraging AI to Transform Audio Data for Improved Clinical Outcomes in Healthcare - by Vishal Pallerla, Sales Architect, InterSystems
⏱ Day and Time: November 19, 5:30 p.m. to 7:30 p.m.
📍CIC Venture Café in Cambridge, Massachusetts