#InterSystems IRIS

19 Followers · 5.6K 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.

Article Joel Solon · Dec 30, 2021 1m read

Hi all,

When is a Developer Community post not a Developer Community post? When it's just a few sentences wrapped around a link to InterSystems documentation! And what better way to finish up 2021 than by telling you about something cool that's been available since v2020.3? As the ball drops in Times Square, curl up with this:

Repeating Previous Commands

I think it will bring you joy! Post your favorite aliases below. Happy New Year!

31
1 1579
Question Oliver Wilms · Jan 10, 2024

Hello, we deploy IRIScluster using IKO on Red Hat OpenShift deployed in AWS. For DR, we have another AWS region on stand by. We do daily backups. I run a standalone IRIS in the second region. I want to add it as async member to the mirror to have some essential data available in the standby region. Is this possible?

5
0 291
Article Lorenzo Scalese · Nov 10, 2023 13m read

Hi, developers!

Currently, I'm working on a project that requires highly dynamic event management. In the context of the Java programming language, my first instinct should be to opt for the "Observer Pattern", which is an approach to managing interactions between objects by establishing a notification mechanism. It allows multiple observers to react to changes in the state of a subject autonomously, promoting code flexibility and modularity. If you are not familiar with this design pattern, check out Wikipedia to find more information about it.


While it's natural and commonly used in certain programming languages as Java and C++, in ObjectScript, it's quite a different story.

3
5 986
Article Mihoko Iijima · Jan 25, 2024 4m read

InterSystems FAQ rubric

If the system does not stop for 24 hours, old journal files will be deleted at 0:30 according to the "Journal file deletion settings".

A possible cause of journal files remaining that are older than the "Journal file deletion settings" is that there are transactions that remain open.

In that case, you will be able to delete the journal file by searching for processes executing transactions and finalizing the transactions.

The sample below checks for the existence of open transactions, and if they exist, outputs the target file name and journal record information.

(Samples

3
2 426
Question Rizki Okta Alhadi · Jan 25, 2024

Hi All,

I have ROUTINE for Get Data end of day. Routine Name is "getTicket.mac" . previously i execute at studio using this command to get data 

w $$getTicket^production.etl.getTicket() and the result success as we want, in this case i want execute routine using BS ( Business Service ) and i want this routine execute every night at 12.00 AM

how to implement this condition.

Thanks For your help and time

3
0 278
Question Learning by_passion · Jan 25, 2024

Hi Team,

I want to create a task in the task manager to manage the member details. so what i have done let me first brief you :-

1) Created a persistent class to store the custom csv details into a sql table.

2) created a business service to take the custom csv file from a inbound folder and use this class (EnsLib.RecordMap.Service.FileService) to use RecordMap.

First i have created CSV Wizard then RecordMap then DTL and map the fields with csv values.

3) then i created a business process (EnsLib.MsgRouter.RoutingEngine) and created a business Rule in business Rule i'm taking the source as

2
0 236
Question Antoine.Dh · Jan 25, 2024

When exporting a %JSON.Adaptor inherited class, undefined %Boolean properties are exported to JSON as "false" instead of null or empty

is there any way to control this behavior?

Class Test.Json extends%JSON.Adaptor
{
    Property bool as%Boolean;
}
set test = ##class(Test.Json).%New()
do test.%JSONExport()
{
    "bool": false
}
2
0 170
Article David Hockenbroch · Jan 24, 2024 7m read

The ideal number of table permissions to assign for your users is zero. Permissions should be granted upon sign-in based on the application used for access. For web applications, we have a simple way of doing this by appointing application roles, matching roles, and required resources in the System Management Portal.

ODBC and JDBC connections present a different problem, however, especially when third-party applications are involved. As providers of an ERP system, our customers often wish to be able to employ various software packages to integrate with or report on their data. Many of these programs are capable of running any kind of query. Yet, letting them do that can be devastating to a customer’s data.

0
4 356
Question James Casazza · Jan 23, 2024

Tring to Performing following script in IRIS but do not know how to format Date. Normally, I would use TO_DATE or TO_TIMESTAMP in the actual queue statement below, but since I'm using Prepared Statements, I do not know how to format date in 'values' that is being used in the %Execute. It generates errors. I'm updating an Oracle Database via a SQL JDBC Gateway Connection. Does anyone know how to pass in Dates? 

Books Table definition

    Field Name  Datatype  Column #  Required  Unique  Collation  Hidden  MaxLen
5
0 351
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 '-'

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.

2
3 472
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 352
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 what

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 398
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, does

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?search=SOAP+web+servi

2
0 251
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.status
2
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 Flexible

3
0 381
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.

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

5
0 385
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 1098
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 495
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:

REST Command Line Interface (CLI) helps you CREATE or DELETE a REST application.Do you want to create a new REST application?
4
0 266
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 to try

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?

6
0 459