Hey Community,
Enjoy watching the new video on InterSystems Developers YouTube:
⏯ VS Code: Modern Development on All Platforms @ Global Summit 2023
Hey Community,
Enjoy watching the new video on InterSystems Developers YouTube:
⏯ VS Code: Modern Development on All Platforms @ Global Summit 2023
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.FilBefore 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.


Hey Community,
We're pleased to invite all the developers to the upcoming kick-off webinar for the Python Programming Contest 2023!
During this webinar, we will describe how you can win the prizes! We'll talk about the topics we expect from participants and show you how to develop, build and deploy applications on the InterSystems IRIS data platform and how to use Embedded Python or Python API in your projects.
Date & Time: Tuesday, September 5 – 11 am EDT | 5 pm CEST
Hi
I am getting below error while connecting cache from VS Code
Authorization error: Check your credentials in Settings, and that you have sufficient privileges on the /api/atelier web application on 127.0.0.1:52773[USER]
Thanks
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)....How can I set it up so that a new r
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? Or do you not use this but rather cal
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?
Hey, I'm working with HealthShare 2016.2 and trying to implement a custom integration using ObjectScript. I have followed the usual syntax for setting up the integration, but I keep getting an undefined variable' error. Has anyone encountered a similar issue? Here's a snippet of the code I'm using :
set customData = 'Sample Data';
write customData;
In the first article I discussed testing and debugging Caché web applications with external tools. Second part would cover Caché tools.
They are:
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:
Way back when during our Siemens LCR days we had to limit the number of characters in OBX.5 to a length of 75. That was back when we had eGate.
Now I need to do the reversal of that and take loop through a string length and split the string up into multiple OBX or NTE based on a certain length. In reading documentation $EXTRACT can do this if you know the exact length, but in this case we don't.
So how would one loop through a string and say every 75 characters create a new OBX or NTE segment?
Thanks
Scott
Hey guys,
I do love Global Masters (and all the rewards that I get from it) and one of my favourite activities is answering quiz questions. And just now I've had a really cute question What is the result of: WRITE "99" + "cents"? which brought a smile to my face (because I do love to add questions like this to the tests for my students). This made me think that I would really like to somehow show my appreciation to the author of this question.
Thus, I created an idea to add something like a 👍 to a quiz question. And when the challenge disappears, send an automatic message to the author sayi
Hi Guys,
For Login in CSP application, I am displaying custom Login page which is rendered from subclass CSS.CSP.Login that extends %CSP.Login, and also got IBA.CSP.Page that extends %CSP.Page with overridden method OnPreHTTP(). This setup is working perfectly for normal login.
When I define Invalid login limit and enable Disable account if login limit reached in System > Security Management > System-wide Security Parameters, the users get disabled after certain invalid login attempts.
Since, cache do not have time period field to disable the account for certain time eg: enable after 15 m
.png)
As per the below document Intersystems licensing system works in the following way:
http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY…
Each user is identified by some unique ID and assigned a license unit. A single user can make multiple connections upto a maximum number (say N) shares a single license unit. Once the number of connection by a single user exceeds the maximum allowed number (N+1) a transaction happens and for each new connection from the user a new license unit is used.
My question is for a particular license, how do I know w
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 portal. We have previously created the basis for the project on the command
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.
IRISAUDIT database: mounting required when starting IRIS
IRISAUDIT base:
.png)
Hi Developers,
We know that you're a sharing and caring bunch. Otherwise, you wouldn't be here and reading this 😉 And we'd like to remind you that we have other ways to stay in touch with our latest news, events, hot topics, etc.
Say hello to our official InterSystems Developer Community Social Media Channels!

CCR Client ItemSets now have a "stale" cut-off time. When a client-bound ItemSet is created in CCR, a user has 24 hours to deploy it to any environments. After 24 hours, this ItemSet is no longer deployable or downloadable. The deploy links will be disabled and instead the user will notice a "Refresh ItemSet" option which will create a new ItemSet. Users can then use this fresh ItemSet to deploy their changes, see below:
Stale ItemSet:
Fresh ItemSet:
.png)
The motivation for this change is to prevent old ItemSets from overwriting changes to files that have been updated elsewhere since the Ite
.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?
Hi,
I have a ORU message, which has a EVN segment that I want to remove and send the message across.
I tried to clone the request as below:
s newreq = request.constructClone
s changreq = newreq.RemoveSegmentAt("EVN")
Set request = changereq
but it fails. Is there a way that I can safely remove a segment and pass it on?
Would appreciate your help in this
Regards,
Eric
We are trying to create a simple class extending %RegisteredObject that could be used as a singleton. However we are not able to store it in a global to later be retrieved (by the same process but elsewhere in the code).
I resumed my issue in this small code sample :
ClassMethod RunMe()
{
// Create a simple %RegisteredObject
set obj = ##class(%ZEN.proxyObject).%New()
set obj.MyProp = 22
do ##class(%SYSTEM.OBJ).Dump(obj)
// Store it in a global
set ^MyGlobalName = obj
write "Stored : " _ obj,!!
// Retrieve it from the global
#Dim obj2 As %ZEN.proxyObject = ^MyGlobalNam
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.lo

Hi guys,
In Cache CSP application, I have enabled Password expiration days to certain days in System > Security Management > System-wide Security Parameters. When password expires for the users and they try to login the login page takes to standard cache password change page.
Is there anyway I can display my overridden page instead of standard cache password change page?
Reason to display my own page: I needed to break down the UserName, for eg: UserName into CompanyID - IBA and User ID - san.
Currently, I have overridden %CSP.PasswordChange class to CSS.CSP.ChangePassword.cls and inc
.png)