#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 Higor Granzoto · Apr 14, 2021

We are planning to build a REST API with the Java Quarkus Framework.

  • There'll be a connection pool;
  • The DataSource instance will be automatically injected from the connection pool;
  • We will use JDBI to do SQL instructions and this will give us automatic Connection and Statement management;

This Caché instance already have COS applications running and consuming connections and licenses.

After doing this, we will migrate to IRIS.

Is there any pitfalls that we must be aware before taking this approach?

If you want to see some code the PoC can be found here.

Thanks.

1
0 388
Article Peter Steiwer · Nov 26, 2019 3m read

When designing a hierarchy in DeepSee, a child member must have only one parent member. In the case where a child corresponds to two parents, the results can become unreliable. In the case where two similar members exist, their keys must be changed so that they are unique. We will take a look at two examples to see when this happens and how to prevent it.

Example 1

There are a handful of states with a city named Boston. In my sample data, I have records from both Boston, MA and Boston, NY. My dimension is defined as:

City and State are simply strings in my case.

1
1 946
Question Utsavi Gajjar · Feb 25, 2022

Hello All,

I am looking for some ideas from people who have automated alerting in place for their Ensemble or IRIS productions.  

I want to start with basic things like, simply checking if a Production is up and running. Once this has been achived, I am looking to go deeper and implement monitoring on each interface level for things like, Queue Size, Errors and Inactivity.

Would appreciate if you can share some ideas. I have been exploring http://localhost:52773/api/monitor/metrics but don't see anything in there that tells me whether my Production(s) are running ok or not.

Thank you.

Regards,

Utsav

3
1 671
Question Drew Spoelstra · Jun 28, 2021

Hi,

I'm using a DTL to convert a custom request class to various R4 FHIR resources using the HS.FHIR.DTL.vR4.Model.Resource classes. All is well with the exception of "meta.profile": when I attempt to hardcode this to a string value, the output is missing the value. This happens for several resources, specifically .HealthcareService, .Location, and .OrganizationAffiliation. I am able to get around this by doing an Insert() in a subsequent code block in a BPL, but was curious if someone knows why this would fail in a DTL.

See the below screenshot of both the Set action in the DTL as well as the

1
0 300
Question Florian Lestienne · Apr 23, 2021

Hello,

I have a question about a problem calling a SOAP Web Service.

Indeed, to retrieve data via a Web Service, I need to make 4 calls, one to connect, one to place parameters, one to retrieve data and one to disconnect. Using the EnsLib.SOAP.OutboundAdapter class, I manage to make my first connection call but for the other calls I would need to keep my session cookie otherwise it doesn't consider me as connected. I know it's possible to do this in REST directly in the EnsLib.REST.OutboundAdapter class but I can't find a way to do it in SOAP.

Has anyone already encountered the same problem as

1
0 356
Question Jairton Junior · Feb 11, 2021

Consider a Natural Key with an Identity (Serial) field.

I cannot seem to acquire the generated value after persisting my entity. That is, the returned entity by Spring Data's "save" does not have the generated value.

The value is generated by the database, and I can query it after repository.save(entity).

I have done some testing and created a Github repo with it...

https://github.com/jesjobom/iris-hibernate-key-test
Am I missing something?

1
0 255
Question Michael Angeleri · Feb 24, 2022

Hello, first question for me:

Is there a way to use a class Parameter in embedded SQL without having to declare a local variable, in a similar way to how it is done with Property by preponing i% as described here. See my example:

Class Test.Test Extends %RegisteredObject
{ 
Parameter MyParam = "1";  
Property MyProperty;  
(...)
Method PerformQuery() {
    set myParamLocalVar = ..#MyParam //this is what I would like to avoid
    &sql(SELECT * FROM MY_TABLE
        WHERE MY_PROPERTY = :i%MyProperty
        AND MY_PARAM = :myParamLocalVar)
    (...)
}
}
1
0 410
Question Elize VdRiet · Jan 21, 2020

We have a situation where we want to save the patient photo (or any other attachment) received via FHIR to a persistent property without decoding it. When it is sent out again using FHIR is is stored in the encoded format and need not be encoded. We do not need to decode it for our application. We always use it on another system that retrieves it or saves it via FHIR and therefore it is always received or sent embedded in JSON.

The problem is that the FHIR attachment automatically encodes the attachment data in HSFHIRToFHIR, but it does not do the opposite when the attachment is received; that

1
0 525
Question Aaron Vail · Oct 14, 2019

I'm trying to create a new Record Map but I keep getting a ZEN Exception error.  I actually go this to work the very first time I did it and have a record map.  But I need to do more.

I'm working on my local machine so I can grab a CSV (or txt in this case as it's pipe delimited) from the local directory.  I pick the file I want to use but when I click OK i get a popup and the following error:

ZEN EXCEPTION
 
A JavaScript
1
0 422
Question Marcelo Vargas · Feb 22, 2019

Hi guys,

I'm starting few POCs to test InterSystems IRIS with a .Net core backend of an API Gateway and I have few questions about this integration.

  • Which .Net library is the oficial? 
    • I found at least 3 options: packages from nuget website (https://www.nuget.org/profiles/InterSystemsCorporation - that I couldn't do them work), packages “IRISProviderCore.1.0.0.nupkg” and “IRISXEPCore.1.0.0.nupkg” inside “IRIS\dev\dotnet\bin\CorePackages” (Iris installation folder) and libs “InterSystems.Data.IRISClient.dll” and “InterSystems.Data.XEP.dll” at github sample project
1
1 790
Question Jose-Tomas Salvador · Sep 24, 2018

I would like to know any experience working with OPC UA standard in industry sector or IoT. Currently there is no adaptor implemented in IS IRIS for it but it seems to be pushed as the main standard in industry. Did anyone had to implement their own libraries or adaptors to deal with it? Or do you advice to use any already implemented library in Java, Python,...? Any feedback would be appreciated. 

1
0 501
Article Dmitry Maslennikov · Dec 2, 2021 3m read

How to check if the password is strong enough, so it will not be cracked very fast? And how to make a strong password?

I've developed a tool that may help with this. You can find it on OpenExchange. Install it with zpm

zpm "install passwords-tool"

This module will install just one class caretdev.Passwords, which contains a few helpful methods in it

Secure Password

To get a secure password it's usually enough to use letters in upper and lower case, digits, and special symbols, and it should be at least 8 symbols long. 

Method Generate with parameters

  • Length - just a length of generating password,
4
0 560
Discussion Sylvain Guilbaud · Feb 21, 2022

Let's consider you would like to efficiently store your historical data in a similar structure than the one used for your current data, but without sharing the same physical storage (ie : not in the same global). What is the most efficient way to do it ?

Below a simple class of your current data : 


Class data.current.person Extends (%Persistent, %Populate)
{

Parameter DEFAULTGLOBAL = "^on.person";

Property name As %String;

Property dob As %Date(FORMAT = 4);

Property activ As %Boolean [ InitialExpression = 1 ];

Property created As %TimeStamp [ InitialExpression = {$zdt($h,3)} ];

Storage
9
0 516
Article Evgeny Shvarov · Nov 12, 2019 3m read

Hi Developers!

Suppose you want to create your ObjectScript library to be distributed via ObjectScript Package Manager. And there is an obvious question: what is the naming convention on the packages and class names?

Naming packages and classnames

There is already some accepted practice with package managers and we will follow the best practices in this field. The most reasonable and simple looks the approach with having company as the first package then project as the second and then classes and subpackages of the project.

The folder structure in this case looks like:

/src/cls/company/project/subp

6
2 1139
Article Evgeny Shvarov · Feb 19, 2022 2m read

Hi developers!

As you probably noticed in IRIS 2021 the names of globals are random.

And if you create IRIS classes with DDL and want to be sure what global was created you probably would want to provide a name.

And indeed you can do it. 

Use WITH %CLASSPARAMETER DEFAULTGLOBAL='^GLobalName' in CREATE Table to make it work. Documentation. See the example below:

11
0 708
Article Yuri Marx · Dec 3, 2021 7m read

Creating REST API using InterSystems ObjectScript is very easy, but some recipes can help you into this process:

1) To create your REST API extends %CSP.REST and Go to System Administration > Security > Applications > Web Applications > Click the button Create New Web Application and set the Name, REST Dispatch Class with your package and classname and choose the Allowed Authetication Methods. See this example:

 

Edit Web Application

2) Configure your REST API using ZPM configuration. To do this follow this sample (watch the tag <CSPApplication>):

 

ZPM Code to Create REST API

<?xml
2
7 1917
Article Murray Oldfield · Nov 29, 2016 20m read

This post provides guidelines for configuration, system sizing and capacity planning when deploying IRIS and IRIS on a VMware ESXi. This post is based on and replaces the earlier IRIS-era guidance and reflects current VMware and InterSystems recommendations.

Last update Jan 2026. These guidelines are a best effort, remember requirements and capabilities of VMware and IRIS can change.

I jump right in with recommendations assuming you already have an understanding of VMware vSphere virtualization platform.

1
6 7370
Article Sergey Mikhailenko · Feb 22, 2022 2m read

Hello everyone. I present this project to the contest. The export module is essential in many of my projects and is often used in all my product servers.

I have implemented various scenarios in the invoke attribute initialization module, both maximalistic with many additional projects to demonstrate in GCR , and minimalistic to install natively in production instance

zpm "install appmsw-sql2xlsx -Dzpm.demo=none"

To demonstrate the possibilities, I used the fileserver and csvgen projects.

To demonstrate the possibility, I propose to perform the following steps: Load a demo and enter the name and

0
1 443
Announcement Olga Zavrazhnova · Feb 22, 2022

Hi Community, we continue to gather feedback about Data Loading & Packaging. In particular, we're interested in hearing your impressions on some of the new capabilities added with InterSystems IRIS 2021.2  We'll be using this feedback to improve InterSystems IRIS, so please feel free to share any details and feedback:

>> Link to the survey (14 questions, 5 min) <<

Note: this is the same survey we already published during the contest, on Global Masters and Discord. If you already participated, you don't have to do it again. Thank you for the feedback! 

0
0 198