#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 Eduard Lebedyuk · Nov 30, 2022

I initialize a HS.SDA3.Container from a XML stream and I need to iterate over it twice. What is a correct way of doing it? Is it enough to adjust StreamPos/StreamOref?

The optimal solution would be to use one loop, but it's not possible to combine the processing logic.

set oSDA = ##class(HS.SDA3.Container).%New()
do oSDA.InitializeXMLParse(.tQuickStream)

while oSDA.GetNextSDA(.tType, .tPatient) {
        // processing logic A
}

set oSDA.StreamPos = 1do oSDA.StreamOref.Rewind()

while oSDA.GetNextSDA(.tType, .tPatient) {
        // processing logic B
}
4
1 553
Question prashanth ponugoti · Dec 22, 2022

Hi Friends ,

I have created inbound DB adapter business service. Now my requirement to trigger this service at 10am daily.

I used scheduler , but I don't know when should i configure for stop. this not suits for my requirement.

Is there any other way , where I need to trigger service only once , in configured times.

Thanks,

Prashanth

3
0 374
Discussion Dmitry Maslennikov · Dec 20, 2022

So, the next year will bring us a new way of installing IRIS. Always keep in mind that you have to bring your own web server. No matter how many instances of IRIS you have on your local machine. Or if you work in Docker, always keep in mind a bit more complicated configuration.

And I now want to understand the costs of this decision for end-developers like most of here.

Let's have a look, at what we got out of the box in Web Applications, obviously do not forget about System Management Portal.

Quite a few REST APIs, some of them for internal use only, are not supposed to be accessible in the

20
2 899
InterSystems Official Bob Kuszewski · Dec 22, 2022

IAM 3.0 Release

InterSystems API Manager (IAM) version 3.0.2 is now Generally Available.  IAM 3.0 adds significant new functionality including:

  • Secrets Management – Save credentials and other secrets in HashiCorp Vault, AWS Secrets Manager, GCP Secrets Manager, or environment variables
  • Dynamic Plugin Ordering – Specify the order in which plugs are run
  • OpenTelemetry Integration – Collect & export tracing in OpenTelemetry format
  • UI Enhancements
  • ARM Processor Support – You can now run IAM on ARM64 architecture machines, include M1 & M2 Apple Macs
  • WebSockets – Enable management of
0
1 374
Announcement Andreas Dieckow · Dec 21, 2022

If you would like to try the new installation process for the NoPWS project, you can get access to the Early Access Program (EAP) here. (https://evaluation.intersystems.com/Eval/)

Once you have registered, please send InterSystems the email address you used to register for the EAP to  nopws@intersystems.com.

Look here for background: Original Post

1
2 446
Question Rob Schoenmakers · Dec 21, 2022

Hello everybody,

In the documentation I read the following:

Alerts are messages generated by production components. InterSystems IRIS automatically writes the alerts to a log file and sends then to the production component named Ens.Alert. If your production does not have a component named Ens.Alert, then InterSystems IRIS writes alerts to the log file but does not send them to any component. The component named Ens.Alert can be of any class. The most frequently used classes for Ens.Alert are:

I am not able to find the log file where the alerts are stored...

3
1 368
Question Dmitry Maslennikov · Nov 13, 2022

I have table

CREATETABLE nodes (
        nameVARCHAR(50) NOTNULL, 
        parentVARCHAR(50), 
        PRIMARY KEY (name), 
        FOREIGN KEY(parent) REFERENCES nodes (name) ONUPDATEcascade
);

I put some data

INSERTINTO nodes (name, parent) VALUES ('n1', NULL);
INSERTINTO nodes (name, parent) VALUES ('n11', 'n1');
INSERTINTO nodes (name, parent) VALUES ('n12', 'n1');
INSERTINTO nodes (name, parent) VALUES ('n13', 'n1');

Let's delete all

DELETEFROM nodes;

Nope, no way.

SQL Error [124] [S1000]: [SQLCODE: <-124>:<FOREIGN KEY constraint failed referential check upon DELETE of row in referenced table>]
[Location: <ServerLoop>]
[%msg: <At least 1 Row exists in table 'SQLUser.nodes' which references key 'NODESPKey2' - Foreign Key Constraint 'NODESFKey3', Field(s) 'parent' failed on referential action of NO ACTION>]
7
0 663
Article Dmitry Maslennikov · Aug 20, 2021 6m read

Some time ago GitHub, has announced the new feature, GitHub Codespaces. It gives an ability to run VSCode in the browser, with almost the same power as it would run locally on your machine, but also with a power of clouds, so, you are able to choose the machine type with up to 32 CPU cores and 64 GB of RAM.

Looks impressive, is not it? But how it could help us, to work with projects driven by InterSystems IRIS? Let's have a look, how to configure it for us.

3
7 1189
Question Mark Sharman · Dec 9, 2022

Hi,

On adding two new custom settings to a process, i'm looking to improve the labelling on the component so that it includes spaces, i.e ("Archive Path" instead of "ArchivePath").

I've looked at the following article, specifically at the suggestion:
set ^CacheMsg("EnsColumns","en","ArchivePath")="Archive Path"

I've attempted this in the namespace hosting the production, but the labelling doesn't appear to update on the component. I've looked in the documentation but couldn't find any specific reference and I was unsure if the above code is still relevant for later versions?

2
0 251
InterSystems Official Fabiano Sanches · Dec 16, 2022 5m read

Overview

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.

1
2 1227
Question Ravi Akkiraju · Dec 15, 2022

I am trying to figure out how to loop through the EnsLib.LDAP.Message.Results to get all the attributes. From router I am passing EnsLib.LDAP.Messge.Search as the request param. Response is  EnsLib.LDAP.Message.Results. I am invoking the EnsLib.LDAP.Messge.Search BO.

At the BP level, trying to figure out how to extract all the attributes for a EnsLib.LDAP.Message.results

2
0 328
Question Scott Roth · Dec 14, 2022

I am trying to migrate our SQL Connections from HealthShare Health Connect 2018.1.3 to IRIS HealthShare Health Connect 2022.2 using the Data Export/Import Wizard through the Management Portal. I am able to export the data fine, but I am running into issues trying to Import it into 2022.2 using the Data Import Wizard. When I run through the steps it is not importing everything from the txt file I created from 2018.1.3. I would rather not have to rekey all the connections if possible.

Here is the Background Task Error Log

Is there a way around this Validation error?

2
0 484
Question Oleksandr Kyrylov · Dec 12, 2022

Hello community.

I have project on IRIS. 

I am trying to make application deployable.

The Idea is to have 1 file that customer can download and run. For now I realize that whole intersysytems developer kit that includes Studio, terminal acts as runtime environment (Like Java has JDK).

Is it possible to wrap my project to 1 archive (Back to Java example .war or .jar) and run it on some application server (like Tomcat) without Studio etc..? 

Thank you!

5
0 389
Article Murray Oldfield · Nov 18, 2019 8m read

The following steps show you how to display a sample list of metrics available from the /api/monitor service.

In the last post, I gave an overview of the service that exposes IRIS metrics in Prometheus format. The post shows how to set up and run IRIS preview release 2019.4 in a container and then list the metrics.


This post assumes you have Docker installed. If not, go and do that now for your platform :)


Step 1. Download and run the IRIS preview in docker

Follow the download instructions at Preview Distributions to download the Preview Licence Key and an IRIS Docker image. For the example, I

10
6 1663
Announcement Derek Robinson · Dec 13, 2022

In our latest episode of Data Points, I had a conversation with @Thomas Dyar about AI Link, which helps bridge the gap between data scientists and business analysts. Our conversation talks about how AI Link fits with IntegratedML and Adaptive Analytics, as well, as what new features are on the horizon for IntegratedML. Take a listen!

0
0 231
Question reetan selvaraja · Dec 9, 2022

Hi,

I tried to join my local DB table with link table. but I am getting below error.

5475 5475 reporterr2+40^%occRoutine Error #5475: Error compiling routine: %sqlcq.HSANALYTICS.cls483.  Errors:  %sqlcq.HSANALYTICS.cls483.cls(%OnNew+5) : SQLCODE=-161 : References to an SQL connection must constitute a whole subquery

I tried to execute below query in Managementportal 

select dg.ID from HSAA.Diagnosis dg
left join LinkTableData.FacilityFullList la on dg.ID=la .ID

4
0 225
InterSystems Official Fabiano Sanches · Dec 7, 2022

InterSystems announces another developer preview release, as part of the developer preview program for the 2022.3. Many updates and enhancements have been added in 2022.3 and there are also brand new capabilities, such as the new FHIR SQL Builder, improvements for Columnar Storage, and support to Oracle Linux 9. Some of these features or improvements may not be available in this current developer preview.

Future preview releases are expected to be updated biweekly and we will add features as they are ready. Please share your feedback through the Developer Community so we can build a better

1
0 319
Question Iryna Mykhailova · Nov 9, 2022

Hi guys!

My student asked my why his unit tests don't work as they should, and I just could answer him. Here is the simplified case.

There is a class with a required unique property Name:

Class Test.NewClass [ Abstract ]
{
Property Name As%String [ Required ];
Index NameIndex On Name [ Unique ];
}

And there is an inherited class:

Class Test.NewClass1 Extends (%Persistent, Test.NewClass)
{
}

What I expect to happen, is when I save two objects of class Test.NewClass1 with the same value of property Name, for the second one to get an error stating that it violates the unique index.

set a = ##cla
9
0 758
Article Pierre-Yves Duquesnoy · Jan 27, 2021 29m read

Introduction {#Webinar:ImplementingIntegrationswith.NetorJava-Introduction}

InterSystems IRIS 2020.1 includes PEX (Production EXtension Framework) to facilitate the development of IRIS Interoperability productions with components written in Java or .NET.

Thanks to PEX, an integration developer with knowledge of Java or .NET can benefit from the power, scalability, and robustness of the InterSystems IRIS Interoperability framework and be productive in no time.

For an IRIS Interoperability framework expert, PEX makes it easy to enrich integrations with pre-existing Java- or .NET-language external

4
1 1287
Question Dmitry Maslennikov · Nov 4, 2022

I have a table, with autoincremented id

CREATETABLEusers (
    idSERIALNOTNULL,
    nameVARCHAR(30) NOTNULL,
    PRIMARY KEY (id)
)

I can add a new item there with an explicit id 

INSERTINTOusers (id, name) VALUES (2, 'fred')

And while my id is autoincremented, I can omit it

INSERTINTOusers (name) VALUES ('ed')

So, this time, I don't know the id, and I want to somehow get it.

I could do it with LAST_IDENTITY() function, but it just uses %RowID, and have no relation to the primary id

11
0 873
Article Tani Frankel · Dec 8, 2022 1m read

When creating a PRA (Privileged Routine Application; which by the way is not relevant just for Routines but also for Classes/Methods), it is important to make sure you include a new $ROLES, before calling AddRoles(). For example:

new$ROLESset status=$System.Security.AddRoles("MyPrivilegedRoutineApplication")

This way you ensure that indeed the added (elevated) roles "evaporate" for the User running this code, once the User is out of the scope of that routine/method.

[Thank you @Andreas Dieckow for validating this]

3
0 340