By Benjamin Spead, Pravin Barton
By Benjamin Spead, Pravin Barton
In MySQL I have the following table:
CREATE TABLE `info` ( `created` int(11) );
And it is linked (via JDBC SQL Gateway) to Cache table mysql.info. `created` field stores unix timestamp. So when I execute this SQL in SMP:
SELECT created FROM mysql.info
I receive the following output (which is expected):
| created |
| 1435863691 |
| 1436300964 |
But I want to to display `created` field converted to ODBC timestamp format. To do that I call this SQL procedure
Class mysql.utils [ Abstract ]
{
/// Unix timestamp to ODBC
ClassMethod uto(unixstamp As %Integer) As %TimeStamp [ SqlName =Hi Community,
Enjoy the new video on InterSystems Developers YouTube:
⏯ Driving Optimal Business Outcomes: InterSystems Supply Chain Solutions @ Global Summit 2024
Hi Community,
We're excited to invite you to the webinar Configuring a Web Server for use with InterSystems IRIS.
Join this webinar for an engaging and insightful tech talk on the configuration of a web server to use with InterSystems IRIS.
⏱ Date & Time: Thursday, February 27, 10:30 AM GMT
👨🏫 Speaker: @Steve Mallam, HealthShare Team Lead, InterSystems UK&I

The IKO allows for sidecars. The idea behind them is to have direct access to a specific instance of IRIS. If we have mirrored data nodes, the web gateway will (correctly) only give us access to the primary node. But perhaps we need access to a specific instance. The sidecar is the solution.
Building on the example from the previous article, we introduce the sidecar by using a mirrored data node and of course arbiter.
apiVersion: intersystems.com/v1alpha1
kind: IrisCluster
metadata:
name: simple
spec:
licenseKeySecret:
#; to activate ISC license key
name: iris-key-secretIn the WRC, we frequently see customers contact us because their Web Gateway is unable to serve web pages. This article will explain a frequent reason why these errors can occur, and explain some tools which can be used to debug the problem. This explanation is focused on the Web Gateway serving InterSystems IRIS instances, but the same explanation should apply to the CSP Gateway serving Caché instances as well.
The Problem:
Attempting to load a Web Application (either a custom application or the System Management Portal) results in one of the following errors (depending on your browser):

In
Hello Community,
Is it possible to track or determine where the global variable was set (routine or class) in a form of like label+offset^routine?
Regards,
Ashok
Learning LLM Magic
The world of Generative AI has been pretty inescapable for a while, commercial models running on paid Cloud instances are everywhere. With your data stored securely on-prem in IRIS, it might seem daunting to start getting the benefit of experimentation with Large Language Models without having to navigate a minefield of Governance and rapidly evolving API documentation. If only there was a way to bring an LLM to IRIS, preferably in a very small code footprint....
Some warnings before we start
- This article targets any recent version of IRIS (2022+) which includes Embedded
I set up all the credentials and IP, Port, Namespace, SSL/TLS Server Name and .ini file but I still cannot connect to db. and It says
Iris ODBC][State : 08S01][Native Code 459]
[C:\Windows\system32\odbcad32.exe]
Connection via irisconnect failed:
Matching SSL server config not found in ssldefs.ini or registry
"basedOn" : [{
"reference" : "CarePlan?identifier=urn:ietf:rfc:3986|urn:uuid:3aae92e6-9c51-46ab-83bb-bc3a5a66d429"
}],Hello,
I am new to InterSystems FHIR server implementation and in process of evaluating it. (R5)
I try to create a Task referencing a CarePlan resource as above.
I got the following error message and I wonder what could be the mistake as it used to work against another FHIR server implementation. (the referenced CarePlan resource does not exist but I guess that in this case the error code would be different?)
{
"resourceType": "OperationOutcome",
"issue": [
{
Hello,
Please we need some help in connecting IRIS to SAP RFC.
We would appreciate if anyone has a detailed documentation for it.
Thank you
In this article, exceptions are covered.
Working with Exceptions
Instead of returning a %Status response, you can raise and throw an Exception. You are then responsible for catching the exception and validating it. IRIS provides five main classes to handle exceptions effectively. Additionally, you can create custom exception class definition based on your needs.
These exceptions are different from %Status, so you can't directly/efficiently use the exception object with $SYSTEM.OBJ.DisplayError() or $SYSTEM.Status.DisplayError(). Instead, use the DisplayString() method to display the exception
My usecase is sorting and removing duplicates and getting count from a file that has json messages as a individual rows.
I am currently planning to use pandas for this purpose as its really fast. Below are the steps i am following
1) call a python function (called function) from IRIS classmethod(calling function)
2) the call python function will read the json file in a dataframe
3) perform sorting, dup removal, count in the dataframe
4) convert the dataframe into iris stream
5) return back the stream to iris calling function class method
When i try to write the stream into termial its coming as a
You may encounter errors during any point of program execution, and there are several ways to raise and handle these exceptions. In this article, we'll explore how exceptions are handled efficiently in IRIS.
One of the most commonly used return types is %Status, which is used by methods to indicate success or failure. Let's begin by discussing %Status values.
Working with %Status
The %Status return type is used to represent errors or success.
I have an MDM interface with a DTL that takes OBX:5 and replaces "{\E\rtf" with "{\rtf" and "\X0A\" with nothing. Most rtf's this works without a problem, some others, it corrupts the document.
Code:
<assign value='..ReplaceStr(..ReplaceStr(source.{OBXgrp(k1).OBX:ObservationValue(1)},"{\E\rtf","{\rtf"),"\X0A\","")' property='target.{OBXgrp(k1).OBX:ObservationValue(1)}' disabled = '0' action='set' />
My question is - anyone know of any other "gotchas" that could possibly need to be replaced or something?
I have tried not doing the replace on anything, and the document shows up in viewer as
At the moment we're creating multiple BPLs are using a router (or another BPL) to direct to these based on a unique key modulo the amount of BPLs available, e.g. if we have 3 BPLs created.
Message key = 1 mod 3 + 1 -> BPL02
Message key = 2 mod 3 + 1 -> BPL03
Message key = 3 mod 3 + 1 -> BPL01
FIFO only matters in that each messages for each key is processed in order.
What we were considering doing is increasing the pool size to 3 and programmatically creating a BPL on each thread that processes messages that would be directed to it, rather than having to create multiple BPLs into the production.
Eve
Overview
With the help of SQL, you can build, train, and manage machine learning models directly in the database with InterSystems IRIS's robust IntegratedML tool. Using SQL examples that represent your data, we will go over IntegratedML configuration and how it is used in practical situations in this article.
Hello,
When setting up a new web app in iris (iris is in a container) iris complains that a WSGI framework is not installed. I have installed python into the container as well as both flask and django via the python virtual environment (see second screenshot) and the python language server is running
Is this the wrong way to install flask? How do I get the container version to recoginize that flask is installed?
.png)
Why am I writting this?
Last year I made an article for starters on using embedded python. Later, it started a little discussion on how to return values with python and I found some interesting observations that are worth writing a little article. Also, hopefully I can reach more people by writing this.
Possible situations
There are two things you'll need to care about when returning a value with python. The first is the type you're trying to return and the second is where you're returning it.
Let's remember our first lessons when we started coding: in python, when you define a function you can
Hi Community!
We're happy to share the next video in the series dedicated to Gen AI on our InterSystems Developers YouTube:
Hello, I have a problem with a call and I would need some help.
When I call an API with the SendFormDataArray method of the EnsLib.HTTP.OutboundAdapter adapter, I pass it a %Net.HttpRequest object and I receive the following error:
ERROR #5002: ObjectScript error: <SUBSCRIPT>MatchSuffix+1^%Net.HttpRequest.1 ^%qPublicSuffix("")
I have correctly entered the url in my business operation and I pass it in the last parameter of the SendFormDataArray method. Do you have any idea, please?
Method XRPUAuthentification(pInput As ANCV.msg.BO.XRPUAuthentificationDmde, Output pOutput AsFrom the previous article, we identified some issues when working with JSON in SQL.
IRIS offers a dedicated feature for handling JSON documents, called 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 retrieval. 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 providing SQL support for creating or querying DocDB data.
By its nature, InterSystems IRIS Document Database is a schema-less data structure. That means that each document has its own structure, which may differ from other documents in the same database. This has several benefits when compared with SQL, which requires a pre-defined data structure.
The word “document” is used here as a specific industry-wide technical term, as a dynamic data storage structure. “Document”, as used in DocDB, should not be confused with a text document, or with documentation.
Let's explore how DocDB can help store JSON in the database and integrate it into projects that rely solely on xDBC protocols.
Positions for Application Engineers supporting the Department of Veterans Affairs.
Contact recruiter:
Lori Sutton
Program Manager, Talent Acquisition
Input Technology Solutions
(757) 271-4062
lsutton@inputtechnologysolutions.com
I'm trying to put this global into a readable list. any suggestions
The nested $bl's are giving me a problem.
SYSMGR("Task","TaskD",1046)=$lb("","",0,0,"","0","","Import data to PROG namespace OS.SarD",$lb("63735","1"),,,0,"","<ENDOFFILE>Import+30^PROG0","%SYS.Task.RunLegacyTask",0,"","","",0,"63735,40372","","63735,40320","ImportD","PROG2",,0,"","",0,0,,"",64117,"0 "_$lb($lb(5001,"<ENDOFFILE>Import+30^PROG0",,,,,,,,))/* ERROR #5001: <ENDOFFILE>Import+30^PROG0 */,1,"",5,"","",2,,,1,"123-123-123-ABCD-12345A789A","","SMITH1",$lb("ExecuteCode","q ; D Import^PROG0()"),3,0)
When removing a segment in DTL for hl7 using foreach the segment doesn't actually get removed and leaves a blank segment.
i.e.
MSH|^~\&|SendingSystem|ReceivingSystem|202301241000||ADT^A01|12345|P|2.4
EVN|S|202301241000
PID|1|MRN12345|1^^^^KEEP~2^^^^Remove~3^^^^Keep|M|19800101|
PD1|PatientAddress^Street^City^State^Zip
PV1|I|INPATIENT|BED123|DoctorID|202301241000|202301241000.png)
This blank segment to be removed
I read the notes and thought it might be about swizzling at https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cl… but it
Hi.
This is my first post on this forum; I've tried to open an issue on the official repo , but it seems inactive from more than a year, so I can't receive an answer from there.
I would like to know if someone use that extension and know how to use it when working server-side on an IRIS server.
I have no problem when coding on a file saved locally.
Thanks in advance
USER>do$System.Python.Shell()
ERROR #5002: ObjectScript-Error: <OBJECT DISPATCH>Shell+16^%SYS.Python.1
*Failed to Load Python: Check documentation and messages.log,
Check CPF parameters:[PythonRuntimeLibrary,PythonRuntimeLibraryVersion],
Check sys.path setup in: $INSTANCE/lib/python/iris_site.py
02/03/25-18:27:39:497 (13156) 1 [Generic.Event] CPF settings (PythonRuntimeLibraryVersion) do not specify python correctly - Python can not be loaded
02/03/25-18:27:39:498 (13156) 1 [Generic.Event] CPF settings (PythonRuntimeLibrary) do not specify python correctly - Python can not be
Dear Community,
I am trying to convert a base64 encoded string to a pdf. I have tried a lot of possible ways, but never succeeded. I am able to decode the base64 using $System.Encryption.Base64Decode but I am not able to convert it and store this in a path.
Can anybody help me out here?
Thanks.
Hi,
I found an issue while fetching records from FHIR DB, I am getting below error thou FHIR repository have the records with the corresponding id
{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "error",
"code": "not-found",
"diagnostics": "<HSFHIRErr>ResourceNotFound",
"details": {
"text": "No resource with type 'Appointment' and id '21'"
}
}
]
}
Hi, Community!
In the previous article, we introduced the Streamlit web framework, a powerful tool that enables data scientists and machine learning engineers to build interactive web applications with minimal effort. First, we explored how to install Streamlit and run a basic Streamlit app. Then, we incorporated some of Streamlit's basic commands, e.g., adding titles, headers, markdown, and displaying such multimedia as images, audio, and videos.
Later, we covered Streamlit widgets, which allow users to interact with the app through buttons, sliders, checkboxes, and more. Additionally, we examined how to display progress bars and status messages and organize the app with sidebars and containers. We also highlighted data visualization, using charts and Matplotlib figures to present data interactively.
In this article, we will cover the following topics:

