InterSystems Developers https://community.intersystems.com/podcasts InterSystems Intersystems Community info@intersystems.com We’re InterSystems Developers. Specialize in Data Platforms: InterSystemsIRIS, Caché, HealthShare en Intersystems Community We’re InterSystems Developers. Specialize in Data Platforms: InterSystemsIRIS, Caché, HealthShare Sun, 24 Aug 2025 14:00:01 -0400 Scrap Yard Time Capsules: The Forgotten Cars That Tell Australia’s Story 0:00 Every old car in a scrap yard has a story. These vehicles sit in dusty yards across Australia. They reflect changes in design, in industry, in how people moved from place to place. They are more than old metal. They are time capsules. This article explores that idea. What a Scrap Yard Holds. Scrap yards are full of cars from different eras. Some are from the 1940s, some from the 1970s and 1980s. People bring them in because they no longer run or because they are unwanted. They sometimes note what made them special at the time. Sun, 24 Aug 2025 14:00:01 -0400 post585426 Building a robot with IRIS 0:00 In this case, a robot is nothing like Gort from the movie “The Day the Earth Stood Still” or any other humanoid robot from science fiction. Nor is this Robot the one-armed automated welder from a real-world automotive assembly line. This Robot is a program that controls another program. You might want this for automated testing or to capture application logic from an application for which you don’t have the source, and the application’s author lacked the kindness or foresight to provide an API for its capabilities. Fri, 22 Aug 2025 19:14:04 -0400 post585421 OMOP Odyssey - InterSystems OMOP, The Cloud Service (Troy) 0:00 InterSystems OMOP, The Cloud Service (Troy). An Implementer's approach into the OHDSI ( pronounced "Odyssey" ) Community through an Expiring Trial of InterSystems OMOP Cloud Service.What is it? The InterSystems OMOP, available as a HealthShare service through the InterSystems Cloud Services Portal, transforms HL7® FHIR® data into the Observational Medical Outcomes Partnership (OMOP) Common Data Model (CDM). The InterSystems OMOP looks at FHIR data stored in an S3 bucket and automatically transforms and sends the data to the cloud-hosted repository in the OMOP CDMO format. Fri, 22 Aug 2025 19:07:01 -0400 post582995 How to merge existing accounts (update email) in the InterSystems Developer Ecosystem 0:00 Hi Community,. Sometimes you may need to merge multiple accounts or simply update the email address you use across the different portals in the InterSystems Developer Ecosystem. Since each portal works a little differently, here’s a guide to help you through the process. Change your email. If you’d like to use a different email (for example, use a work email instead of a personal one, or vice versa), here’s how to update it across the portals. 1. Update your email in InterSystems SSO. To do this. log in to login.intersystems.com choose Options - Change Email. Fri, 22 Aug 2025 18:01:01 -0400 post585336 How to Create Accurate Tax Forms Using a 1099-MISC Form Generator 0:00 Tax season can be overwhelming for both businesses and independent contractors. Among the many forms required, the 1099-MISC stands out as a crucial document for reporting miscellaneous income such as rent, royalties, or payments made to non-employees. Accuracy is vital—errors on these forms can result in penalties and delays. Fortunately, a 1099-MISC Form Generator simplifies the process, ensuring precision, compliance, and efficiency. Thu, 21 Aug 2025 09:48:01 -0400 post585399 Migrating InterSystems Studio/Caché and Visual Studio Code Setup to a new Windows PC 0:00 Recently, I replaced my old laptop with a new one and had to migrate all my data. I was looking for a guide but couldn’t find anything that explained in detail how to migrate server connections from InterSystems Studio and Visual Studio Code from one PC to another. Simply reinstalling the tools is not enough, and migrating all the connections manually seemed like a waste of time. In the end, I managed to solve the problem, and this article explains how. InterSystems Studio. Exporting Server Connections. Migrating Studio connections was the most challenging part. Thu, 21 Aug 2025 09:42:01 -0400 post585396 Why People Need to Make Bank Statements and How It Helps 0:00 In today’s digital-driven world, bank statements have become an essential financial document, not only for record-keeping but also for numerous legal, professional, and personal purposes. Whether for securing a loan, managing business accounts, or keeping track of personal finances, the ability to Make Bank Statements that are accurate and reliable plays a pivotal role. In this article, we will explore in depth why people need to make bank statements and how these documents provide tangible benefits in everyday life. What is a Bank Statement? Thu, 21 Aug 2025 08:07:01 -0400 post585395 The Future of Financial Management: Bank Statement Generator Explained 0:00 In the ever-evolving landscape of financial management, digital tools are redefining how businesses and individuals handle their finances. One of the most significant innovations shaping this transformation is the Bank Statement Generator. This advanced solution is no longer just a tool for accountants or auditors—it is becoming an integral part of everyday financial processes, offering speed, accuracy, and convenience. What is a Bank Statement Generator? A bank statement generator is a software-driven solution designed to create accurate and detailed bank statements within minutes. Thu, 21 Aug 2025 04:47:03 -0400 post585390 Introduction to Interoperability on Python (IoP) 0:00 Interoperability on Python (IoP) is a proof-of-concept project designed to showcase the power of the InterSystems IRIS Interoperability Framework when combined with a Python-first approach.IoP leverages Embedded Python (a feature of InterSystems IRIS) to enable developers to write interoperability components in Python, which can seamlessly integrate with the robust IRIS platform. This guide has been crafted for beginners and provides a comprehensive introduction to IoP, its setup, and practical steps to create your first interoperability component. Tue, 19 Aug 2025 17:34:05 -0400 post583341 How to Change Your Primary Email Address on Developer Ecosystem Resources 0:00 >> Udated guide <<. Hey everyone,. Need to change your PRIMARY email address (login email) and not lose all your activity on the Developer Ecosystem resources Community, Global Masters, and Open Exchange? It's easy! We will take care! 1️⃣ We will correctly transfer all your information from the old DC account to the new one. All your posts, comments, mentions, likes, etc. will be saved on the new account. 2️⃣ If you are a member of Global Masters, your level, badges, points, etc. will also be transferred to your new account. Tue, 19 Aug 2025 14:05:03 -0400 post508541 Caché and virus scanners 0:00 Post updated in August 2025 to include links to IRIS. I have seen customer problems where the use of a virus scanner running over **Caché** or **IRIS** databases was causing intermittent application slowdowns and bad user response times. This is a surprisingly common problem, so this short post is just a reminder to exclude key _Caché_ and _IRIS_ components from your virus scanning. Generally, virus scanning must exclude the `CACHE.DAT` or `IRIS.DAT` database files and the InterSystems binaries. Mon, 18 Aug 2025 15:57:01 -0400 post409536 IKO - Lessons Learned (Part 4 - The Storage Class) 0:00 The IKO will dynamically provision storage in the form of persistent volumes and pods will claim them via persistent volume claims. But storage can come in different shapes and sizes. The blueprint to the details about the persistent volumes comes in the form of the storage class. This raises the question we've deployed the IrisCluster, and haven't specified a storage class yet. So what's going on? You'll notice that with a simple. The code block. you'll find the storage classes that exist in your cluster. Mon, 18 Aug 2025 14:23:01 -0400 post555071 IKO - Lessons Learned (Part 3 - Services 101 and The Sidecars) 0:00 The IKO allows for sidecars. The idea behind them is to have direct access to a specific instance of IRIS. If we have mirrored data nodes, the web gateway will (correctly) only give us access to the primary node. But perhaps we need access to a specific instance. The sidecar is the solution. Building on the example from the previous article, we introduce the sidecar by using a mirrored data node and of course arbiter. The code block. Notice how the sidecar is nearly identical to the 'maincar' webgateway. It just is placed within the data node. Mon, 18 Aug 2025 14:22:01 -0400 post555066 IKO - Lessons Learned (Part 2 - The IrisCluster) 0:00 We now get to make use of the IKO. Below we define the environment we will be creating via a Custom Resource Definition (CRD). It lets us define something outside the realm of what the Kubernetes standard knows (this is objects such as your pods, services, persistent volumes (and claims), configmaps, secrets, and lots more). We are building a new kind of object, an IrisCluster object. The code block. The IrisCluster object oversees and facilitates the deployment of all the components of our IRIS environment. In this specific environment we will have. Mon, 18 Aug 2025 14:21:01 -0400 post553886 IKO - Lessons Learned (Part 1 - Helm) 0:00 The IKO documentation is robust. A single web page, that consists of about 50 actual pages of documentation. For beginners that can be a bit overwhelming. As the saying goes how do you eat an elephant? One bite at a time. Let's start with the first bite helm. What is Helm? Helm is to Kubernetes what the InterSystems Package Manager (IPM, formerly ObjectScript Package Manager - ZPM) is to IRIS. It facilitates the installation of applications on the platform - in a fashion suitable for Kubernetes. Mon, 18 Aug 2025 14:20:01 -0400 post554021 Autoscaling IRIS Workloads. My adventure with IKO, HPA, and Traffic Cop 0:00 This week I was able to demo a proof of concept for our FMS interface on traffic cop architecture to my team. We are working on modernizing an Interoperability production running on mirrored Health Connect instances. We deploy IRIS workloads on Red Hat OpenShift Container Platform using InterSystems Kubernetes Operator (IKO). We can define any number of replicas for the compute stateful set where each compute pod runs our Interoperability production. We introduced Horizontal Pod Autoscaler (HPA) to scale up the number of compute pods based on memory or CPU utilization. Mon, 18 Aug 2025 14:16:03 -0400 post539501 InterSystems Kubernetes Operator Deep Dive: Part 2 0:00 In the previous article, we looked at one way to create a custom operator that manages the IRIS instance state. This time, we’re going to take a look at a ready-to-go operator, InterSystems Kubernetes Operator (IKO). Official documentation will help us navigate the deployment steps. Prerequisites. To deploy IRIS, we need a Kubernetes cluster. In this example, we’ll use Google Kubernetes Engine (GKE), so we’ll need to use a Google account, set up a Google Cloud project, and install gcloud and kubectl command line utilities. You’ll also need to install the Helm3 utility. Mon, 18 Aug 2025 14:14:03 -0400 post487361 InterSystems Kubernetes Operator Deep Dive: Introduction to Kubernetes Operators 0:00 IntroductionSeveral resources tell us how to run IRIS in a Kubernetes cluster, such as Deploying an InterSystems IRIS Solution on EKS using GitHub Actions and Deploying InterSystems IRIS solution on GKE Using GitHub Actions. These methods work but they require that you create Kubernetes manifests and Helm charts, which might be rather time-consuming.To simplify IRIS deployment, InterSystems developed an amazing tool called InterSystems Kubernetes Operator (IKO). Mon, 18 Aug 2025 14:13:01 -0400 post484686 GitOps with the InterSystems Kubernetes Operator 0:00 ![image](/sites/default/files/inline/images/argo-iko.png) This article will cover turning over control of provisioning the InterSystems Kubernetes Operator, and starting your journey managing your own "Cloud" of InterSystems Solutions through Git Ops practices. This deployment pattern is also the fulfillment path for the [PID^TOO||](https //www.pidtoo.com)| FHIR Breathing Identity Resolution Engine. ### Git Ops I encourage you to do your own research or ask your favorite LLM about Git Ops, but I can paraphrase it here for you as we understand it. Mon, 18 Aug 2025 14:12:02 -0400 post552086 A beginner's guide to creating SQL tables and seeing them as classes 0:00 The August Article Bounty on the Global Masters article caught my attention, and one of the proposed topics sounded quite interesting in regard to its future use in my teaching. So, here's what I'd like to tell my students about tables in IRIS and how they correlate with the object model. First of all, InterSystems IRIS boasts a unified data model. This means that when you work with data, you are not locked into a single paradigm. The same data can be accessed and manipulated as a traditional SQL table, as a native object, or even as a multidimensional array (a global). Mon, 18 Aug 2025 13:54:02 -0400 post585300 How to Create Custom Boxes and Packaging That Enhance Product Perception 0:00 In today’s competitive marketplace, custom boxes and packaging play a vital role in shaping how customers perceive your product. Packaging is no longer just about protection—it’s an extension of your brand identity and a powerful marketing tool. The right design can influence purchasing decisions, build loyalty, and make your products stand out on crowded shelves. Why Product Perception Matters. First impressions count. Before a customer even tries your product, they notice the packaging. Mon, 18 Aug 2025 06:33:01 -0400 post585340 Practical ObjectScript Coding: From JSON to Globals to SQL 0:00 While starting with Intersystems IRIS or Cache, developers often encounter three core concepts Dynamic Objects, Globals & Relational Table. Each has its role in building scalable and maintainable solutions. In this article, we'll walk through practical code examples, highlight best practices, and show how these concepts tie together. 1. Working with Dynamic Objects. Dynamic objects (%DynamicObject and %DynamicArray) allow developers to manipulate JSON-like structures directly in Objectscript. Mon, 18 Aug 2025 01:47:01 -0400 post585338 SPOOL as SQL Table 0:00 It is a classic Global Mapping exercise presenting ^SPOOL as Class / Table. Background. Device #2 named SPOOL dates back to the predecessors of Caché and IRISIt was the first "%Stream" like option to buffer output before printing.It is also the first and till today the most simple way of output redirection. Solution. This is also an example of a mapped Global.USE 2 redirects the output into the Global ^SPOOL. You can read the global manually or with some ancient utilitiesor use this mapping to access it as class or a SQL table. The structure of Spool. Sun, 17 Aug 2025 17:10:05 -0400 post479516 Trying Embedded Python 0:00 This is a first attempt to use Embedded Python in IRISThe Python code is adapted from solutions for Advent of Code 2020 contest.Test data are all input to my personal challenge. Prerequisites. Make sure you have git and Docker desktop installed. Installation. Clone/git pull this repo into any local directory. The code block. Open the terminal in this directory and run. The code block. this may take some time to complete. Run the IRIS container with this project. The code block. How to Test it. Using IRIS terminal. The code block. The code block. Hints. Sun, 17 Aug 2025 17:09:01 -0400 post487351 JSONfile-to-Global #1 0:00 The similarity between JSON objects + arrays and Globals in IRIS or Caché is evident.With small and medium size JSON objects navigation across %Dynamic Objects is comfortable.But with large and/or deep cascaded objects it becomes a challenge. The presented tool offers 3 variants. loading an already existing %Dyamic object or Array into a global of your choice loading a %Stream containing a JSON object into a global of your choice loading an external File containing a JSON object into a global of your choice How to use it. The code block. from an already existing Stream, it's like this. Sun, 17 Aug 2025 17:01:01 -0400 post534561 JSONfile-to-Global #2 0:00 The power of the presented tool becomes visible with a large JSON file.The example I have prepared is composed of the daily results of AoC 2023.Anonymization makes it usable for demo purposes.As the original, it is an uninterrupted sequence of bytes without any NewLine or similar.6 660 895 Bytes raw in sequence (as by NTFS). With this content (shrinked) It is loaded into an %DynamicObject using the method %FromJSONfile.If you try to investigate that object using ZWRITE you end with <MAXSTRING>And this is perfectly correct. Sun, 17 Aug 2025 17:00:01 -0400 post534591 Global-Streams-to-SQL 0:00 In general Global Streams are data objects embedded in Classes / Tables.Using and viewing them with SQL is normally a part of the access to the containing tables. SO WHAT? During debugging or searching for strange or unexpected behavior there could be the need to get closer to the stored stream. No big problem with direct access to Globals with SMP or Terminal.But with SQL you are lost.So my tool provides dynamic access to Global Streams wherever you may need thisSpecial thanks to @Oliver.Wilms for the inspiration for this tool. Sun, 17 Aug 2025 16:59:01 -0400 post533696 SQL for ^ERROR Global 0:00 Standard error logs in IRIS / Caché / Ensemble are written global ^ERRORS.As this piece dates back some decades back to previous millennium its structureis far from the typical SQL storage structures.The global is written by routine ^%ETN.int and the content becomes visible fromterminal command line by routine ^%ERN or in Mgmt Portal as Application Error Log. It is just not available to SQL as there is no Class wrapped around.For several reasons. When it was designed it was good practice to have index like structures in the same globals as the data. Sun, 17 Aug 2025 16:58:01 -0400 post479961 Snapshot to JSON 0:00 This is a sample to use %JSON.Adaptor class available in IRIS to produce a snapshot of your object. The sample consists of 2 classes that are variations of what was known in Caché/SAMPLES as Sample.Person.Be aware that the possibilities are limited by %JSON.Adapter and how you make use of it. Once in place, you create some test data by Populate().You select an object and take a snapshot.You apply changes to your object and take another snapshot.And see the difference. BINGO! GitHub. Sun, 17 Aug 2025 16:57:01 -0400 post470556 Global Scanning & Slicing 0:00 . In most cases, a global used by default storage has just 1 subscript level that represents the IDKEY.For an index-globals we may see 2 or more subscript levels.Arrays, or parent-child relationships or persistent classes extending a base data classare examples where we see more levels. Though all these globals are quite uniform. And then we see globals not related to classes or tables like ^SPOOL, or ^ERRORS, or ^%SYSwhere the structure depends on various levels of subscripts with special meaning. Sun, 17 Aug 2025 16:56:01 -0400 post480086