🚨 Update, January 21, 2025 – Maintenance Completed 🚨

The planned maintenance on the Developer Community has been successfully completed! While the site is up and running, we are still performing additional testing, so occasional issues may occur.

We apologize for any inconvenience and greatly appreciate your patience. If you notice anything unusual, please don’t hesitate to let us know.

Thank you for your understanding and support!

9 Under Maintenance Page Tips | Messages for a Down Website

5 2
0 128
InterSystems Developer Community is a community of 24,994 amazing developers
We're a place where InterSystems IRIS programmers learn and share, stay up-to-date, grow together and have fun!

I'm having an issue with sending SMTP requests from a specific Microsoft 365 account to Gmail accounts. We can use other Microsoft 365 accounts, but something about this one specific account sending to Gmail fails. The error we get is just telling us that sending to the user xxxxx@gmail.com failed. In order to troubleshoot that, I'm looking for more detail than that.

1 4
0 164

If you thought native Go support for IRIS was exciting, wait until you see what happens when GORM enters the mix.


Just recently, we welcomed native GoLang support for InterSystems IRIS with the release of go-irisnative. That was just the beginning. Now, we’re kicking things up a notch with the launch of gorm-iris — a GORM driver designed to bring the power of Object Relational Mapping (ORM) to your IRIS + Go stack.

Why GORM?

GORM is one of the most popular ORM libraries in the Go ecosystem. It makes it easy to interact with databases using Go structs instead of writing raw SQL. With features like auto migrations, associations, and query building, GORM simplifies backend development significantly.

So naturally, the next step after enabling Go to talk natively with IRIS was to make GORM work seamlessly with it. That’s exactly what gorm-iris does.

5 4
1 87

RabbitMQ is a message broker that allows producers (those who send a data message) and consumers (those who receive a data message) to establish asynchronous, real-time, and high-performance massive data flows. RabbitMQ supports AMQP (Advanced Message Queuing Protocol), an open standard application layer protocol.
The main reasons to employ RabbitMQ include the following:

  • You can improve the performance of the applications using an asynchronous approach.
  • It lets you decouple and reduce dependencies between services, microservices, and applications with the help of a data message mediator, meaning that there is no need for producers and consumers of exchanged data to know each other.
  • It allows the long-running processing of sent data (with the results) to be delivered after utilizing a response queue.
  • It helps you migrate from monolithic to microservices, where microservices exchange data via Rabbit in a decoupled and asynchronous way.
  • It offers reliability and resilience by making it possible for messages to be stored and forwarded. A message can be delivered multiple times until it is processed.
  • Message queueing is the key to scaling your application. As the workload increases, you will only have to add more workers to handle the queues faster.
  • It works well with data streaming applications.
  • It is beneficial for IoT applications.
  • It is a must for Bots’ communication.

4 0
2 167

In this article I'll show you how to set up in your laptop, very quickly, a cluster of IRIS nodes in sharding. It's not the goal of this article neither to talk about sharding in detail nor define a deployment of a production ready architecture, but to show how to set up quickly, in your own machine, a cluster of IRIS instances configured as shard nodes, with which you'll able to play and test this functionality. If you're insterested in knowing more about sharding in IRIS, take a look at the documentation clicking here.

First and foremost, I want to remark that IRIS sharding will allow us 2 things:

  • Define, load and query shard tables, which data will be distributed transparently between the cluster's nodes
  • Define federated tables, which offer a global and composed view of data belonging to different tables that will be physically stored in different distributed nodes

So, as I said, we let for other article playing with shard or federated tables, and just focus now in the previous step, that is, setting up the cluster of shard nodes.

7 1
1 147

Hello,

as it took me some time to figure out what's wrong, I would like to share this experience, so that you do not fall into the same trap.

I've just noticed that if you name your package "code" (all lowercase), in a class using some embedded python using [Language = python], you'll face the <THROW> *%Exception.PythonException <PYTHON EXCEPTION> 246 <class 'ModuleNotFoundError'>: No module named 'code.basics'; 'code' is not a package

5 2
0 127

Throughout the forum, I find examples of using the method getSegmentByIndex to get the segment as I loop through the HL7 message segments.

Today I spent way too long trying to figure out why I could not modify the segment with this same method. I reached out to my more experienced team and I showed where I got the base code from what I was doing, but I myself could not find the documentation of the method.

0 1
0 166

I recently had to refresh my knowledge of the HealthShare EMPI module and since I've been tinkering with IRIS's vector storage and search functionalities for a while I just had to add 1 + 1.

For those of you who are not familiar with EMPI functionality here's a little introduction:

Enterprise Master Patient Index

In general, all EMPIs work in a very similar way, ingesting information, normalizing it and comparing it with the data already present in their system. Well, in the case of HealthShare's EMPI, this process is known as NICE:

18 0
1 166

Hi Community,

We're excited to invite you to the webinar 2025 Data Management: Technology Trends & Predictions.

Join this webinar for an engaging and insightful tech talk on the latest trends in data management technology in the UK and Ireland.

Date & Time: Thursday, January 23, 10:30 AM GMT

👨‍🏫 Speakers:

  • Andy Hayler, Practice Leader, Bloor Research
  • @Mike Fuller, Regional Director of Marketing, InterSystems UK&I

2025 Tech Talk Tech Trends & Predictions.png

2 0
0 166

Let's suppose two different routines use one and the same chunk of code. From the object-oriented POV, a good decision is to have this chunk of code in a separate class and have both routines call it. However, whenever you call code outside of the routine as opposed to calling code in the same routine, some execution speed is lost. For reports churning through millions of transactions this lost speed might be noticeable. Any advice how to optimize specifically speed?

1 14
0 151
  1. I like the Application Error Log functionality a lot. However, it becomes time consuming to inspect it date by date and directory by directory on a multidirectory server. Ideally, I would use an existing error class to write a custom error report by date, selected namespaces, etc. Does such a system class actually exist? Not that I found. The detail level on the screenshot below is enough.
0 10
0 154

I'm sure most of you are familiar with utility %SYS.MONLBL that is crucial when analysing code performance bottlenecks. It allows you to select a number of routines that you want to monitor at runtime and also specify what process(es) you want to watch. BUT, what if you do not know exactly, what process would execute your code? This is true with many web based (CSP/REST) applications today. You want to minimize the resource utilization on your production system that needs analysis. So, how about doing a small tweak?

1. Define an INC file with these macros:

7 2
2 124

Our target system requires a blank ROL segment whenever the ROL segment does not exist in an A08 from our source system. I'm not sure if this can be done with the DTL gui tools or if some sql or other code is required (coding is not in my wheelhouse). Here is what I've tried, but this does not yield the "ROL|1|" I'd like to create. Any help would be greatly appreciated.

Here is the input message that I'd like to add the ROL segment to:

1 5
0 159

Hello everyone! This is my first post into the developer community and one that I hope is fairly simple to answer. In our environment we currently have 3 different Test environments for testing before migrating code to our Prod environment. Currently we are working on establishing a source control method using Git in house which has been a bit of a struggle. We have also had developers that had used different test and migration methods in the past which has caused some issues with keeping the different test environment in sync.

0 7
0 157

What settings do I need to just passthrough an X12 messages from a BS to BO and out the BO without modifying the message?

Currently, we are receiving the X12 messages but, it seems Iris is modifying it by "hiding" some segments like the ISA segment. The message goes out the BO modified and it doesn't reach its destination. Since I just want to pass it through, there is no BP, DTL, or Rule processing the message. Message is received by the BS and sent directly to the BO.

My current settings:

1 7
0 157

I hit halt in Iris lite terminal within VS Code and was exited out to PS prompt. I was just curious what the best way / recommended way to get back into an InterSystems lite terminal would be? Perhaps it is just to start a new InterSystems lite terminal from a the options listed previously in this post https://community.intersystems.com/post/how-run-objectscript-commands-vs.... I was just curious if there was a way to kick it off again from the PS prompt?

0 2
0 162
Article
· May 29 8m read
Integrate with Google Forms

Google Forms is the most popular solution on the market for collecting data, answering questionnaires and quizzes. So, it is the ideal solution for collecting patient data and responses in a practical way, without the need to expand or develop systems. In this article, I will detail how to create an account on Google Cloud, register the application that will consume the Google Forms API, generate the service user necessary to consume the API and finally perform actions to create new forms and collect data filled in them in an automated way in embedded Python and IRIS.

2 2
2 123