#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 Cécile Heuillet · Jan 24, 2024

Hello,

I need to make an LDAP query to retrieve information about a specific team of employees. I have a custom service that instantiates a message of type EnsLib.LDAP.Message.Search with a filter matching the search and redirects it to an operation of type EnsLib.LDAP.Operation.Standard. I didn't get any errors, but I didn't get any results either. So I created an operation that inherits from EnsLib.LDAP.Operation.Standard and I overloaded the method to retrieve something. I get this:

ERROR <Ens>ErrException: <FRAMESTACK>ProcessSearch+5^myDSO.operation.requeteLDAP.1 -- - connected as '-' nu

0
0 220
Question Ashok Kumar T · Jan 21, 2024

Hello Community,

The process private global doesn't impact the $storage. But, Why the value has decreases at first time of initialization. 

LEARNING>write $zversion
IRIS for Windows (x86-64) 2023.3 (Build 254) Wed Nov 8 2023 13:28:10 EST
LEARNING>write "$Storage: ",$storage
$Storage: 2199023141712
LEARNING>set ^||Test="Test"
 
LEARNING>write "$Storage: ",$storage
$Storage: 2199023136848
LEARNING>write 2199023141712-$storage
4864

Just want to ensure about it.

4
0 283
Article David Hockenbroch · Jan 4, 2024 22m read

So far, we have covered how to use ObjectScript to manage users, roles, resources, and applications. There are a few other classes in this package that work similarly to the ones mentioned above. However, these four classes are the ones everyone will have to use to manage their application security. Suppose you wanted to create your own Security management portal for this package. There would be some specific issues to think about for an API. Since the classes use similar methods, we can create fewer API endpoints using indirection. However, we should consider differences between those methods

2
3 471
Question KAMAL UDDIN AHMAD · Jan 23, 2024
00:41:54.088:Ens.Director: Queued messages are being saved in the suspended production.
00:41:54.089:Ens.Director: Production 'MemberBPL.MemberProduction' suspended.

I have created the business service, process and operations and message was going through service to operation but some message got queued that'swhy production is not stopping correctly. neither it's deleting not it's stopping fully.

I have also trying purging data under manage production.

Please help me here.... how i can delete this production. ??

4
0 348
Question Weston Willett · Jan 2, 2024

Using the below python script I am getting : 

$ ./hello_world.py 
Traceback (most recent call last):
  File "/home/wwillett/dev/vscode-objectscript/Samples-python-helloworld/./hello_world.py", line 34, in <module>
    run()
  File "/home/wwillett/dev/vscode-objectscript/Samples-python-helloworld/./hello_world.py", line 21, in run
    connection = irisnative.createConnection(ip, port, namespace, username, password)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: * [ERROR_SEQUENCE_ERROR]

I have verified that the Gateway is running.

I don't know wha

2
0 213
Article Alexey Nechaev · Nov 27, 2023 4m read

A few months ago, I faced a significant challenge: streamlining the handling of business logic in our application. My goal was to extract the business logic from the code and hand it over to analysts. Dealing with a multitude of rules could easily result in a code littered with countless "if" statements, especially if the coder lacked an understanding of cyclomatic complexity. Such code becomes a source of pain for those working with it—difficult to write, test, and develop.

 

Spoiler

For those uninterested in details, observe its functionality here, and deploy the application yourself.
1
0 396
Question Scott Roth · Jan 22, 2024

We recently went through an Audit of our Security Policies and Procedures when it comes to IRIS. As a result of that Audit, we need to make adjustments to the way that Security is setup within IRIS. I have already done my changes on our TEST and DEVELOPMENT environments, but now I am trying to plan out how do we make these changes in Production.

These changes include moving away from the PWS, setting up Apache/Web Gateway, moving to LDAP instead of using Delegated Authentication, updating Web Applications, updating Resources, updating Services, etc...

To minimize the impact on our system, do

4
0 244
Question Yone Moreno · Jan 22, 2024

Good morning,

First of all thanks for reading this question.

We have been asked by a client to check if our Soap Service has charset / encoding "UTF-8".

We have been investigating the class "EnsLib.SOAP.InboundAdapter".

We only observe one reference to the charset as "Set tCT=$S(tCST:"binary/CST; charset=UTF-8"

Inside the method: WriteResp

We have read:

https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cl…

https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cl…

https://community.intersystems.com/smartsearch

2
0 249
Question Scott Roth · Jan 17, 2024

I downloaded containers.intersystems.com/intersystems/healthshare_providerdirectory:2023.2 to evaluate, however when I try to run the container it keeps

exiting. 

>docker run --name providerdirectory --user=irisowner --env=ISC_DATA_DIRECTORY=/intersystems/irisdata --runtime=runc -d containers.intersystems.com/intersystems/healthshare_providerdirectory:2023.2

I keep getting the following, and I am not sure why...

2024-01-1720:36:20 [INFO] Executing command /home/irisowner/irissys/startISCAgent.sh 2188...
2024-01-1720:36:20 [INFO] Writing status to file: /home/irisowner/irissys/iscagent.s
2
0 230
InterSystems Official Fabiano Sanches · Jan 18, 2024

InterSystems announces its first preview, as part of the developer preview program for the 2024.1 release.  This release will include InterSystems IRIS®,  InterSystems IRIS® for HealthTM, and HealthShare® Health Connect.

Highlights

Many updates and enhancements have been added in 2024.1 and there are also brand-new capabilities, such as Using vectors in ObjectScript,  Vector Search (experimental), Multi-Volume Database, the ability to use Fast Online Backup (experimental), and the introduction of Multiple Super Server Ports. Many other improvements are also in this release, such as the Flexi

3
0 376
Question Scott Roth · Jan 19, 2024

Ran into an issue this morning, that I am having a hard time trying to track down what might have caused the issue. We have a Business Rule that sends HL7 ADT to a Business Process that inserts the data into a MS SQL Server using a Custom Business Operation (SQL Outbound Adapter).

Early yesterday morning the Custom Business Operation reset its connection through the Java Gateway Server to the MS SQL Database, when it reconnected to the Java Gateway/MS SQL Database it stopped processing. So, the Business Rule had over 40,000 queued up to process. There was no indication of an issue by looking

2
0 295
Question Jonathan Day · Jan 19, 2024

I am looking to run IRIS for UNIX on the Linux Ubuntu 22.04 platform and need to determine which filesystem configurations are considered supported. The three options under consideration are Ext4, LVM with Ext4, and OpenZFS. Currently, the system is running on a raw Ext4 filesystem, but there is a desire to switch to either LVM with Ext4 or OpenZFS to make it easier to handle disk usage.

This leads to two questions:

Are either of these two configurations considered to be tested and supported by InterSystems?

Are there any issues or concerns with transitioning data and logs from a raw Ext4 p

5
0 384
InterSystems Official Andreas Dieckow · Jan 18, 2024 2m read

For your convenience InterSystems is posting the typical install steps for the operating systems that are supported with InterSystems IRIS.

For Microsoft Windows, please consult the InterSystems product documentation.

The IRIS installer will detect if a web server is installed on the same machine, which gives you the option to automatically have the web server configured.

All Apache installations will require sudo (recommended) or root permission to install the web server. This requirement supports recommended best practices. 

For Red Hat (RHEL), InterSystems is installing SELinux files to









4
1 1095
Question Andy Stobirski · Jan 21, 2024

I've created a Rest Service as described here 

Configured the webapplication as described in the previous link, and now have a URL which I call in PostMan

http://VIR-HC-DEV-01.gmmh.nhs.uk:52773/api/mgmnt/v2/parisconnect/PCRest

Which returns the JSON spec as I would expect:

{
    "swagger": "2.0",
    "info": {
        "version": "1.0.0",
        "title": "Swagger Petstore",
        "description": "A sample API to demonstrate features in the swagger-2.0 specification",
        "termsOfService": "http://swagger.io/terms/",
        "contact": {
            "name": "Swagger API Team"
6
0 494
Question Andy Stobirski · Jan 20, 2024

Update - I answered my own question, so I'll just leave this here in case it can help someone.

Hi All

I'm following the tutorial Creating and Editing REST Services and have reached the step Using ^%REST to Create a Service and have encountered an error.

Here is grab of the terminal command:

PARISCONNECT>do ^%REST
 
REST Command Line Interface (CLI) helps you CREATE or DELETE a REST application.
Enter an application name or (L)ist all REST applications (L): PcConRest
REST application not found: PcConRest
Do you want to create a new REST application? Y or N (Y): Y
 
File path or abs
4
0 262
Article Eyal Levin · Jan 21, 2024 1m read

I have been struggling with a docker run command that kept crashing, the error message was too generic to point me to the right direction.

Since the container is shut down after the failure, I was unable to login to it in order to figure out the problem.

I had to run the container in a way that I'll be able to log into it before it crashed, so I found the adding  -u false prevents the docker run command to run the iris session IRIS and the container stayed up and running. then I was able to log into it using:

docker exec -it <container id / name> /bin/bash

inside the container I was able t

0
0 265
Question Flávio Lúcio Naves Júnior · Mar 31, 2023

Hello everyone,

I am working in the HealthShare, and I need to check some modification during a period of time in the records of a patient. But I don't want to use HealthShare managment portal, I want to create some querys because are many records of patient. I tried to find the Globals or Tables that are used by Iris in the Record History function. ChatGPT helped me, saing that the table is HS.IHEX.RecordHistory and the global ^HS.IHEX.RecordHistory, but I didn't find any data in the global or table. Can someone help me? Anyone knows a way to do querys for the Record History and see the chan

6
0 459
Question Joseph Griffen · Jan 19, 2024
I'm wondering what the best practice is for handling %Status values within the terminal.
1. set tSC=...
    do $SYSTEM.Status.DisplayError(tSC)
2. set tSC=...
   zwrite tSC

3. An alternative?

Is there a meaningful difference between the two? Should one be used over the other for any reason? Should something else be used?

2
0 255
Article Theo Stolker · Jan 19, 2024 1m read

Last Friday November 17 suddenly ran into an error where ZPM would issue an error saying:

ERROR! Object open failed because 'Name' key value of 'xx' was not found

I googled but found no specific help. Step by step I was able to conclude that:

  1. This is the error message for error 5770, also known as $$$KeyValueNotFoundOpen.

  2. In objectscript, this error can be raised by calls to NameOpen, where 'Name' is the first quoted part in the error message.

  3. The error status is raised when there is a call to ##class(yy.zz).NameOpen("xx", , .sc) where yy.zz inherits from %Persistent and has an index na

0
0 346
Question Kevin B Lavallee · Sep 30, 2022

Hello,

I am trying to use the %ToJSON method on my dynamic object, calling it with a "DO" and not passing in outstrm parameter.

We are trying to avoid MAXSTRING errors that we get with some of our abnormally large messages.  In order to do this, I am trying to update my code to not call the socket's "Write" method after converting the dynamic object to a JSON string using the %ToString method's output.  Per the documentation on the %ToJSON method:
    If outstrm is not specified and the method is called via DO, the JSON string is written to the current output device

The previous code (extend

10
0 447
Question Prasanth Annamreddy · Oct 24, 2023

We are running Batch job in scheduled task and the messages are picking in single session and it is not easy to trace the record.

I used the Set ..%SessionId= "" at before sending the message to BP but I see the session Id is '1' created for each message.

Is there anyother way to create new session for each message sending to BP?

Thanks,

2
0 483
Question Antoine.Dh · Jan 18, 2024

Hello, I tried to read a XML list from a web service into a response class by creating a custom collection subclass as described in this documentation page

Here's the XML file I am trying to read:

<Suppliers><Supplier><row>1</row></Supplier><Supplier><row>2</row></Supplier></Suppliers>

And the different classes I defined to project the XML into:

Class App.Messages.GetSuppliersResponse Extends (%Persistent, Ens.Response)
{
Property Suppliers As App.Objects.Suppliers;

Method Deserialize(stream as%Stream.Object) as%Status
{
    set reader
3
0 339
Article Hiroshi Sato · Jan 18, 2024 1m read

InterSystems FAQ rubric

If you need to migrate your server for some reason, you can reduce the setup work by copying configuration information from the pre-migration environment to the post-migration environment.

The following setting information can be migrated.

  • iris.cpf
  • SQL gateway settings
  • web gateway settings *Note 1
  • user-created routines etc. stored in the IRISSYS database *Note 2
  • security settings
  • task settings

Note 1: If a password has been set, only the password needs to be reset manually.
Note 2: Preferred connection server settings such as ^%ZSTART, ^ZMIRROR routines, etc

1
2 301
Article Ashok Kumar T · Aug 14, 2023 8m read

In this article,  I walk through the %JSON.Adaptor class. This class is extremely useful in exporting data into serialized JSON and importing the JSON objects and saves into class object.

I'll start with the %JSON. Adaptor parameters. The parameters are crucial part of the JSON import and export operations.

If your property name is not the same as the actual JSON key name for export to external or load the data’s into object through import, you should use the%JSONFIELDNAME parameter to define the alias name. If it doesn't, it produces an 'unexpected field' in the input error at the time of

2
6 1446
Question Andrew Langley · Jan 18, 2024

Hi,

I've created an Object Gateway via the System Management Portal, and installed the following Java classes to allow connectivity between the IRIS server and RabbitMQ ...

RabbitMQ.jar

amqp-client-5.18.0.jar

slf4j-api-1.7.36.jar

slf4j-simple-1.7.36.jar

I've used the Java Gateway wizard via Studio and compiled the java classes that this would refer to, and a quick test worked on Day 1.  However, on Day 2, on trying to connect, I got this error :

<ZJGTW>%ProcessErrorNew+11^%Net.Remote.Proxy.1

However, if I go back into the Java Gateway wizard in Studio, and 're-create' the classes 

I

10
0 369
Question Mathew Rimmington · Jan 18, 2024

In VSCode using the InterSystems extensions, I now have an almost working environment where routines can be created or modified on disk and these are pushed to the developer's IRIS instance.

One issue I'm finding whilst testing is that if I rename or delete a routine from disk, the change isn't pushed to IRIS and I can't work out how to make this happen.

This means that a developer can have renamed or deleted a file on disk, but can still call functions within the renamed/deleted routine within the IRIS instance and not experience any NOROUTINE errors. The developer might well spot the mista

0
0 246
Question Brian Schoen · Jan 12, 2024

I am trying to pull out something similar to an HL7 date/time stamp in a custom zen page , in a javascript code section.

var d new Date();

(Fri Jan 12 2024 16:58:30 GMT-0500 (Eastern Standard Time)

but,
var year = d.getFullYear();

<Error>

d.<formatcmd>  doesn't seem to work.  (d.getmonth, etc.)

Is there and date formatting I can use inside a javascript routine?

3
0 282