All time
Article
· Jun 16, 2023 10m read
Creating a REST service in IRIS

One of the most common needs of our clients is the creation of REST services that allow access to the information present in IRIS / HealthConnect. The advantage of these REST services is that it allows the development of custom user interfaces with the most current technologies taking advantage of the reliability and performance of IRIS in the back-end.

4 0
5 1K
InterSystems Developer Community is a community of 21,978 amazing developers
We're a place where InterSystems IRIS programmers learn and share, stay up-to-date, grow together and have fun!

I have a batch record mapper that reads a csv file and passes the message to a process that uses the EnsLib.MsgRouter.RoutingEngine and would like to pass the message to an operation that will output that as a XML file but so far been unlucky as the operation that I use , uses the EnsLib.EDI.XML.Operation.FileOperation which only works with the messages("BusinessOperation class for writing XML messages to a file.

0 2
0 1K

So I have an ensemble soap client which I use to send a message. The target web service is, however, giving a soapfault stating that my message misses the "SoapAction http header".

When I copy paste the message from my Cache Soap Log and fire it from Soap UI I get a proper response from the target web service. This suggests that my intersystems installation is somehow not including or losing some http headers.

I am running Ensemble 2016.2 SUSE on an ubuntu machine.

Here is the InterSystems message with the http headers from Soap UI:

0 2
0 1K

Hi-

I have created a class that extends %Persistent and %Populate and have set the various POPSPEC attributes of my properties to control how the properties are populated. However, when I compile the class and try to run the Populate() method it tells me the method isnt defined.

Here is the class definition:

0 2
0 1K

1. IRIS RAG Demo

IRIS RAG Demo

This demo showcases the powerful synergy between IRIS Vector Search and RAG (Retrieval Augmented Generation), providing a cutting-edge approach to interacting with documents through a conversational interface. Utilizing InterSystems IRIS's newly introduced Vector Search capabilities, this application sets a new standard for retrieving and generating information based on a knowledge base.
The backend, crafted in Python and leveraging the prowess of IRIS and IoP, the LLM model is orca-mini and served by the ollama server.
The frontend is an chatbot written with Streamlit.

16 3
2 953

We're electrified to invite all our clients, partners, developers, and community members to our in-person InterSystems Global Summit 2023!

Our Global Summit user conference is your opportunity to connect with trailblazing product developers, fellow users pushing our technology into new frontiers, and the people whose out-of-box thinking is rocking our universities and board rooms. All in the same space. And registration is now open!

➡️ InterSystems Global Summit 2023

🗓 Dates: June 4-7, 2023

📍 Location: The Diplomat Beach Resort, Hollywood, Florida, USA

5 0
0 1K
Article
· Nov 27, 2022 9m read
Easy CSV TO FHIR - InterSystems Contest

Hello everyone, I’m a French student in academical exchange for my fifth year of engineering school and here is my participation in the FHIR for Women's Health contest.

This project is supposed to be seen as the backend of a bigger application. It can be plugged into a Front End app and help you gather information from your patients. It will read your data in local and use a Data Transformation to make it into a FHIR object before sending it to the included local FHIR server.

4 1
1 993

In last week's discussion we created a simple graph based on the data input from one file. Now, as we all know, sometimes we have multiple different datafiles to parse and correlate. So this week we are going to load additional perfmon data and learn how to plot that into the same graph.
Since we might want to use our generated graphs in reports or on a webpage, we'll also look into ways to export the generated graphs.

5 0
0 1K

I have to disect thousands upon thousands of strings like this:

96842-2-AEV.00001-63561-001958-100728760I-42

I've been able to pull out the first, second and final segments as separated by hyphens, but now I have a predicament where I need to use the second segment, the 2 shown in the example above, in a join to another table. Problem is Cache apparently doesn't like doing that. Just the same, I have to find a way.

Here's the code I'm using to pull that segment out into as separate field in the query results:

0 2
0 1K

It is a recommended security practice to login into sensitive Administrator Portals without any input passwords. Thus, it is necessary to identify and authenticate the users correctly. A common technique employed by web portals and mobile applications is to use Google social login. Today, Google Gmail has 2 billion users (source: https://www.usesignhouse.com/blog/gmail-stats). Therefore, it is a perfect shared login service to utilize to login InterSystems IRIS users when they need to manage their instances. This article will detail all the steps to embed Google Login into your InterSystems Management Portal.


Register your InterSystems instance in the Google Console

1. Go to https://console.cloud.google.com and log in with your Google user account.
2. On the header click Select a project:

10 7
4 872

Hello,

We would need some help,

Our aim is to send an image as binary data using a REST Service

Currently we do the following:

1 We get from the external system a binary image in our REST Operation

2 We encode it to Base64

set linea=""
    while (tResponse.Data.AtEnd = 0) {
        set linea = linea_$system.Encryption.Base64Encode(tResponse.Data.Read(57))
    }

3 We send it to the Process in a Response Message:

1 4
0 1K

Hello,

Last weekend we've updated our Caché version to

Versie:Cache for Windows (x86-64) 2018.1.1 (Build 312U)

I'm using Studio to develop. I've been using the built-in debugger and it has been working nicely. But now, since the upgrade, I'm getting this error when trying to debug any routine or class method:

0 11
0 1K

Here I’ll walk you through the process of creating a simple Node/Express API and connect it to a InterSystems IRIS instance.

I won't go into much detail about how to work with any of the technologies I will mention in this tutorial but I will leave links, in case you want to learn more.

The objective here is to give you a practical guide on how to set up and connect a node.js back-end API to IRIS.

Before we get our hands dirty, make sure you have Node.js running on your machine. So I'll check:

5 3
7 951

Hi Community!

There are two general ways to execute arbitrary SQL in serverside ObjectScript code: EmbeddedSQL and ObjectScript SQL a.k.a. Dynamic SQL.

E.g. if we want to get the value of the property of instance with a certain ID using SQL we can do:

&sql(SELECT Name INTO :name FROM Sample.Person WHERE ID=1)

write name

Same result with %SQL.Statement:

set rs=##class(%SQL.Statement).%ExecDirect(,"SELECT Name as name FROM Sample.Person where ID=1")
  do rs.%Next()
  write rs.name

1 2
0 1K

Hi,

I sometimes get asked if Weblink will still be available (as a downloadable ad-on these days) for some versions to come.

I realize that this is old technology now, and that there are better and faster ways to do the same things today.

Thanks

S

0 3
0 1K

Can anyone suggest suitable Cache ObjectScript syntax for open/use/read statements on a simple ms-dos text file.
I've tried various examples seen on the web but they appear to be implementation specific.
I used MSM MUMPS many years ago but am now retired & would like to write a few simple routines for my own amusement & mental challenge.
I am using the free Version of Cache (V 2017.1) on my Windows 10 PC. The installation file was CachePCkit_x64.exe
My apologies for this query being very basic.

0 4
0 1K

Hi-

I am trying to figure out how to compare two dimension values in a MDX query such that records where two dimension values are the same will be filtered out.

To test this, I have modified the HoleFoods cube in SAMPLES namespace to have a new dimension called RandomRegion

I want to create a MDX query where the [Outlet].[H1].[Region] value is not equal to the [RandomRegion].[H1].[RandomRegion] value.

Here's the query I need to add the filter to:

0 4
0 1K

Hello, I would like to know if CACHE has any limitations on uploading files.

Why am I asking this, why am I going through a problem here.

What happens is that when uploading files or images that are larger than 2.7 MB CACHE is limiting the size to 2.7 MB, any file larger than that is saved corrupted.

Already at the time of uploading the file or image, CACHE is limiting the size of the file to 2.6 MB.

0 3
0 1K

InterSystems IRIS currently limits classes to 999 properties.

But what to do if you need to store more data per object?

This article would answer this question (with the additional cameo of Community Python Gateway and how you can transfer wide datasets into Python).

The answer is very simple actually - InterSystems IRIS currently limits classes to 999 properties, but not to 999 primitives. The property in InterSystems IRIS can be an object with 999 properties and so on - the limit can be easily disregarded.

5 13
1 745