#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 · Jul 20, 2023

I am trying to setup our first SSL/TLS configuration so we can possibly connect to the EMR FHIR server to pull data into the Interoperability engine.

I am running on Red Hat, and created and submitted a openssl CSR request to our Windows ADCS system.

I used the following command to generate the key and CSR request to submit to Windows ADCS

openssl req -new -sha512 -nodes -newkey rsa:4096 -keyout xxxxxxx.key -out xxxxxxxx.csr

When the certificate was generated I was able to download the individual certificate (cer) and the certificate chain (p7b) in  DER or Base64.

1
0 832
Question Michael Davidovich · Jun 2, 2023

This is a bit of an IRIS question but also and OAuth 2.0 questions:

I am using %OAuth2.JWT.JWTToObject() to "validate" a JWT.  My questions:

- While I am checking claims with the returned body, does the return status of the method "count" as a validation step? In other words, if I weren't checking claims and $$$OK was returned from that method call (passing in the token and public keys), I could feel confident that this token came from the expected auth server?

4
0 400
Question Michael Davidovich · Jan 31, 2023

When manually coding REST services and using GET /api/mgmnt/v1/:namespace/spec/:application/ to return an OpenAPI spec, how do you specify supported properties (OpenAPI Properties in Use | Creating REST Services | InterSystems IRIS Data Platform 2021.1) like responses, definitions, and information in paths like summary and description?

GET /api/mgmnt/v1/:namespace/spec/:application/ | Creating REST Services | InterSystems IRIS Data Platform 2022.2

Using a very basic manual REST service that returns a JSON string I get a pretty basic spec that is not really helpful when it comes to documentation.

7
1 402
Question Eduard Lebedyuk · Jul 20, 2023

I have the following setup: REST broker calls inProc BO via BS. As BO initialization is time-consuming, I want to reuse the same BO during the CSP process lifetime.

I have tried the following approaches:

  1. Set %session.Preserve to 1 (I would prefer not to use it as the BO object is not linked to a specific client)
  2. Set $$$EnsInProcPersist to 1 (looked relevant)
  3. Cached BS between calls

However, every time I call my REST endpoint, I get a new BO. Is there a way to cache inProc BOs in the CSP context?

To run the sample, import it into any interoperability-enabled namespace, start in.

0
0 174
Question Lewis Houlden · Jul 20, 2023

Hi InterSystems Community

We recently had an issue where we weren't able to parse a JSON HTTP request, but the issue went by unnoticed. We also did not have a trace of what the raw HTTP request was that we couldn't parse. I'm looking at improving our this by:
Tracing the raw request using $$$TRACE

Raising an alert which will hit our Ens.Alert router which will compose and send an email

I'm having an issue with consistently raising the alert (I've seen it raise an alert before, and then it wouldn't raise it again on a subsequent message), and also the error back does not really make sense.

0
1 378
Question Yuri Marx · Feb 1, 2021

The InterSystems documentation https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cl… says: "If you do not already have these files, contact the InterSystems Worldwide Response Center (WRC) for download information."

Hibernate is the most used framework to do database persistence. All databases in the market allows get hibernate driver in public repositories, InterSystems no. It is a barrier to InterSystems adoption in the Java Community.

When InterSystems will provide Hibernate jar file to public download, into a public maven repository? 

2
0 480
Question Luis-Ángel Pérez-Ramos · Jun 17, 2019

Good morning!

I am developing a Java project (Spring Boot + Maven + Hibernate) but I've a big issue when I try to define the Hibernate Dialect org.hibernate.dialect.InterSystemsIRISDialect... that dialect is neither in the Hibernate library nor in the IRISDriver class com.intersystems.jdbc

How should I define the IRISDialect in my project?

 

Thank you in advance!

5
0 927
Question Michael Davidovich · Jul 18, 2023

I am hoping someone can let me know if I've gone down a dark path or not:

  • I'm using the record mapper to create a business service that waits for a .txt file and sets pipe delimited data to the mapper's record class
  • That record (essentially the raw data) is sent to a business process 
    • OnRequest() is implemented where it opens or creates an instance of the target object and validates and transforms and sets the data to the target object as needed; the response is that target object.
3
0 530
InterSystems Official Fabiano Sanches · Jul 19, 2023

InterSystems announces its sixth preview, as part of the developer preview program for the 2023.2 release.  This release will include InterSystems IRIS and InterSystems IRIS for Health.

Highlights

Many updates and enhancements have been added in 2023.2 and there are also brand-new capabilities, such as Time-Aware Modeling, and enhancements of Foreign Tables (but still as an experimental feature). Note that some of these features or improvements may not be available in this current developer preview.

Another important topic is the removal of the Private Web Server (PWS) from the installers.

0
0 267
Job Cristiano Silva · Jul 18, 2023

I'm open for new opportunities and challenges. Remote Job for any part of the world. Languages: portuguese, english and spanish.

I have more tha 20 year of experience with InterSystems Technologies. 
Two InterSystems Certifications.
Large HealthCare Interoperability Experience.
I'm worked on large projects in Brazil, Chile, United States.
Knowledge in other program languages then COS, like Java, Python, C#, JavaScript, R.

mail: cristiano.js@gmail.com

LinkedIn: https://www.linkedin.com/in/cristianojs/

0
0 309
Article Alex Woodhead · Jul 17, 2023 1m read

In response to a community question asking to view Request and Response message types in Production settings..

A community helper class was implemented should people need this. ( alwo.EnsHelper.HostRequestResponseInfo )

Install

zpm install alwo-enshelper

The code may serve as an example, to project bespoke configuration into Production settings.

 

Usage

Business Service

Class myService extends (Ens.BusinessService, alwo.EnsHelper.HostRequestResponseInfo)
{
  ...
}

Business Process

Class myBusinessProcess extends (Ens.BusinessProcess, alwo.EnsHelper.
1
3 315
Article Philipp Bonin · Jun 19, 2023 3m read

OwnObjectScriptExtension

ObjectScript is a powerful language used in InterSystems products like InterSystems IRIS, enabling developers to build robust applications. To enhance the ObjectScript development experience, the OwnObjectScriptExtension is a Visual Studio Code extension that provides a range of tools and features. In this article, we will explore how the OwnObjectScriptExtension can improve your ObjectScript development workflow.


7
2 657
Question Sukhpreet Singh · Jul 15, 2023

I have created a global say ^myglobal and entered some data. I am storing the name of global in databases and fetching the name based on some criteria. I am getting "^myglobal" in return from databases but i am not able to fetch the data I stored in the global. 

I tried set var = result.global which gives me "^myglobal" in var. Doing WRITE var will return "^myglobal" and not the data i stored in this global.

5
1 445
Question Sam Duncan · Jul 12, 2023

It can sometimes be useful to list or export all of the subclasses that are derived, directly or indirectly, from a given class. In Studio, the Class -> Derived Classes menu option will show such a list, but I'm not aware of a built-in API for programmatically exporting their source code.

Yesterday I wrote some code for exporting derived classes, and I'm thinking about cleaning it up and putting it on Open Exchange. But if there's a simple way to do this that someone has already figured out, I'd be happy to know about that (and help others find that solution) rather than reinventing the wheel.

4
0 465
InterSystems Official Andreas Dieckow · Dec 15, 2022 5m read

As previously announced at Global Summit 2022, InterSystems will discontinue shipping or installing an Apache-based web server (often referred to as the private web server or PWS); this change is currently planned for InterSystems IRIS 2023.2. 


With this new approach, you have full control to choose which web server best suits your purposes, and how you configure, maintain, and update it. A key benefit of this change is that you will no longer have to wait for an updated kit from InterSystems to get the latest version, which is important especially in security vulnerability situations.

23
5 2589
Article Nicholai Mitchko · Oct 27, 2022 2m read
   _________ ___ ____  
  |__  /  _ \_ _|  _ \ 
    / /| |_) | || |_) |
   / /_|  __/| ||  __/ 
  /____|_|  |___|_|    

Starting in version 2021.1, InterSystems IRIS began shipping with a python runtime in the engine's kernel. However, there was no way to install packages from within the instance. The main draw of python is its enormous package ecosystem. With that in mind, I introduce my side project zpip, a pip wrapper that is callable from the iris terminal.

What is zpip?

6
1 891
Article Gevorg Arutiunian · Mar 29, 2020 2m read

Now the Classes/Rutines/DeepSee files will be automatically exported to the working directory after saving or compiling and files will be automatically deleted .

<iframe src="https://www.youtube.com/embed/B1pmqAQqd4M" frameborder="0" allowfullscreen> </iframe>

Installation

To install isc-dev , you just need to download and import the file isc-dev.xml from last release. Some ways to import isc-dev .xml file:

  • Go to Management Portal -> System Explorer -> Classes -> Import and select the XML file.
  • Drag the file over Studio.
  • Terminal command:
NS>do $system.OBJ.Load("yourpath/isc-dev.xml","ck")
NS>zpm
zpm: NS>install isc-dev

How to enable this feature:

  • After importing the class in the target namespace, run the following method to set up the working directory:
NS>do ##class(dev.code).workdir("/path/to/your/working/directory/src/")
  • Go to Management Portal -> System Administration -> Configuration -> Additional Settings -> Source Control.
  • Select the target namespace and set the dev.FileManExtension class as the main one and save it.
  • Try to create a new class in the studio and save/compile it
  • Enjoy!
4
2 556
Article Mihoko Iijima · Jul 13, 2023 2m read

InterSystems FAQ rubric

It can be obtained by using the Size query of the system-provided %SYS.GlobalQuery class.

See the sample code below for usage examples.
*Please check the class reference for specifying columns and parameters.

 set dir="C:\intersystems\iris\mgr\user" // IRIS.DAT(or CACHE.DAT) folder
 set rs = ##class(%ResultSet).%New("%SYS.GlobalQuery:Size")
 do rs.Execute(dir) // You can also specify a mask with the 3d parameter
 while (rs.Next()) { 
   set gname= rs.Get("Name") // global name
   set gsize= rs.Get("Used MB") // global size (MB)
   write gname," : ",gsize,!
0
2 672
Question Eduard Lebedyuk · Jul 13, 2023

I'm trying to execute SQL on a EC2 via SSM:

import boto3

instanceid = "i-123456789"
sql = """SELECT path FROM Security.Applications WHERE ID = '/csp/sys'"""
template = """su - irisusr -c 'cat << EOF | iris sql iris -U %SYS
                """ + sql + """
                        q
                        EOF'
                       """
template = [line.strip() for line in template.splitlines()] 
template = """\n""".join(template) 
ssm_client = boto3.client('ssm') 
response = ssm_client.send_command(
            InstanceIds=[instanceid],
            DocumentName="AWS-RunShellScript",
            Comment=AWS,
            Parameters={'commands': template})
0
0 247
Discussion Michael Lei · Jul 13, 2023

With rapid evolution of Generative AI,  to embrace it and help us improve productivity is a must. Let's discuss and embrace the ideas of how we can leverage Generative AI to improve our routine work. 

0
1 218
Question Kevin Kindschuh · Jul 11, 2023

Is it possible to hide certain properties in a class from displaying in the BPL visual editor, if you want to prevent drag and drop from accessing them or otherwise controlling or restricting their behavior?

Virtual document messages, such as EnsLib.HL7.Message, have hidden fields, such as Source, that do not show, presumably since the field list is rebuilt from the document schema. Setting the flag Internal, or XMLPROJECTION = "NONE" doesn't do it. Trying to follow the Virtual Document precedent to rebuild or edit the field list seems like a heavy list.

3
0 305
InterSystems Official Fabiano Sanches · Jul 12, 2023

The extended maintenance releases of InterSystems IRISInterSystems IRIS for Health, and HealthShare Health Connect 2023.1.1 are now available. This release provides bug fixes for the previous 2023.1.0 releases.

You can find the detailed change lists / upgrade checklists on these pages:

 

How to get the software

The software is available as both classic installation packages and container images.  For the complete list of available installers and container images, please refer to the Supported Platforms webpage.

0
1 484