#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.

Question Scott Roth · Jan 29, 2024

Lately my group has been seeing issues when signing in through the Management Portal or VS Code we are getting "Service Unavailable" errors returned to us. We recently migrated away from using the PWS to using Apache/InterSystems Web Gateway and using LDAP instead of Delegated Authentication. 

I have been on the hunt to find out where the problem might lie. When I run the "Test LDAP Authentication" from within the Management Portal, eventually I receive a response after getting a couple of timeouts while waiting for the response.

Authenticated user roth16 10 times in 26.177111 seconds - 0.

1
0 493
Question Kurro Lopez · Jan 31, 2024

Hi community,

We have a developed a new version of a production, all the code is new and has changed BP. This application load information for some brands and stored in database.

The customer wants to implement the changes only for some brands because he wants to check for small brands before to implement for all brands.

My proposal is create a new namespace, with the new code, and disabled all load of brands except the brand that he wants to check.

I'm wondering what is the best way to clone the namespace.

2
0 458
Question Yone Moreno · Jan 29, 2024

Hello,

First of all thanks for your help reading and answering this question, and thanks for your time.

We have been investigating how to handle the following need:

Our client which has the system which reveices our ESB's responses needs a SOAP response as follows, where all the ACK is inside a top XML tag called <ACK>:

<?xml version="1.0" encoding="UTF-8"?><ACKxmlns="urn:hl7-org:v2xml"><MSH><MSH.1>|</MSH.1><MSH.2>^~\&amp;</MSH.2><MSH.3><HD.1>sistemaExterno</HD.1></MSH.3><MSH.4><HD.1>scs</HD.1><HD.
3
0 378
Question Kari Vatjus-Anttila · Jan 25, 2024

Hello,

How can I send a request via a SOCKS5 proxy in IRIS, using, for example, EnsLib.REST.Operation?

Background

I need to access APIs inside my corporate network, to which I don't have direct access from my home office. I've set up a SOCKS5 proxy via SSH on my host machine like this:

ssh -D 9999 server.corporate.com

I can then make requests with curl to the APIs I need:

curl -x socks5h://localhost:9999 https://api.corporate.com/api/some/endpoint

And I receive a response. Simple!

Also, inside the containerized IRIS, I can execute the request:

curl -x socks5h://host.docker.internal:9999 https://api.
2
0 361
Question Emil Odobasic · Dec 20, 2023

Hello everyone!
I am wondering how I can retrieve multipart form-data from a request that is coming into my REST-service.
I am supposed to retrieve a string and a file. The file is being retrieved without issues, but the "testprofile" string is not being retrieved at all.
It just logs a an empty entry. 
The request that is sent to my REST-service has the Content-Type: multipart/form-data
Thanks beforehand for the help! :)

Down below is the code I use right now to retrieve the string and file from Form-data Rest HTTP-request to my service.

    set vProfile = %request.

5
0 944
Question Emil Odobasic · Jan 8, 2024

Hello everyone!
I am receiving a HTTP multipart/form-data request into my rest service.
How can I read the values for each Key in the form?
The key "Profile" is sent to my service as a String data type.
The code I have below does not seem to work, where I try to read the Key profile in the form.

I appreciate all the help I can get! :)

26
0 919
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 292
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 995
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.

3
2 429
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.

2
0 237
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 175
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?

5
0 354
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.

0
0 221
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 285
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 474
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 355
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.

2
0 214
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 399
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.

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 254
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:
2
0 235
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.

3
0 382
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 297
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?

5
0 388