In my previous article, we reviewed possible use-cases for macros, so let’s now proceed to a more comprehensive example of macros usability. In this article we will design and build a logging system.

Logging system

Logging system is a useful tool for monitoring the work of an application that saves a lot of time during debugging and monitoring. Our system would consist of two parts:

  • Storage class (for log records)
  • Set of macros that automatically add a new record to the log

15 6
9 2.7K

Hi Developers!

Often when we develop some library, tool, package, whatever on InterSystems ObjectScript we have a question, how we deploy this package on the target machine?

Also, we often expect that some other libraries already installed, so our package depends on them, and often on some particular version of it.

When you code on javascript, python, etc the role of packages deployment with dependency management takes package manager.

So, I'm pleased to announce that InterSystems ObjectScript Package Manager available!

13 19
4 2.7K
· Mar 14, 2018 10m read
REST Design and Development


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.

6 5
6 2.7K

InterSystems is committed to providing a high quality developer experience including a great IDE (Integrated Developer Experience). For the past several years we have been evolving Visual Studio Code's ObjectScript tooling in parallel with our long-standing IDE, InterSystems Studio. There have been over 46,000 downloads of the VSCode-ObjectScript plugin, and the feedback from developers is that this is a great developer experience, and now superior to InterSystems Studio.

17 67
2 2.4K

I'm trying to convert a CSV inbound to an HL7 MFN^M16 outbound. I know I'm using book information as the CSV but I don't think that matters. Please let me know if that's incorrect.

My service is reading the file in just fine and when I don't have a DLT transformer the raw message passes through to outbound file folder just fine. However, when I include a basic DLT that simply copies a couple of fields over I get the "Ens.StreamContainer" error. Everything also seems to be good in the Record Mapper.

0 4
0 2.2K

Hey Developers,

We'd like to invite you to join our next contest dedicated to creating useful tools to make your fellow developers' lives easier:

🏆 InterSystems Developer Tools Contest 🏆

Submit an application that helps to develop faster, contributes more qualitative code, and helps in testing, deployment, support, or monitoring of your solution with InterSystems IRIS.

Duration: January 23 - February 12, 2023

Prize pool: $13,500

12 14
2 2.2K
· Oct 12, 2019
How do you search with REST

The question is pretty much in title. I'm developing a REST API, it has a search endpoint with 10 optional parameters. How do I pass them and stay RESTFul?

To ease the question a bit let's agree that:

  • all parameters are AND parameters, user can't make combos, ORs, etc. User can only provide values
  • all values are integers so I don't have to think about URL limits
  • all values are atomic
  • all conditions are about equivalency

Some options I know of:

1. URL parameters.

0 9
0 2.1K

The "Download Caché Evaluation" at the top of this forum takes the user to a page that only allows her to download versions of IRIS. What am I missing here? Does IRIS encompass Caché? I've wandered around both on the main website and in the Developer Community site looking for a way to only get Caché... Very frustrating.

I appreciate any help you all can provide. Thanks!

1 11
0 2.1K
· Jun 12 3m read
LangChain fixed the SQL for me

This article is a simple quick starter (what I did was) with SqlDatabaseChain.

Hope this ignites some interest.

Many thanks to:

sqlalchemy-iris author @Dmitry Maslennikov

Your project made this possible today.

The article script uses openai API so caution not to share table information and records externally, that you didn't intend to.

A local model could be plugged in , instead if needed.

9 7
3 2.1K

*** archived ***

The question has come up several times and I saw mixed answers and no quick example

My personal preference is using CPIPE device as you get back exactly the output you will get at the command line interface of your OS .
The tricky thing is to stop reading in time.
The example just displays what you normally see in your console.
it becomes useful if you look for things that you can't get from any $system.whatever()

15 5
4 2K

Docker 20.10.14 (released March 23, 2022) changes the Linux capabilities given to containers in a manner that is incompatible with the Linux capability checker in InterSystems IRIS 2021.1 (and up) containers.

Users running Docker 20.10.14 on Linux will find that IRIS 2021.1+ containers will fail to start and the logs will incorrectly report that required Linux capabilities are missing. For example:

13 9
0 1.9K

Hi Developers!

Want to participate again in the competition of creating open-source solutions using InterSystems IRIS Data Platform?

Then we're pleased to announce the second InterSystems IRIS Online Programming Contest!

And the topic for this contest is InterSystems IRIS with REST API.

The contest will again last three weeks: April 13-May 3, 2020.

Also, please join the InterSystems Contests Discord Channel to chat about contest and technology.

4 37
3 1.9K

Hi all.

I want to insert my dataframe into InterSystems IRIS. So, I tried to do this:

df ="/home/imported-openssh-key/zeppelin-0.8.0-bin-all/bin/resultData3/DF.json", format="json")
option("url", "IRIS://localhost:51773/DEDUPL").\
option("user", "********").option("password", "********").\
option("dbtable", "try.test1").save()

And got this error:

1 3
0 1.9K

Hi Developers!

Many of you publish your InterSystems ObjectScript libraries on Open Exchange and Github.

But what do you do to ease the usage and collaboration to your project for developers?

In this article, I want to introduce the way how to introduce an easy way to launch and contribute to any ObjectScript project just by copying a standard set of files to your repository.

Let's go!

10 21
6 1.8K