Hi, devs!
Consider you have an arbitrary global with an unknown amount of indexes.
How to print all the values to the terminal with Embedded Python?
Globals are multidimensional sparse arrays which are stored in InterSystems Data Platform. Everything in InterSystems Products is stored in Globals: Classes, Tables, Documents, Code.
Hi, devs!
Consider you have an arbitrary global with an unknown amount of indexes.
How to print all the values to the terminal with Embedded Python?
Hi folks!
I'm working with a global via Embedded Python as a class method. I init the handler for a global via:
gl=iris.gref("^Global")What is the way to check the value at index ^Global("x","y")? E.g.:
In ObjectScript I'd do the following:
set result=$data(^Global("x","y"))How do I do the same in Embedded Python?
I checked the documentation, but haven't found an answer.
Hi Community,
In this article, I will introduce Python Flask Web Framework. Together we will create a minimal web application to connect to IRIS and get data from it.
Below you can find the steps we will need to follow:
So Let's start with step 1
Flask is a small and lightweight Python web framework that provides useful tools and features that make creating web applications in Python easier. It gives developers flexibility and is a more accessible framework for new developers since it allows to build a web application quickly using only a single Python file. Flask is also extensible and doesn’t requires a particular directory structure or complicated boilerplate code before getting started.
For more details please view Flask Documentations.png)
Hello All,
I have a class method on the DocRepo server that needs to query the data value of a global variable on the Edge server.
I have looked at the documentation for 'Global Structure,' but I didn't find anything that helped.
Global Structure | Using Globals | InterSystems IRIS Data Platform 2022.1
I am able to access this global easily from the Edge server using the $Get function, but I need to access it from the DocRepo server.
Any suggestions would be greatly appreciated!
Thanks!
Craig
I am using $Query to loop through a global.
When I use $GET to get the data all we get back is the global name.
How do you get the value of the global after you have looped.
Below is my example in terminal.
Thank you in advance
Set node = $Query(^FromExtraMed(""))
w node
^FromExtraMed("A02",9220)
If i try w $GET(node) it returns
^FromExtraMed("A02",9220)
If i had this hardcoded it would have got the value
w $GET(^FromExtraMed("A02",9220))
0,66340,2120
I have already read the documentation and it is not clear. Can someone advise?
In this article you will have access to the curated base of articles from the InterSystems Developer Community of the most relevant topics to learning InterSystems IRIS. Find top published articles ranked by Machine Learning, Embedded Python, JSON, API and REST Applications, Manage and Configure InterSystems Environments, Docker and Cloud, VSCode, SQL, Analytics/BI, Globals, Security, DevOps, Interoperability, Native API. Learn and Enjoy!
Machine Learning is a mandatory technology to build advanced data analysis and automate manual activities with excellent efficiency.
Hi there have been various posts around how to clean up globals without parent data but none have gone into how you solve these issues.
Our database is approaching 600gb in size so i am looking into how to reduce this.
We use standard purge tasks.
Our cache stream class has a global size of 2463243 from running global size so it is what i would like to tackle first.
1) is there any way i can find based on my oldest message session for where most of these globals
2) in the class where these are created what can be done to ensure purping. Basically we have
I haver read $Query and $Order but still not getting the code that i am looking to work correctly.
I have a global like
^TestGlobal("Not Configured","Value 1")=""
^TestGlobal("Not Configured","Value 2")=""
I would like to introduce my new project for the Globals Contest. A very new view for the globals browser
.png)
This project was thought of when I was thinking of how to let Python code deal naturally with the scalable storage and efficient retrieving mechanism given by IRIS globals, through Embedded Python.
My initial idea was to create a kind of Python dictionary implementation using globals, but soon I realized that I should deal with object abstraction first.
So, I started creating some Python classes that could wrap Python objects, storing and retrieving their data in globals, i.e., serializing and deserializing Python objects in IRIS globals.
You may have seen my series of articles on GlobalToJSON closing with Embedded Python.
And to me, Embedded means inside a Class and not PEX or other external variants.
The first variants showed that ePy is not an ultimate requirement. ISOS/COS may do it as well.
Here I try to position ePy inside IRIS.
I am creating "models" that contain rows in several class tables called Model, Path, Node.
So, model 19 includes 1 row in the Model table, 11 rows in the Path table, and 10 rows in the Node table.
I'd like to write some utilities to "move" model 19 from one instance to another.
I found some old (maybe deprecated?) functionality, the %SYNC.Transporter, which seems to work. I can write a SQL query to select the rows of interest, and export those record to a ,gof file. I can create 3 of them (one file per class), and then on the target instance, I can import from the .
This package offers a utility to export an XLarge Global into a JSON object file and to show
or import it again. In a previous example, this all was processed in memory. But if this is a
large Global you may either experience <MAXSTRING> or an <STORE> error
if the generated JSON structure exceeds available memory.
I have number of hosts on an Ensemble production that are not updating the %LastActivity property in the
^CacheTemp.EnsHostMonitor global. This in return create an issue with our dashboard software which is showing wrong results even as the host is processing messages without issues.
Hey Developers,
We are super excited to announce the winners of the InterSystems Globals contest!

The winners of the 19th programming contest are as follows:
Hi Community,
Here is a link to a short video demonstration of a globals project called Cubes.
The source code for the project can be found here
Hey Developers,
Let the voting week begin! It's time to cast your votes for the best applications in the Globals Contest!
🔥 You decide: VOTE HERE 🔥
Globals are the core of the InterSystems IRIS for data persistence. It is flexible, allowing store JSON documents, relational data, object oriented data, OLAP cubes and custom data models, like Mindmaps. To see how to store, delete and get mindmap data using globals, follow these steps:
1. Clone/git pull the repo into any local directory
$ git clone https://github.com/yurimarx/global-mindmap.git
2. Open a Docker terminal in this directory and run:
$ docker-compose build
3. Run the IRIS container:
$ docker-compose up -d
4.
I have created a package that offers a utility to load a Global into JSON object and reverse
to create a Global from this type of JSON object. Compact refers to the structure created.
Globals nodes are included with data for a fast data load.
But also the related code is quite compact.
Hi contestants!
Here are the results of the bonus collections the applications of the Globals Contest accomplished.
Here are the projects that scored it:
| Project |
Data-model implementation
|
Functional index implementation
|
Data Move usage
|
Embedded Python
|
Docker
|
ZPM
|
Online Demo
|
First Article on DC
|
Second Article on DC
|
Code Quality
|
Video on YouTube
|
Total Bonus
|
| Nominal | 5 | 5 | 3 | 4 | 2 | 2 | 2 | 2 | 1 | 1 | 3 | 30 |
| Globals: Embedded Python vs. ObjectScript | 4 | 2 | 2 | 2 | 2 | 1 | 13 |
Hi Community,
This article describes the small ZPM module global-archiver.
The goal is to move a part of a global from a database to another database.
A typical use case is read-only data sequentially added to your database that you can never delete.
For example:
Depending on the intensive usage of your application, these data could highly increase your database size.
Hey Community,
Ready for the next contest? We are glad to invite you all to the 19th InterSystems online programming competition:
🏆 InterSystems Globals Contest 🏆
Duration: March 21 - April 10, 2022
In prizes: $10,000
Hi Developers!
Here're the technology bonuses for the InterSystems IRIS Globals Contest 2022 that will give you extra points in the voting:
See the details below.

Hey Coommunity,
Learn about InterSystems globals, the data model native to InterSystems IRIS® data platform that makes data storing efficient and provides the flexibility your data needs:
Hi Community,
We are pleased to invite all the developers to the upcoming InterSystems Globals Contest Kick-off Webinar! The topic of this webinar is dedicated to the Globals contest.
In this webinar, we’ll show you how to deal with Globals to implement different data models and sophisticated indexes. As always, our experts will answer the questions on how to develop, build, and deploy Globals solutions using InterSystems IRIS.
Date & Time: Monday, March 21 – 11:00 AM EDT
Speakers:
🗣 @Daniel Kutac, Senior Sales Engineer
🗣 @Joel Solon, Senior Technical Trainer
🗣 @Timothy Leavitt, Development Manager
🗣 @Evgeny Shvarov, InterSystems Developer Ecosystem Manager
I have created a package that offers a utility to load a Global into JSON object and reverse
to create a Global from this type of JSON object. Efficient refers to the structure created.
Only Globals nodes containing data are presented in the generated JSON object.
This example demonstrates the difference you may experience when you write to
Gllobals directly from Embedded Python compared to native ObjectScript.
To make this demo useful I start 2 background jobs that simply write sequentially
to a dedicated global. A common control method signals for a synchronous start.
Similar a common stop & view interrupts data feeding.
That's the principle process:
As 2 jobs run in parallel the probability of just using sequential blocks is reduced.
During the development of this demo, I detected that the JOB command has problems
with ClassMethods in Embedded Python.
Hey InterSystems Community!
This is probably far-fetched - is there a way to get notified/get a piece of code triggered whenever the state of a global changes?
Now what could I possibly want with that? Quite simple! I would like to forward the content of a global (in this case the "FSLog" global written by the FHIR implementation) while adding timestamps to it - to create some sort of file-based logging for it.
Dear people,
I (really) spent hours on finding the maximum size a Global is allowed to be (for Windows, if that matters). All I seem to run into are database sizes (derived from a max number of blocks and block size), but I refuse to believe that is correct because too small to be realistic.
It will undoubtedly my fault that I don't understand or misread the concepts of "database" vs Globals, envisioning files as such while one set of functional Globals in one file (?
In my article I described the work using iris.gref .
As the official documetation is rather slim on the subject it was necessary to dig into it.
Using the power of Python I was able to detect what I needed but was hidden.
I decided to share this with you. pydoc did the magic.