#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 Colin Brough · Apr 8, 2024

We are writing a custom Business Operation to interact with a downstream SOAP web-service. Classes for the SOAP operation were originally generated using the SOAP Wizard, then modified. This is functioning OK, but we'd now like to set the ReplyCodeActions setting on the operation and are struggling to make it visible via the management portal. How can we achieve this?

The classes are structured like this:

  • The Operation uses class TNHS.SOAPclassExtra
  • TNHS.SOAPclassExtra  Extends TNHS.SOAPclass
  • TNHS.SOAPclass  Extends Ens.BusinessOperation
  • Ens.
1
0 241
Question Norman W. Freeman · Oct 30, 2023

The following code call the method of the same name as defined in the nearest superclass:

Class MyClass Extends%Persistent
{
  ClassMethod Foo()
  {
  }
}

Class SubClass Extends MyClass
{
  ClassMethod Foo()
  {
      do##super() // <----
  }
}

Not let's say I want to call Foo() super class method but from another method :

Class SubClass Extends MyClass
{
  ClassMethod AnotherMethod()
  {
      do##super().Foo() //will not work
  }
}

This is possible in some other programming languages such as C# or Java.

I cannot find anything in documentation

8
0 651
Announcement Rob Tweed · Apr 5, 2024

Hot on the heels of our announcement last week about our ultra-high-performance mg-dbx-napi JavaScript interface for IRIS, we are now pleased to announce a significant new technology - mg_web - which not only represents a new paradigm for JavaScript Web Frameworks, but also delivers significantly higher performance than even the fastest of the established Node.js Web Frameworks, whilst leveraging all the benefits of the big-three industry-standard Web Servers.

1
3 362
Announcement Olga Zavrazhnova · Apr 8, 2024

InterSystems' team is heading to the MIT Hacking Medicine GrandHack 2024, taking place from April 19-21 2024!

MIT GrandHack is a premier event that brings together innovators, entrepreneurs, and healthcare professionals from around the world to collaborate on solving some of the most pressing challenges in healthcare through technology and innovation.

InterSystems is pleased to sponsor and support this event, offering our technology to hackers and presenting the "The GenAI in Healthcare" challenge.

We're excited to see the innovative projects that will arise from this event!

0
0 232
Question Jani Hurskainen · Apr 2, 2024

EnsLib.File.PassthroughOperation has File Name property with default value: %f_%Q%!+(_a)

The Management Portal documentation description of the property:

Name of file to output the document(s) to. May include timestamp specifiers. The %f specifier if present will be replaced with the name of the document's original source filename (stripped of characters illegal in target filenames).

See the method Ens.Util.File.CreateTimestamp() for documentation of timestamping options.

More documentation describing the behaviour of %f: https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.

5
0 366
Question Carl (booz Allen) Deitrich · Mar 5, 2024

We have JSON type data in a Dynamic Object.  Is there a simple way to export / dump that data to a delimited string or file?

e.g.

Results={"ClassA":{"ClassName":"ClassA","ACount":367191880,"BCount":367191880,"CurrentDiff":0,"PreviousDiff":0,"ReportDate":"2024-03-02 00:00:00"}
"ClassB":{"ClassName":"ClassB","ACount":5352149227,"BCount":5352149227,"CurrentDiff":0,"PreviousDiff":0,"ReportDate":"2024-03-02 00:00:00"}}

6
1 487
Article Theo Stolker · Jan 15, 2024 1m read

I though this is a pretty cool way of installing webterminal in an environment where I had Management Portal / Visual code access, but I had no terminal access. zpm was already present. otherwise you could add it in the same class.

  1. Create the following class file
  2. Compile. This will take a while, and then you will see the output from zpm!
  3. You can now open the webterminal by opening http://your-host/terminal/
Class Theo.Util.Webterminal Extends %RegisteredObject
{

/// Description
ClassMethod install() As %Status [ CodeMode = objectgenerator ]
{
    zpm "install webterminal"
}

}
7
1 522
Question Sylvie Greverend · Apr 6, 2024

It is probably somewhere in the doc. So hard to search. Hope InterSystems going to AI on their community/support data. 

How to see a meaningful value in management portal - sql explorer. For instance
Class MySetting Extends %Persistent{
     Property Name As %String;

Class MyObj Extends %Persistent{
    Property Setting As MySetting;

When browsing MyObj in management portal (just select * from MyObj - lazy to do a join), I will see 1,2.. values in the Setting column. I would like to see the Name. I do not want index MySetting with Name as primary as the name can change

Thank for your comment.

1
0 159
Article Luis Angel Pérez Ramos · Nov 4, 2023 5m read

I recently had the need to monitor from HealthConnect the records present in a NoSQL database in the Cloud, more specifically Cloud Firestore, deployed in Firebase. With a quick glance I could see how easy it would be to create an ad-hoc Adapter to make the connection taking advantage of the capabilities of Embedded Python, so I got to work.

Preparing the environment

To start, we need an instance of the database on which we can perform the tests. By accessing the Firebase console, we have created a new project to which we have added the Firestore database.

2
1 529
Article Nicholai Mitchko · Aug 12, 2020 2m read

Updated Jan 19th, 2023.

Hi all,

I want to share a quick little method you can use to enable ssl with a self signed certificate on your local development instance of IRIS/HealthShare. This enables you to test https-specific features such as OAuth without a huge lift.

1. Install OpenSSL

Windows     : Download from https://www.openssl.org or other built OpenSSL Binary. 

Debian Linux: $ sudo apt-get -y install openssl

RHEL        : $ sudo yum install openssl

 

2. Create a self-signed certificate pair.

7
9 2360
Article Pravin Barton · Sep 1, 2022 4m read

Say I've been developing a web application that uses IRIS as the back end. I've been working on it with unauthenticated access. It's getting to the point where I would like to deploy it to users, but first I need to add authentication. Rather than using the default IRIS password authentication, I'd like users to sign in with my organization's Single Sign On, or some other popular identity provider like Google or GitHub. I've read that OpenID Connect is a common authentication standard, and it's supported by IRIS. What is the simplest way to get up and running?

2
5 1373
Discussion Scott Roth · Apr 1, 2024

I am currently adding a field to our Existing messaging from Epic, however there might be a possibility I need to back load data into the Ancillary system. While I have the previous messages that can be sent, they do not have this additional field that I am adding to the message.

I can do a lookup against Epic Clarity SQL Database; however, I don't want to throw a wrench into the workflow if the system cannot connect to the Epic Clarity SQL Database.

  • What is the best solution for this?
3
0 295
Article Hiroshi Sato · Apr 4, 2024 1m read

InterSystems FAQ rubric

The Web/CSP Gateway management page is typically configured so that it cannot be accessed from client machines.

To access from any client, do the following:

  1. Launch a browser from a system with access to the Web/CSP Gateway management page and access the Management Portal.
  2. Under Management Portal > System Administration > Configuration > click CSP Gateway Management.
  3. Click Default Parameters that appear in the left pane of the page that appears.
  4. Enter *.*.*.* in the system management machine and press the Save Settings button.
0
0 318
Question Parameshwaran Muthaiyan · Apr 4, 2024

For example, I have two timestamp values ('2024-04-01 10:00:00', '2024-04-01 11:30:30'). I would like to find the difference between these two timestamps, and I need the result in hours:minutes:seconds (hh:mm:ss) format.

Expected Output: 01:30:30


Note: I need an SQL query command. I should not use ClassMethod, Function, or Stored Procedure.


Could anyone please provide me with an SQL query for my question?

4
0 376
Question Kris Roberts · Apr 1, 2024

A report that I need to create - I need to write a class method that will execute a few queries and save the data to a class and then return the data in a result set that can be used in the Logi report as a Stored procedure.

I can create the class method that is a Stored procedure and do the queries and manipulate the data, however I am having an issue at the end of the method to return the fields back as a result set.

3
0 281
Question Jayesh Gupta · Apr 2, 2024

I know that you can use Do $SYSTEM.SQL.Schema.ImportDDL() to insert sql files into IRIS however I was wondering if there is a way that I can upload .sqlite files into iris? I have about 20 .sqlite files that I need to get into my database. I tried using the ImportDDL method but it said "SKIPPING non-SQL SOURCE:"

6
0 226
Question Daniel Bertozzi · Mar 27, 2024

Hello

I am trying to convert some old rest classes using the OpenApi spec (e.g. %REST.Impl)

Say I want to return a 401 in my impl.cls for api and I can define the status code as follows, e.g.

 Do ..%SetStatusCode("401")
 Do ..%SetContentType("application/json")

However the api client will see this as 401 OK which is not right.

In the past, I could just create a rest class that extends from %CSP.REST and return as follows:

Set%response.Status = ..#HTTP401UNAUTHORIZED

This will return 401 Unauthorized, which what I expect to see reported in the api

3
0 288
Question Heru.H · Jun 20, 2023

When connectiong to IRIS from UBUNTU LTS 18.04, I  got this error message:

ErrorException: odbc_connect(): SQL error: [unixODBC][Iris ODBC][State : S1000][Native Code 417]

[libirisodbcur6435.so]

Access Denied, SQL state S1000 in SQLConnect 

I'm using "ODBC-2022.1.0.209.0-lnxubuntu1804x64.tar.gz" downloaded from

"https://github.com/intersystems-community/iris-driver-distribution/tree…"

and folowing guide from

https://community.intersystems.com/post/intersystems-iris-laravel-odbc

Here's my odbc.

1
0 549
Article Daniel Aguilar · Mar 22, 2024 3m read

Hi Community!

Do you usually work with automated tasks? Then let me share with you a pair of tips ;-)

Tip 1: How to know when my automated task will end (approximately)

Do you have an automated task that is running but you are not sure when it will end and you are at the crossroad of take the decision to stop it or wait and you are not sure if could be better wait for 5 o 10 minutes?

Here you are a tip to check when your task will finish (approximately).

4
2 357
Article Flávio Lúcio Naves Júnior · Mar 24, 2024 5m read

Introduction

In the modern digital age, securing applications, particularly those handling sensitive health data, is paramount. The confidentiality, integrity, and availability of such data are crucial, necessitating robust security measures. Two-factor authentication (2FA) stands out as a critical enhancement in safeguarding access, adding an extra layer of security beyond just passwords. Recognizing the significance of this feature, InterSystems provides built-in support for 2FA in its database solutions. This tutorial aims to guide you through the process of configuring two-factor authentication in your InterSystems environment, ensuring that your data remains secure and accessible only to authorized users.

3
3 775
Question Sylvie Greverend · Mar 29, 2024

I built my rest api with ^%REST and update with CreateApplication.
Postman works fine and I suppose production server will work fine as UI and rest api will be on the same domain, but for now in dev, I need to have access from my local to the Iris rest api. I have a CORS error.

I do not know how to configure my swagger file to have either Parameter HandleCorsRequest=1 or <route Cors=true in the generated displ,cls.

As adviced in community, I tried in my impl.cls
    Do ..%SetHeader("Access-Control-Allow-Origin", "*")
I even tried 
     Do

3
0 409
Article Veerarajan Karunanithi · Feb 27, 2024 4m read

What is Unstructured Data?
Unstructured data refers to information lacking a predefined data model or organization. In contrast to structured data found in databases with clear structures (e.g., tables and fields), unstructured data lacks a fixed schema. This type of data includes text, images, videos, audio files, social media posts, emails, and more.

Why Are Insights from Unstructured Data Important?
According to an IDC (International Data Corporation) report, 80% of worldwide data is projected to be unstructured by 2025, posing a significant concern for 95% of businesses.

3
0 507
Article Luis Angel Pérez Ramos · Mar 27, 2024 6m read

As you have seen in the latest community publications, InterSystems IRIS has included since version 2024.1 the possibility of including vector data types in its database and based on this type of data vector searches have been implemented. Well, these new features reminded me of the article I published a while ago that was based on facial recognition using Embedded Python.

Introduction

For those of you who don't remember what that article was about, it is linked at the end of this article.

2
2 581
Question Rebecca Johnson · Mar 29, 2024

Attempting to setup an outbound (I'm querying out, not querying the IRIS db) SQL connection. I am connecting to a PostgreSQL database, name "hl7interface".

I have setup the odbc.ini file at /usr/local/etc with the following contents:

[HL7Interface2]
Driver = PostgreSQL
Description = HL7 Interface DB
Servername = localhost
Port = 5432
Protocol = 7.4-1
#userName = postgres
#Password = <real pw here>
Database = hl7interface
ReadOnly = no
ServerType = Postgres

I have set the /etc/odbcinst.

6
0 323
Question Phillip Wu · Mar 21, 2024

I want to write a routine [I think this is the correct Intersystems term] call STOPALLPRODUCTIONS.

I want to be able to call the routine:

DO ^STOPALLPRODUCTIONS

Routines are described here:

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

The code will be something like:

zn "namespace1"

set status=##class(Ens.Director).StopProduction()

set status=##class(Ens.Director).GetProductionStatus()

WRITE "namespace1 production is ",$CASE(status,

              0:"Running",1:"Stopped",2:"Suspended",

              3:"Troubled")

zn "namespace2"

set status=##class(Ens.

3
1 251
Announcement Laurel James (GJS) · Mar 27, 2024

I'm excited to let you know that we at George James Software have released some new VS Code training courses. Following the success of our Basics course we have expanded our offering to help InterSystems users looking to move to VS Code improve their knowledge. 
Here's what's on offer...
Studio to VS Code Migration - The Basics (2.5 hours)
An interactive training webinar for those who have never used VS Code before and want hands-on help in getting set up and explaining the basics of how it

2
0 209
Announcement Eduard Lebedyuk · Mar 28, 2024

Hello Community,

I'd like to share with you our article with @Regilo.Souzaon AWS Amazon blog Automating application-consistent Amazon EBS Snapshots for InterSystems IRIS databasesOur team has created this step-by-step instruction to create application-consistent snapshots for InterSystems IRIS databases. In this article, we outline how to automate pre-scripts to pause I/O and flush buffer to disk and post-scripts to thaw I/O, as shown in the following figure:

Architecture diagram for automating application-consistent EBS Snapshots for InterSystems IRIS databases.

0
0 287