I have a large amount of classes in several XML namespaces.
Is there a way to generate all XSDs automatically?
I've read the docs but it seems like it's a manual class-by-class process.
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.
I have a large amount of classes in several XML namespaces.
Is there a way to generate all XSDs automatically?
I've read the docs but it seems like it's a manual class-by-class process.
For many in today's interoperability landscape, REST reigns supreme. With the overabundance of tools and approaches to REST API development, what tools do you choose and what do you need to plan for before writing any code? This article focuses on design patterns and considerations that allow you to build highly robust, adaptive, and consistent REST APIs. Viable approaches to challenges of CORS support and authentication management will be discussed, along with various tips and tricks and best tools for all stages of REST API development. Learn about the open-source REST APIs available for InterSystems IRIS Data Platform and how they tackle the challenge of ever-increasing API complexity. The article is a write-up for a recent webinar on the same topic.
Hi Community,
New video, recorded by @Benjamin De Boe, is available on InterSystems Developers YouTube:
InterSystems IRIS ML Toolkit adds the power of InterSystems IntegratedMLto 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
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:
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.
Hi Developers,
New video, recorded by @Benjamin De Boe, is already on InterSystems Developers YouTube:
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
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,!
set x = x+1
set i = i+1
}The output is infinite:
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. The Doctor does not
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, ? found^ SELECT COUNT ( * ) AS ObservedRowCount FROM ?
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!