Hi Community,
New video, recorded by @Benjamin De Boe, is available on InterSystems Developers YouTube:
⏯ What Developers Love About InterSystems IRIS
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 Community,
New video, recorded by @Benjamin De Boe, is available on InterSystems Developers YouTube:
⏯ What Developers Love About InterSystems IRIS
InterSystems IRIS ML Toolkit adds the power of InterSystems IntegratedML to further extend convergent scenario coverage into the area of automated feature and model type/parameter selection. The previous "manual" pipelines now collaborate within the same analytic process with "auto" pipelines that are based on automation frameworks, such as H2O.

Do you ever have the desire to optimize your code as much as possible?
Do you have any cases where every nanosecond matters?
Do you use If statements?
This quick tip can help your code run slightly faster with no additional code.
I need to convert a JSON payload to a custom object type. Currently, I'm converting the JSON object to a %Library.DynamicObject object and need to proceed from here.
As of now, these are my options
1. Using an external library talked about in this link:
https://community.intersystems.com/post/binding-regular-cache-object-dynamicobject-and-vice-versa
Downside: Could be buggy (as admitted by the creator) + some other design concerns brought up in its the discussion thread
2.
Updated 1/30/2020
*** The affected product versions have changed ***
*** The affected versions are Caché and Ensemble beginning with 2016.2.0. ***
*** Caché and Ensemble 2016.1.0 is not at risk for this defect ***
InterSystems has corrected a defect that can cause database degradation in extremely rare circumstances. Associated problems may include, but are not limited to, incorrect or missing application data and system hangs.
This defect affects:
Hi Community,
New video, recorded by @Eduard Lebedyuk, is available on InterSystems Developers YouTube:
⏯ Python Gateway: Jupyter Support - extended
Hi Developers!
Recently we published on Docker Hub images for InterSystems IRIS Community Edition and InterSystems IRIS Community for Health containers.
What is that?
There is a repository that publishes it, and in fact, it is the same container IRIS Community Edition containers you have on official InterSystems listing which have the pre-loaded ObjectScript Package Manager (ZPM) client.
So if you run this container with IRIS CE or IRIC CE for Health you can immediately start using ZPM and install packages from Community Registry or any others.
What does this mean for you?
It means, that anyone can deploy any of your InterSystems ObjectScript application in 3 commands:
It is safe, fast and cross-platform.
It's really handy if you want to test a new interesting ZPM package and not harm any of your systems.
Suppose, you have docker-desktop installed. You can run the image, which wiil pull the latest container if you don't have it locally:
Hi Developers!
Many of you are looking for samples on how to work with InterSystems IRIS Analytics, formerly known as DeepSee.
There is a Samples BI module with Patients and Holefoods examples which is available on Github with source code. The installation steps are clear but take time.
Recently we added the option to run IRIS Community Edition containers with ObjectScript Package Manager (ZPM) on board. This simplifies the installation to the "run-one-command" step for the modules submitted to ZPM Community Registry. And thus we can benefit the Samples BI installation with ZPM.
And here is how you can run it on your laptop. Let's go!
Happy new year! I’m Raj Singh, InterSystems’ product manager for Developer Experience and I’d love your feedback on how you use IDEs today and your thoughts for the future.
We understand you depend on a solid, intuitive and flexible IDE from InterSystems - whether you are an ObjectScript expert or new to it; whether ObjectScript is at the core of your applications, or you develop more in Java, Python, C# or Node.js.
Hi Developers,
New video, recorded by @Benjamin De Boe, is already on InterSystems Developers YouTube:
⏯ Python and InterSystems IRIS
Beginning with InterSystems IRIS 2020.1, the minimum required version for AIX is AIX 7.1 TL4.
The InterSystems IRIS installer will detect if the required IBM XL C filesets are installed before continuing
with the installation.
This series of articles would cover Python Gateway for InterSystems Data Platforms. Execute Python code and more from InterSystems IRIS. This project brings you the power of Python right into your InterSystems IRIS environment:
The plan for the series so far (subject to change).
The Jupyter Notebook is an open-source web application that allows you to create and share documents that contain live code, equations, visualizations and narrative text.
This extension allows you to browse and edit InterSystems IRIS BPL processes as jupyter notebooks.
How do I rename class programmatically?
This discussion touches on data move which, is not a concern in my case (BPL renames).
I also don't care about external references.
The best I got is:
Are there any better alternatives?
Also found this discussion.
Hi Community,
2019 was a great year full of video content for InterSystems Developers. Already 200 Videos on our InterSystems Developers YouTube Channel, and the number of subscribers has doubled since the previous year!
Almost 57K Views and 5,1K hours of Watch Time in 2019! Thank you, our dear subscribers, so we understand that our video channel is valuable to you!
Now let's take a closer look at the most popular videos on InterSystems Data Platforms over the past year.
| Top 10 Videos by Views in 2019 | |||
| № | Video | Views | Watch Time (hours) |
| 1 | 12 988 | 778,7 | |
| 2 | SMART on FHIR: The Basics | 6 807 | 1 134,9 |
| 3 | Building Modern Web Applications | 6 733 | 570,5 |
| 4 | Developing with FHIR - REST APIs | 2 072 | 225,6 |
| 5 | Create Your First InterSystems ObjectScript Code with IRIS Community, GitHub, Docker and VSCode | 1 093 | 53,8 |
| 6 | Sizing and Capacity Planning | 1 019 | 92,4 |
| 7 | REST API Design and Development | 890 | 84,4 |
| 8 | InterSystems Developer Community and Global Masters | 886 | 7,1 |
| 9 | Editing and Compiling ObjectScript using VSCode | 698 | 22,8 |
| 10 | Introducing InterSystems IRIS Data Platform | 674 | 90,8 |
When I tried to migrate one of ZEN applications to IRIS from 2018.1 I'm faced with the issue with Login Page, in this case used some ZEN page, completely customized. But when a user tries to get access, he gets the error like below.
The requested URL /csp/user/User.Login.cls was not found on this server.
I tried to test it with a fresh just created login page class
Class User.Login Extends %CSP.Page
{
ClassMethod OnPage() As %Status
{
&html<<h1>Hello</1>>
Quit $$$OK
}
}Set it to /csp/user application as Login page, and
$ curl http://localhost:32784/csp/user/menu.
Hi Community,
Please welcome the new video on InterSystems Developers YouTube Channel:
⏯ Operationalizing "Machine Learning" Experiences From the Field
Is there a way to get dynamic object from iterator?
set arr=[1,2,3]
set iter=arr.%GetIterator()I pass iterator several frames down and I'd rather avoid passing both the array and iterator, but for debugging I need to access original object in a situation where only iterator is available.
Is there a way to do it?
This repository is a go-public that builds on the already existing InterSystems-internal Convergent Analytics community and InterSystems-private MLToolkit repo (remains active and contains the most recent information for external ML Toolkit users - request memebership by writing us at MLToolkit@intersystems.com). This repo embraces more than ML Toolkit, we would like to host any discussions, publications, projects that add up in what we call convergent analytics approach. Welcome!
In the previous part of this series, we saw how to include data in a portlet from within DeepSee. This used the built in data controller. In this part, we are going to be pulling in data from outside of DeepSee. This will include both information from within InterSystems IRIS and from the OS.
This is useful if you would like to create a dashboard that only contains information about your system. It is also useful if you want to display data about your system along side data that you have stored in DeepSee.
While and for are pretty similar, but sometimes you need to do a not recommended thing - change cycle boundaries.
In this situation while and for are different. For calculates boundaries once per run and while calculates boundaries on every iteration.
Consider this code sample:
set x = 5
for i=1:1:x {
write "i: ", i,", x: ", x,!
set x = x+1
}You'll get this output:
i: 1, x: 5
i: 2, x: 6
i: 3, x: 7
i: 4, x: 8
i: 5, x: 9
Compare to while cycle:
set i = 1
set x = 5
while (i<=x) {
write "i: ", i,", x: ", x,!When using Related Cubes in InterSystems IRIS BI, cubes must be built in the proper order. The One side must be built before the Many side. This is because during build time for the Many side, it looks up the record on the One side and creates a link. If the referenced record is not found on the One side, a Missing Relationship build error is generated. The One side is going to be the independent side of the relationship, AKA the side of the relationship that is referenced by the Many side or the Dependent cube. For example: Patients contain a reference to their Doctor.
Hello!
I am taking the 'Creating an InterSystems Class Definition' course, and the Exercices asks to open a Terminal from the Management Portal to create and interact with a new object. I didn't found how to acces tot the Terminal from the Management Portal, and the documentation I have seen doesn't help me... ![]()
In some moment I saw a video wich explains how to acces to the terminal, but I can't find it. ¿Can someone explains me how to find the Terminal acces?
Thank you!
Did some quick testing replacing Intersystems.Data.CacheClient.dll with Intersystems.Data.IRISClient.dll and ran against Cache 2018.1 and IRIS 2019.1. Seems to work in both cases. Is it a safe assumption that the IRIS dlls are backward compatible with Cache 2018.1?
Wondering whether it's possible to get %UnitTest to output an arbitrary key-value pair (a new property) into ^UnitTest.results ?
I have an array of table names that I want to iterate over and for each table, get the number of rows. I was hoping I could do something like:
set tStatement = ##class(%SQL.Statement).%New()
set tSC = tStatement.%Prepare("SELECT COUNT(*) AS ObservedRowCount FROM ?")
$$$ThrowOnError(tSC)
set tTableName = ""
for
{
set tTableName = $O(tCounterAry(tTableName))
quit:tTableName=""
set tResult = tStatement.%Execute(tTableName)
// ...
}But that doesn't work:
ERROR #5540: SQLCODE: -1 Message: IDENTIFIER expected, ?
Some readers of my previous article, Caché eXTreme for .NET - direct access to globals from C#, wondered if you could access information not just from the same instance in which you’re working, but also from another instance on the same computer, or from an instance located on another computer in the same local network. Some theorized, correctly, that this would be possible using the Enterprise Cache Protocol (ECP). In this article I’m going to show how it can be done.
Have you ever needed a math function but could not find what you needed and ended up writing your own? Look no further! ObjectScript-Math is here to solve all your math related function needs.
ObjectScript-Math is an Open Source library for ObjectScript Math functions. It is now available on Open Exchange. This library contains a mix of new functions that are not currently available and functions that are available. The existing functions will be wrapped for use from ObjectScript-Math so that all Math functions can have a central location.
This library will continue to grow, so give it a try and give your feedback!
Don't see what you are looking for? Please feel free to submit requests for additional functions or contribute code yourself!
I'm currently working with a developer to add IRIS/Caché functionality to his HL7 analysis tool that would allow its users to extract messages directly from the Ensemble message store. IRIS for Health Community Edition has been a great aid in debugging this, but I keep banging into the 5 connection license limit with Studio, the Management Portal, an IRIS terminal session and a client database connection using either ODBC or ADO.NET.
I've writing a short classmethod that extracts an HL7 message from EnsLib.HL7.Message by ID and returns it as a stream. It's to be called as a stored procedure via ODBC (or ADO.NET) to fetch messages into an application.
I'm not using an SQL query in the classmethod itself, but it will be called as part of an SQL query via ODBC, but I can't figure out how to set a custom SQLCODE and error text from within the classmethod that propagates back to the external application. I thought %sqlcontext would be useful for this, but it doesn't appear to do anything. Here's the class:
Class User.HL7.