All time
InterSystems Developer Community is a community of 25,339 amazing developers
We're a place where InterSystems IRIS programmers learn and share, stay up-to-date, grow together and have fun!

I have an interoperability production that functions as a FHIR proxy. I have a need to add an HTTP Header value to the outbound request. I've subclassed HS.FHIRServer.Interop.HTTPOperation, but I cannot find a way to add an HTTP Header to the request. The HTTP class used in HS.FHIRServer.Interop.HTTPOperation is HS.FHIRServer.RestClient.HTTP. That RestClient class does not seem to expose or allow modification of the actual HttpRequest.

1 3
0 486

Hi Community!

I'm sharing a little tool (REST service) to download interoperability messages from your browser.

You only need to:
1. Create a web application in Management Portal (e.g. /downloadmsg) and set DispatchClass=Util.DownloadMsg.
2. Call the tool using your browser passing the namespace and the message header id to download.
http://localhost:52773/downloadmsg/ns/mydev/msgid/17441

0 0
0 489

Making a blog using Python + IRIS Globals

Since I started to use internet (late 90's), I always had a CMS (content management system) present to make easier post
any information in a blog, social media or even an enterprise page. And later years putting all my code into github I
used to document it on a markdown file. Observing how easy could be persisting data into Intersystems IRIS with the
Native API I decided to make this application and force myself to forget a little of SQL and stay open to key-value database
model.

4 2
0 449
Article
· Aug 2, 2020 1m read
Application Errors Analytics

Hi Developers!

As you know the application errors live in ^ERRORS global. They appear there if you call:

d e.Log() 

in a Catch section of Try-Catch.

With @Robert.Cemper1003's approach, you can now use SQL to examine it.

Inspired by Robert's module I introduced a simple IRIS Analytics module which shows these errors in a dashboard:

3 5
1 389

Good afternoon,

We have a very old version of Ensemble with one of our clients and they have no desire to upgrade anytime soon. We have gotten the all-clear to purge really old messages from the database, changing the days kept from 60 to 30. The option to Compact/Truncate is displayed in this version of Ensemble, but does not execute as it mentions not being actually present in this version.

There is an option in ^d DATABASE that restores unused space, however this does not return nearly as much free space as the refined Compact/Truncate procedure.

0 2
0 487

Hello all.

I think the forum experience is great as whole, but it could improve even more if we had somewhere to share our ideas. So that's why I'm creating a thread dedicated for that purpose. Maybe this way someone from InterSystems could catch something good?

8 11
0 478
Question
· Apr 24, 2017
Atelier and TFS

Has anyone begun working with Atelier and TFS for source control?

If so, experiences to share?

Thx!

0 1
0 488
Article
· Aug 31, 2016 1m read
DeepSee cubes building troubleshooting

Hi!

Sometimes you see that call to DeepSee cube building method:

w ##class(%DeepSee.Utils).%BuildCube("CubeName")

does nothing.

Here are my 2 cents on possible reasons.

1. Run DeepSee Reset method in certain Namespace:

NAMESPACE> w ##class(%DeepSee.Utils).%Reset()

and try again.

2. Make sure, that all the indices in your base class for the cube are rebuilt, rebuild them and run it again:

1 2
0 449
Question
· Apr 15, 2016
SQL Parsing error

Found in:

  • atelier-1.0.0AT.142.0
  • Cache for UNIX (Apple Mac OS X for x86-64) 2016.2 (Build 636U) Wed Apr 13 2016 21:07:40 EDT

Breaks on FOR SOME when using a table reference:

1 3
0 486

I joined InterSystems less than a year ago. Diving into ObjectScript and IRIS was exciting, but also full of small surprises that tripped me up at the beginning. In this article I collect the most common mistakes I, and many new colleagues, make, explain why they happen, and show concrete examples and practical fixes. My goal is to help other new developers save time and avoid the same bumps in the road.

15 11
2 268

Hi Community,

Traditional keyword-based search struggles with nuanced, domain-specific queries. Vector search, however, leverages semantic understanding, enabling AI agents to retrieve and generate responses based on context—not just keywords.

This article provides a step-by-step guide to creating an Agentic AI RAG (Retrieval-Augmented Generation) application.

Implementation Steps:

  1. Create Agent Tools
    • Add Ingest functionality: Automatically ingests and index documents (e.g., InterSystems IRIS 2025.1 Release Notes).
    • Implement Vector Search Functionality
  2. Create Vector Search Agent
  3. Handoff to Triage (Main Agent)
  4. Run The Agent
3 0
1 488
Question
· Sep 7, 2023
Question about ISCAgent Config

We are noticing some issues with the communication between our Arbiter and our servers. Looking at the following documentation to limit connections, and logging...https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=GHA_mirror_set_config#GHA_mirror_set_agent_port

if I am configuring the ISCAgent on the arbiter, would we set

1 3
0 485
Article
· Jul 19, 2022 4m read
Caution with Mixing OO and SQL

Mixing Object syntax with SQL is one of the nice features in Object Script. But in one case, it gave strange results, so I decided to isolate the case and describe it here.

Let's say you need to write a classmethod that updates a single property on disk. Usually, i would write that using SQL like this :

2 5
0 388

What is Selective Build?

Selective Build is a BI feature in InterSystems IRIS (introduced in version 2020.1). Selective Build allows you to build specific elements of your cube while keeping your cube online.

What is special about Selective Build?

Before getting into the details of Selective Build, a brief recap of the different phases during a regular cube build is important. Here are the phases in a regular cube build:
1) Delete existing data in cube
2) Populate cube with full set of data
3) Build all indices in the cube

0 0
1 488
Question
· Aug 24, 2021
ECP system ID

Hi,

I'm looking through some journal entries in the hope of finding the root source of an issue.
I was wondering if and how you can map a "ECP system id" to a server.

Any hints would be welcome

Best regards
Ivo

0 4
0 484

Let's consider you would like to efficiently store your historical data in a similar structure than the one used for your current data, but without sharing the same physical storage (ie : not in the same global). What is the most efficient way to do it ?

Below a simple class of your current data :

3 9
0 479
Question
· Dec 8, 2020
SQL Query execution plan

Is it possible see the execution plan of a SQL sentence in IRIS?

Like this:

explain plan for
select  e.ename,r.rname
from    employees  e
join    roles       r on (r.id = e.role_id)
join    departments d on (d.id = e.dept_id)
where   e.staffno <= 10
and     d.dname in ('Department Name 1','Department Name 2');

That returns this:

1 3
1 485

Running cache 5.0.21 64 bit on Windows server 2016 in virtual environment. Trying to understand why every single process disk read speed (simple sql data walks) caps around ~20MB/s, however 2 paralell such tasks on different data areas can reach 19MB/s each, four - 17MB/s each, that is 70MB/s total, etc. Also simple copy file to nul on that system reach ~400MB/s.

What can keep single query on idle system from reaching for example 200MB/s? Virtualization? Windows? Cache? Processors are below 1-3%

0 4
0 484