Hi Community,
We’ve missed Global Masters, and we’re sure you have too!
🚀 Global Masters is Relaunching on October 3, 2024!

Hi Community,
We’ve missed Global Masters, and we’re sure you have too!
🚀 Global Masters is Relaunching on October 3, 2024!

On 2024-08-29, the team released Language Server v2.6.0, which includes more improvements for code completion (aka intellisense). That means that #dim, while still useful, is hardly necessary anymore. That's a good thing in my opinion.
This post from last year (Intellisense and code completion in VS code objectscript) talked about using #dim for code completion for OREFs. #dim has always been useful for both Studio and VS Code. But last year, VS Code ObjectScript was slightly behind Studio in this area, and #dim helped bridge that gap. But now, VS Code has surpassed Studio. There is automatic
I have been trying to track down an issue we are seeing in our TEST environment with Memory usage.
We have Several BP's for years now that take a HL7 message, parse it apart, and make calls to a Custom EnsLib.SQL.OutboundAdapter to have it execute Insert/Select/Update/Delete stored procedures against a MS SQL Database via JDBC connection. We are using Microsoft's JDBC 12.2 driver to do this.
What we are seeing is that IRIS.WorkQueue globals are being defined for these calls but then the IRIS.WorkQueue is not being cleaned up and taking up large amounts of Memory.
I have tried ensuring the c
This is for IRIS For Health 2024.2.0
We are migrating away from the .NET Gateway and trying to use the python integration instead.
I followed the instructions to install IRIS
Then I installed python following the IRIS documentation indicating that python should be installed globally.
I set up the PythonRuntimeLibrary and PythonRuntimeLibraryVersion options under System->Configuration->Advanced memory settings and when I run the shell function, I get python:
USER>do ##class(%SYS.Python).Shell()
Python 3.12.6 (tags/v3.12.6:a4a2d2b, Sep 6 2024, 20:11:23) [MSC v.1940 64 bit (AMD64)] on win32
Hi Community,
It's time to announce the winners of the Developer Tools Contest!
Thanks to all our amazing participants who submitted 17 applications 🔥
%20(2)(2).jpg)
Now it's time to announce the winners!
Hi Community,
We invite you to join our next Developer Meetup in Cambridge, MA on October 15th, 2024.
This time we’ll focus on Data & Security. Our security experts will be sharing their insights and knowledge.

Agenda:
Hello
I am writing a simple routing interface that picks up files from a share using File.InboundAdapter.
I am then using PassthroughService and passing it to a router.
The Router is using Ens.StreamContainer to then get the filename. I have then used contains to pick out part of the filename.
and then pass it to another simple passthrough operation to another share.
If I do a direct link without using the router it works fine and I get no errors, once I direct the messages through the router I am getting ERROR #5005 Cannot open file, it does however write a file to the share but the file is a c
✓ 454 new members joined in September
✓ 13,880 posts published all time
✓ 13,855 members joined all time
I've got a select statement bringing back one value, I want to combine all rows into one comma delimited string. So for example:
SELECT First Name
FROM mydb.People
I get a list of names:
John
Fred
Sarah
Carl
Jane
Julie
Instead of having 6 rows in the result, I want one row, with one cell that has "John,Fred,Sarah,Carl,Jane,Julie"
Is there a way to do that?
Please allow me to introduce you to a new way of interacting with IPM (InterSystems Package Manager), also known as ZPM,directly from inside Visual Studio Code.
First, install into VS Code the free InterSystems Package Manager extension, published to Marketplace by George James Software. A quick way is to use the search field in VS Code's Extensions view and look for 'ipm zpm' (without the quotes). Alternatively browse to https://marketplace.visualstudio.com/items?itemName=georgejames.iris-pa…
Here's a short video showing the extension in action.
If you like it please vote fo
hi everyone,
I'm trying to make some use of AI to help with coding. To achieve this I've moved to VS Code linking to a cache instance, and installed the "Cody" extension from Sourcegraph that talks to Claude Sonnet.
In theory Cody can view, and send to the AI, the file I'm currently editing. However, it does not seem to "see" Cache server items, and only works for stuff in ordinary files that I have open. Is this an issue with "isfs" ("InterSystems File Service" that implements the "filesystem provider API" )? Is anyone else using Cody or any other AI extension successfully?
Thanks,
Mike
I need to execute code whenever a production component setting is updated, such as when a service port is changed and the `ens.config` table is updated. This code will handle tasks like logging these updates to a custom table for external reporting purposes.
How can I invoke custom code on these updates?
Ideally, I need to monitor all namespaces that are interoperability-enabled. Whenever a production component setting is changed in any namespace, I need to run the code.
Hi Guys,
I'm using the below simple Get Webservice to return a JSON file, its working but the response is actually of Text type not JSON Type
ClassMethod cmGetHomes(cnt1, cnt2) As %Status
{ S response="{""Land"""_":"_""""_cnt1_""",""Home"""_":"_""""_cnt2_"""}"
// set dataObj=##class(%DynamicObject).%FromJSON(response.data)
//set response.data = dataObj
//W response.%ToJSON()
//set response.data = {}.%FromJSON(response.data)
//set response.data = {}.%FromJSON(response.data)
W response
Quit $$$OK
}
This is the response that I'm getting in Postman
But it says type is text not JSON
.png)
We are doing healthcare interface development.
Developers have Ensemble installed locally on their laptops - code will be developed locally then deployed to integration, test/UAT and ultimately production servers in due course.
One of the other applications we are developing around happens to utilise an Iris desktop client to a remote Iris server. We want to have the application available on the developers laptops alongside the local Ensemble instance.
✅ It appears that if we install their desktop client then install our local Ensemble server, things work.
❌However, if we install a local E
Hello,
I'm trying to debug objectscript ClassMethods in VSCode, but nothing happens when clicking the Debug button over the ClassMethod.
This was working with previous versions - tested with IRIS 2020.
This is the server configuration:
"intersystems.servers": {
"iris": {
"webServer": {
"scheme": "http",
"host": "localhost",
"port": 80
},
"username": "superuser"
}
},Editing and compiling ObjectScript is working:
I checked the vscode devtools and saw an
.png)
Hi Developers!
We are happy to present the bonuses page for the applications submitted to the DevTools Contest 2024!
Hi Community,
In this article, I will introduce my application iris-DataViz
iris-DataViz is an Exploratory Data Analysis and Visualization Streamlit Application that leverages the functionality of IRIS embedded python and SQLAlchemy to interact with IRIS, as well as the PyGWalker python library for data analysis and data Visualization. PyGWalker (Python Graphic Walker) is an interactive data visualization library built for Python, aiming to bring the ease and functionality of Tableau-style drag-and-drop visualization into Python environments.
Hi everyone,
In this article, I’m excited to introduce CodeInspector, a tool designed to simplify code validation by applying custom rules tailored to your development requirements. Whether you're managing a large codebase or working in an agile environment, CodeInspector helps ensure code quality by offering flexibility and adaptability to specific project needs.
The idea behind CodeInspector was to build a tool that is both easy to implement and adaptable to different business contexts. By allowing teams to define their own validation rules, CodeInspector empowers developers to

If you are using the client-side development paradigm (i.e. editing code in local files that get imported and compiled onto the IRIS server your `objectscript.conn` settings point to) you can now use IPM in VS Code to manage the packages in your IRIS target by launching it from the Explorer view. Just make sure the extension you are using is at least version 1.0.4, then use this button:
.png)
Thanks to @Evgeny.Shvarovfor suggesting this enhancement, which is particularly useful when using Docker.
Hi Community,
It's voting time! Cast your votes for the best applications in our Developer Tools Contest:
%20(2)(1).jpg)
How to vote? Details below.
Managing databases and performing CRUD operations are fundamental tasks for developers building data-driven applications. While many database management systems (DBMS) exist, they can be complex and cumbersome to interact with, especially when it comes to creating databases and tables, handling constraints, and performing real-time data operations through an API.
This web-based Database Management Tool simplifies the entire process, offering an intuitive UI for managing databases and tables, alongside a powerful REST API for interacting with the data. Whether you’re a developer

This story has followed me for more than 20 years.
In the early days of ObjectScript, the volume of $Functions was limited.
You had to write it as part of your program.
But the functionality was often implemented. It just had no name.
To use it, you had "system" calls using $ZU() functions. See Reference
Over time most $ZU() became deprecated and replaced by "official" $Functions.
But how to find then over a thousand lines of code written over decades
by an uncounted number of programmers that were gone with the wind.
Studio was something fresh and not so performant.
So I created a Search Utility t
The test data generator is mainly used to generate test data, which can be used to generate test data for tables and fields to meet the needs of different fields according to different types, currently supports Text, Number, Enum, UUID, regular expression, Multiple date and time formats, and Time Seven different types
How to use:
1. Select a namespace, you can see all the tables under the namespace,
2. Select the table we want to generate test data from, click on the field, and select the type on the right
3. After all the configurations are completed, click on the total number gene
.png)
I created and then compiled a routine using the %Routine library
s routine = ##class(%Routine).%New(fileName_"."_extension)
d routine.Write(parsedRule)
//s status = routine.Save()
s status = routine.SaveStream(,.refresh)
if ($$$ISERR(status)) throw status
Now the routine compiles successfully and as a result it is saved on the database.
I can now use from anywhere:
set r = ##class(%Routine).%New("myGeneratedCode.mac")w r.SizeGet()
and it would output the size.
but for the question: How do i run a method in that file? It is saved on the database and i can't relaly see the path, what cl
I want to try out iris-DataViz app to visualize my own data. I cloned the repo and docker-compose up -d in AWS. IRIS portal works, but on port 8051 I get nothing. I checked my AWS security groups. I reversed IRIS webserver port and 8051 and I can connect to Management portal using port 8051. I don't understand what is refusing connection on port 8051 running in iris-DataViz container.
Hi Community,
Play the new video on InterSystems Developers YouTube:
⏯ Large Language Model Use Cases in Healthcare @ Global Summit 2024
I am trying to insert a single row into an external MS SQL Server table. I have set up the SQL Gateway. The insert query runs, but it is inserting an extra row each time.
What am I missing:
#include %occInclude
set gc = ##class(%SQLGatewayConnection).%New()
if gc = $$$NULLOREF quit $$$ERROR($$$GeneralError, "Can not create sql gateway connection.")
set pDSN = "xxxx"
set usr = "xxx"
set pwd = "xxxx"
set sc = gc.Connect(pDSN,usr,pwd,0)
if $$$ISERR(sc) quit sc
if gc.ConnectionHandle = "" quit $$$ERROR($$$GeneralError,"connection failed")set sc=gc.AllocateStatement(.hstmt)
if $$$ISERR(sc) quit sc
s
In this article, we’ll dive into the inner workings of the database management tool, exploring the architecture and technologies that power it. Understanding how the application functions behind the scenes will give you insight into its design, how it manages databases, tables, and how the API interacts with data.
We will discuss the core technologies used, including InterSystems IRIS as the primary database and Redis for caching. Additionally, we’ll break down the structure of the tables used and explain how the system handles data creation, retrieval, and manipulation through the REST API.

Hello community
I sent a http post message with a large message body (approx. 200 kB) to a standard EnsLib.REST.GenericService using a standard EnsLib.HTTP.InboundAdapter.
When inspecting the message in the message viewer I expected to see a HTTPMessage XML in the Contents preview, but I found a GenericMessage with no HTTPHeaders section. After a while, I found out that the display in the message's Visual Trace differs from what is shown, when going to the View Full Contents view in the Contents tab of the message viewer.
I also found out that the presentation in the preview window and also
.png)