#InterSystems IRIS

19 Followers · 5.5K Posts

InterSystems IRIS is a Complete Data Platform
InterSystems IRIS gives you everything you need to capture, share, understand, and act upon your organization’s most valuable asset – your data.
As a complete platform, InterSystems IRIS eliminates the need to integrate multiple development technologies. Applications require less code, fewer system resources, and less maintenance.

Question Josep Balagué · Jun 17, 2024

Hi,

Hi have problems to import globals, this is a testing only.

From Caché (v.2012, very older, 8 bits character, Latin1 encode) I created a file exporting globals, file *.gof with de web system utilities,.

When  I import these globals to Iris (v2024.1  16 bits character), the restore utility show this error:

2
0 234
Article Hiroshi Sato · Jun 6, 2024 1m read

InterSystems FAQ rubric

If you want to run an OS executable file, command, or a program created within an InterSystems product when the InterSystems product starts, write the processing in the SYSTEM^%ZSTART routine. (The %ZSTART routine is created in the %SYS namespace).

Before you write any code in SYSTEM^%ZSTART, make sure that it works properly under all conditions.

If the ^%ZSTART routine is written incorrectly, or if it is written correctly but the command does not return a response or an error occurs during processing, InterSystems products may not be able to start.

1
0 182
Question Vincent Dheilly · Jun 11, 2024

Hello,

With my team, we're evaluating the different streams existing in order to find good pratices for our project using InterSystems IRIS. In doing so, we found that there exists different forms of the same stream with the %Stream.FileBinary and %Stream.FileBinaryGzip classes. We think that the %Stream.FileBinaryGzip takes less space to be stored, but is there other diferences between these two classes and what would you recomend to use ? Is it the same thing for %Stream.FileCharacter and %Stream.FileCharacterGzip ?

Thanks for your help,

Vincent Dheilly

2
0 223
Discussion Jeffrey Drumm · Jun 13, 2024

I'm scraping my way through some code that's been around for a while, and came across the use of $ZTRAP and (dear GOD) GOTO for trapping and handling errors.

In an effort to "modernize" it and make it, I don't know, less M-ish (sorry old-timers!), I'm replacing it with Try/Catch blocks.

Some questions:

  1. Is this a dumb idea?
  2. Anything I should look out for?
  3. Did I hurt anyone's feelings?

And if the answer to number 3 is Yes, my deepest apologies ... I love you guys! 🤩

5
0 427
Article Evgeny Shvarov · Jul 30, 2019 2m read

Hi Developers!

This is the second post on the resources for Developers. This part is about Open Exchange

Using Open Exchange to Learn InterSystems

InterSystems Open Exchange is a applications gallery of tools, connectors, and libraries which InterSystems Developers submit to share the experience, approaches and do business. All the applications are either built with InterSystems data platforms or are intended to use for development with InterSystems data platforms.

If you are a beginner developer you can take a look at applications in Technology Example category. All the applications in this category come with open source code repositories, so you are able to run the samples and examples in a docker container with IRIS on your laptop or in the cloud IRIS sandbox. Examples:

  

4
0 445
Question Jonathan Lent · May 13, 2024

I would dearly love to avoid manually creating a SEF or XSD file to get the X12 832 (4010) schema into IRIS, but I have been hard pressed to find either downloadable resources or commercial options. The typical recommendation, edi-dev, seems to just do tooling that will help create SEF files, but no longer sells actual SEF files.

Anybody got any good resources that might have these schema files?

Thanks for any help!

Cordially,

Jonathan

2
0 215
Question Ben Spead · May 29, 2024

Let's say I have an InterSystems IRIS instance with 6 Namespaces:

  • Foo1
  • Foo2
  • Foo3
  • Foo4
  • Foo5
  • Bar

And the number of Foo# namespaces can increase at any time for a number of reasons.  I need to ensure that they all have identical configuration globals stored in a DB called CONFIG, so I do the following in my configuration file:

[Map.%ALL] 
Global_SYS=%DEFAULTDB 
Global_SYS("CommonConfig")=CONFIG 
Global_SYS("CommonOtherSettings")=CONFIG 
Global_SourceControl=CONFIG 

This will ensure that all Namespace see the exact same settings when they reference ^SYS("CommonConfig") or ^SourceControl, etc.

Now...

9
0 371
Question Pietro Di Leo · Jun 13, 2024

Hello everyone,

Recently, I've been working on a Business Process that processes a large JSON FHIR message containing up to 50k requests in an array within the JSON.

Currently, the code imports the JSON as a dynamic object from the original message stream, obtains an iterator from it, and processes each request one at a time in a loop.

2
0 1113
Article Eduard Lebedyuk · Mar 4, 2021 1m read

Recently I wanted to get a list of all cached queries and their texts. Here's how to do that.

First create an SQL Procedure returning Cache Query text from a Cached Query routine name:

Class test.CQ
{

/// SELECT test.CQ_GetText()
ClassMethod GetText(routine As %String) As %String [ CodeMode = expression, SqlProc ]
{
##class(%SQLCatalog).GetCachedQueryInfo(routine)
}

}

And after that you can execute this query:

SELECT Routine, test.CQ_GetText(Routine)
FROM %SQL_Manager.CachedQueryTree()

And get a list of Cached Queries:

4
0 760
Announcement Jean Millette · Jun 12, 2024

TL;DR: My comment to Microsoft when I voted:Our team has implemented most of what we need for source management of Power BI Report files in Perforce. The missing piece? Automated creation of ".pbix" files from ".pbit" template files that can deployed to the Power BI Report Server. Let's get the manual “Power BI Desktop->File->Save As” step out of the process to make report deployment totally automated.

2
0 260
Question Parameshwaran Muthaiyan · Apr 11, 2024

I'm facing a challenge in dynamically generating SQL queries based on incremental q_ids for a project I'm working on. Here's the scenario:

  • I have a table log_reports that contains logs of service activities, including timestamps and associated q_ids.
  • Each service log entry is associated with a cls and a q.
  • My goal is to generate SQL queries that calculate statistics such as average, minimum, and maximum time differences between the log creation time and the current timestamp, for each combination of cls_id and q_id.

Current Approach:

Here's the SQL query I'm currently using:

8
0 360
Question Stefan Schick · Jun 12, 2024

Hello Community,

I have encountered the following SQL problem trying to create a table from a SELECT statement.

I narrowed the problem down to the following example:

1. The SELECT statement alone works as expected.

SELECT m.Name, h.Status 
FROM EnsLib_HL7.Message m, Ens.MessageHeader h 
WHERE h.MessageBodyClassName='EnsLib.HL7.Message' AND h.MessageBodyID = m.ID

2. But if "CREATE TABLE ... AS" is added it fails

CREATE TABLE UKEr.Test AS
SELECT m.Name, h.Status
FROM EnsLib_HL7.Message m, Ens.MessageHeader h
WHERE h.MessageBodyClassName='EnsLib.HL7.Message' AND h.MessageBodyID = m.ID
4
0 145
Question Stella Ticker · Jun 11, 2024

We have an operation that sends a Rest request to an external endpoint. The request includes the secret, which shows up in the Message Viewer. While access to the Production is restricted to only those who need it, we have been asked to remove it from the Message Traces. Is there a way to hide certain information on the Message Viewer ?

Thanks for reading

2
1 183
Question Carl Maklad · Jun 10, 2024

Hi,

I will try to explain my problem. I have a Main ZenPage on one server that has 2 buttons: each button will launch a different ZenPage on a separate server in an iFrame. All 3 servers have the same user.

Currently, the user logs in to the Main ZenPage, but when they click either button to launch the other ZenPage on the separate server they get the login screen again to login to that server.

Is there anyway I can pass the credentials from the Main ZenPage to the child ZenPages, so that the user doesn't have to login again? Thanks.

3
0 155
Announcement Anastasia Dyubaylo · Jun 11, 2024

Hey Community,

Watch this video to learn how the InterSystems AppServices team migrated a data lake powering a suite of marketing reports off of Microsoft SQL Server to InterSystems IRIS, leading to such benefits as lower maintenance, better performance, and a better overall development fit:

⏯ Migrating Our Data Lake from MS SQL Server to InterSystems IRIS @ Global Summit 2023

2
0 188
Article Evgeny Shvarov · Jul 28, 2019 2m read

Hi Developers!

Recently I was asked, “How can a beginner in InterSystems technologies learn from InterSystems Developers community content to improve his developer skills”?

This is a really good question. It has several answers so I decided to write the post with the hope it could be useful for developers.

So! How to learn Intersystems Data Platforms(IRIS, IRIS for Health) from InterSystems Developers community content if you are a beginner?

2
0 606
Article Luis Angel Pérez Ramos · Apr 29, 2024 5m read

For some time I have been planning to do some type of proof of concept with the Workflow functionality, which, like so many other functionalities present in IRIS, tends to go quite unnoticed by our clients (and for which I say mea culpa). That's why I decided a few days ago to develop an example of how to configure and exploit this functionality by connecting it with a user interface developed in Angular.

2
8 652
Question Andy Stobirski · Jun 6, 2024

Hi

I have a question about terminal, when I run a class from it that contains an error I get a report of error as I would expect, and then an apparently random three letter code is appended to the namespace name in the prompt, as shown below.

GMMHTIE>do ##class(temp.Nothing).What()
 
 w !, tParisAnswer
      ^
<UNDEFINED>zWhat+23^temp.Nothing.1 *tParisAnswer
GMMHTIE 2d1>

Then, when I try to enter a command I get an error

GMMHTIE 2d1>do ##class(temp.Nothing).What()
 
DO ##class(temp.Nothing).What()
^
<COMMAND>^temp.Nothing.1
GMMHTIE 2d1>

4
0 198