New
Article Henry Pereira · Feb 16 15m read

cover

Welcome to the finale of our journey in building MAIS.

  • In Part 1, we constructed the agnostic "Brain" using LiteLLM and IRIS.
  • In Part 2, we designed the "Persona", mastering Dynamic Prompt Engineering and the ReAct theory.

Now, the stage is set. Our agents are ready, defined, and eager to work. However, they remain frozen in time. They require a mechanism to drive the conversation, execute their requested tools, and pass the baton to one another.

Today, we will assemble the Nervous System. We are going to implement the Orchestrator using InterSystems BPL, creating a living, breathing loop that

0
1 110
New
Article Henry Pereira · Feb 14 3m read

cover

You’ve seen how tools like Lovable are shaking up web development. People are spinning up entire apps just by talking to an AI, almost like pair‑programming on steroids.

Now imagine bringing that same “vibe coding” experience into healthcare. know, it sounds crazy. Healthcare is complex, full of regulations, and usually gives us a headache just thinking about the interoperability rules.

That’s exactly the space where withLove lives: an AI‑Native, Low‑Code platform built entirely on InterSystems IRIS for Health.

And no, this is not “one more chatbot” that spits out half‑broken code for you to

1
0 25
New
Article Henry Pereira · Feb 14 3m read

cover

Picture a dark room. The only light comes from a wall of displays and a blinking prompt that politely informs you:

“LINK TO M-U5K-3T: HIGH LATENCY – DIRECT CONTROL DISABLED.”

Perfect.

You are supposed to be a Rover Commander in the Musketeer Corps. Somewhere absurdly far away, you have an autonomous unit parked on a hostile exoplanet. It wants you dead, but it’s also covered in minerals that could fund a small civilization.

The ore on M-U5K-3T is everywhere. Unfortunately, everything else on the surface is actively trying to kill you.

So, we don't pilot. We script.

You aren't driving a car; you are

2
0 42
Article Henry Pereira · Feb 4 11m read

cover

In Part 1, we laid the technical foundation of MAIS (Multi-Agent Interoperability Systems). We have successfully wired up the 'Brain', built a robust Adapter using LiteLLM, locked down our API keys with IRIS Credentials, and finally cracked the trick code on the Python interoperability puzzle.

However, right now our system is merely a raw pipe to an LLM. It processes text, but it lacks identity.

Today, in Part 2, we will define the Anatomy of an Agent. We will move from simple API calls to structured Personas.

0
0 130
Article Henry Pereira · Jan 26 6m read

image1

Some concepts make perfect sense on paper, whereas others require you to get your hands dirty. Take driving, for example. You can memorize every component of the engine mechanics, but that does not mean you can actually drive.

You cannot truly grasp it until you are in the driver's seat, physically feeling the friction point of the clutch and the vibration of the road beneath. While some computing concepts are intuitive, Intelligent Agents are different. To understand them, you have to get in the driver's seat.

In my previous articles regarding AI agents, we discussed such tools as CrewAI and La

0
2 196
Article Henry Pereira · Jul 31, 2025 5m read

artisan cover

If you’ve ever watched a true artisan—whether a potter turning mud into a masterpiece or a luthier bringing raw wood to life as a marvelous guitar—you know that magic isn’t in the materials, but in care, craft, and process. I know this firsthand: my handmade electric guitar is a daily inspiration, but I’ll admit—creating something like that is a talent I don’t have.

Yet, in the digital world, I often see people hoping for “magic” from generative AI by typing vague, context-free prompts like “build an app.” The results are usually frustratingly shallow—no artistry, no finesse.

2
0 128
Article Henry Pereira · Jun 11, 2025 15m read

Learn how to design scalable, autonomous AI agents that combine reasoning, vector search, and tool integration using LangGraph.

cover

Too Long; Didn't Read

  • AI Agents are proactive systems that combine memory, context, and initiative to automate tasks beyond simple chatbots.
  • LangGraph is a framework that enables us to build complex AI workflows, utilizing nodes (tasks) and edges (connections) with built-in state management.
  • This guide will walk you through building an AI-powered customer support agent that classifies priorities, identifies relevant topics, and determines whether to escalate or
4
4 676
Question Henry Pereira · May 30, 2025

Hi all!

I want to create an %Embedding.Config to use with an %Embedding property. I followed the documentation for %Embedding.OpenAI, and it works fine after setting sslConfig, modelName, and apiKey.

However, I need to use AzureOpenAI. While the embedding process is similar to OpenAI's, Azure requires additional connection parameters, like an endpoint. My question is: is it possible to configure these extra parameters with %Embedding.Config, and if so, how?

documentation reference

2
0 88
Article Henry Pereira · May 29, 2025 6m read

image

You know that feeling when you get your blood test results and it all looks like Greek? That's the problem FHIRInsight is here to solve. It started with the idea that medical data shouldn't be scary or confusing – it should be something we can all use. Blood tests are incredibly common for checking our health, but let's be honest, understanding them is tough for most folks, and sometimes even for medical staff who don't specialize in lab work. FHIRInsight wants to make that whole process easier and the information more actionable.

🤖 Why We Built FHIRInsight

It all started with a simple but

2
0 200
Article Henry Pereira · Apr 2, 2025 17m read

Image generated by OpenAI DALL·E

I'm a huge sci-fi fan, but while I'm fully onboard the Star Wars train (apologies to my fellow Trekkies!), but I've always appreciated the classic episodes of Star Trek from my childhood. The diverse crew of the USS Enterprise, each masterminding their unique roles, is a perfect metaphor for understanding AI agents and their power in projects like Facilis. So, let's embark on an intergalactic mission, leveraging AI as our ship's crew and  boldly go where no man has gone before!  This teamwork concept is a wonderful analogy to illustrate how AI agents work and how we use them in our DC-Facilis

2
2 260
Article Henry Pereira · Sep 29, 2024 3m read

sql-embedding cover

InterSystems IRIS 2024 recently introduced the vector types. This addition empowers developers to work with vector search, enabling efficient similarity searches, clustering, and a range of other applications. In this article, we will delve into the intricacies of vector types, explore their applications, and provide practical examples to guide your implementation.

At its essence, a vector type is a structured collection of numerical values arranged in a predefined order. These values serve to represent different attributes, features, or characteristics of an object.

SQL-Embedding: A Versatile

2
2 357
Article Henry Pereira · Aug 1, 2024 4m read

Frontend development can be a daunting, even nightmarish, task for backend-focused developers. Early in my career, the lines between frontend and backend were blurred, and everyone was expected to handle both. CSS, in particular, was a constant struggle; it felt like an impossible mission.

Although I enjoy frontend work, CSS remains a complex challenge for me, especially since I learned it through trial and error. The meme of Peter Griffin struggling to open blinds perfectly captures my experience of learning CSS. Peter Griffin CSS

But today, everything changes.

3
2 649
Article Henry Pereira · May 18, 2024 5m read

 

Current triage systems often rely on the experience of admitting physicians. This can lead to delays in care for some patients, especially when faced with inexperienced residents or non-critical symptoms. Additionally, it can result in unnecessary hospital admissions, straining resources and increasing healthcare costs.

We focused our project on pregnant women and conducted a survey with friends of ours who work at a large hospital in São Paulo, Brazil, specifically in the area of monitoring and caring for pregnant women.

We discovered that a significant problem occurs when an inexperienced

0
0 242
Article Henry Pereira · Jan 16, 2023 14m read

cover

In this article, I will show you how one can easily create and read Microsoft Word documents using InterSystems IRIS with the leverage power of embedded Python.

Setup

First things first, let’s install the Python module called python-docx. There are a lot of modules to write MS Word files in Python. However, this one is the easiest one to use.

Just execute the following command on the terminal:

!pip3 install python-docx

If you are working with Docker, like I do, just add the following line to a Dockerfile

ENV PIP_TARGET=${ISC_PACKAGE_INSTALLDIR}/mgr/python RUN pip3 install python-docx

Let’s Get

7
7 1386
Article Henry Pereira · Apr 6, 2022 7m read

so... where's my money?

All of us know that money is important. We constantly need to monitor all expenses to avoid looking back to the bank statement and thinking: “So, where’s my money?”

To evade financial stress, we must keep an eye on the inflow and outflow of money into our accounts.It is also important to tack when and how we spend and earn. Manually recording all transactions in order to understand where our money goes requires an effort. It demands consistency, and it is boring. Today there is a bunch of mobile or SaaS options that help you manage your finances.

I believe that there’s a good chance you are

0
0 2042
Article Henry Pereira · Dec 1, 2021 5m read

freepik- freepik.com First of all, what is data anonymization?

According to Wikipedia:

Data anonymization is a type of information sanitization whose intent is privacy protection. It is the process of removing personally identifiable information from data sets, so that the people whom the data describe remain anonymous.

In other words, the data anonymization is a process that retains the data but keeps the source anonymous. Depending on the adopted anonymization technique the data is redacted, masked or substituted.

And that is the purpose of iris-Disguise, to provide a set of anonymization tools.

You can use in

12
3 1569
Article Henry Pereira · Sep 10, 2021 3m read

https://media3.giphy.com/media/L0qTl8hl84EDly62J1/giphy.gif?cid=ecf05e47wl2uvkvz3dxsp1axa4gf5tsk7s7nqytg7vwadj38&rid=giphy.gif&ct=g

I really love documentaries! Last weekend I was watching a Netflix documentary called This is Pop, because it was Analytics Contest time and I thought: Why not creating a pop song analytics with InterSystems Iris?

The first challenge was the database. I found on Data World project a CSV file with the Billboard hot 100 songs from 2000 to 2018, created by "Michael Tauberg" @typhon, that fits perfectly.

I was talking to @Henrique Dias and he gave me the idea of using Microsoft Power BI for good looking report with charts.

Which genres were most popular between 2000 and 2018?

Which artists had more songs

7
0 525
Article Henry Pereira · Aug 2, 2021 8m read

https://media.giphy.com/media/Nxu57gIbNuYOQ/giphy.gif

Easy, easy, I'm not promoting a war against the machines in the best sci-fi way to avoid world domination of Ultron or Skynet. Not yet, not yet 🤔

I invite you to challenge the machines through the creation of a very simple game using ObjectScript with embedded Python.

I have to say that I got super excited with the feature of Embedded Python on InterSystems IRIS, it's incredible the bunch of possibilities that opens to create fantastic apps.

Let's build a tic tac toe, the rules are quite simple and I believe that everyone knows how to play.

That's what saved me of the tedium in my childhood

8
5 1605
Question Henry Pereira · Mar 12, 2021

Hi community,

I need to write an SQL query with hierarchical order, I have a table with a column referencing itself, similar as the sample bellow:

ID
DATE
MESSAGE
LOGIN
PARENT_ID
1
27/01/21
Bacon ipsum dolor amet pork shoulder ribs
User 1
 
2
27/01/21
Gouda croque monsieur emmental.
User 2
1
3
27/01/21
Manchego fromage frais airedale
User 3
2

Oracle database has Hierarchical Query, to do something like that:

SELECT id, MESSAGE, parent_id
   FROM messages
   CONNECT BY PRIOR id = parent_id;

Is it possible to do something

4
0 353
Question Henry Pereira · May 20, 2020

Hi community,

I need to write an SQL query  to fetch a random record from a table, that table has millions of data.

In postgresql, for example, there is a RANDOM() function to do something like that:

SELECT column FROM table
ORDER BY RANDOM()
LIMIT 1

Is it possible to do something like that in Caché?

Thanks in advance

8
0 978
Announcement Henry Pereira · Mar 27, 2020

SQLBuilder is a flexible and powerful SQL query string builder for InterSystems IRIS,

With SQLBuilder you have nice and clean object oriented methods, instead of having to use concatenation and substituition to generate dynamic queries.

A Dynamic SQL without SQLBuilder

A Dynamic SQL with SQLBuilder

If you like it, don't forget to vote in the IRIS Programming Contest

18
5 810
Article Henry Pereira · Sep 16, 2019 6m read

In an ever-changing world, companies must innovate to stay competitive. This ensures that they’ll make decisions with agility and safety, aiming for future results with greater accuracy.
Business Intelligence (BI) tools help companies make intelligent decisions instead of relying on trial and error. These intelligent decisions can make the difference between success and failure in the marketplace.
Microsoft Power BI is one of the industry’s leading business intelligence tools. With just a few clicks, Power BI makes it easy for managers and analysts to explore a company’s data. This is important because when data is easy to access and visualize, it’s much more like it’ll be used to make business decisions. 


8
2 3130
Article Henry Pereira · Apr 11, 2019 10m read


 

Hello everyone,

I was first introduced to TDD almost 9 year ago, and I immediately fell in love with it. 
Nowadays it's become very popular but, unfortunately, I see that many companies don't use it. Moreover, many developers don't even know what it is exactly or how to use it, mainly beginners.

Overview

My goal with this article is to show how to use TDD with %UnitTest. I will show my workflow and explain how to use cosFaker, one of my first projects, which I created using Caché and recently uploaded to OpenExchange.

So buckle up and let's go.

What is TDD?

Test Driven Development (TDD) can be

7
10 1685
Article Henry Pereira · May 16, 2017 3m read

Hi Community,
This post is to introduce one of my first project in COS, I created when started to learn the language and until today I'm keeping improve it.

The CosFaker(here on Github) is a pure COS library for generating fake data.

cosFaker vs Populate Utils

So why use cosFaker if caché has the populate data utility?

Ok the populate utility has great things, like the SSN Generator for example, but what to do when you have a field with a long description of a product? How to check if that table will list the emails or if that calculated property will count the days of the last user interaction.

For

8
2 1162