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

Announcement Thomas Dyar · Mar 12, 2020

Greetings Developer Community!

InterSystems IntegratedML (formerly known as QuickML) is ready for external beta, and is looking for some users to kick the tires!

IntegratedML is an all-SQL machine learning (ML) feature in IRIS that:
    • Gives users the ability to create, train and deploy powerful models from simple SQL syntax
    • Wraps "best of breed" open source and proprietary ML and "automl" frameworks such as TensorFlow, XGBoost, H2O-3, and DataRobot
    • Focuses on ease of deployment, so you can add predictions to your application with a single SQL function call 

You are a good fit for

0
0 311
Question Rubens Silva · Mar 9, 2020

Just like the title says, I'm attempting to find a way to create a web application that instead of serving CSP files, it uses a dispatch class.
I searched for clues in the documentation, but the CSPApplication tag seems to be exclusively for CSP file-based applications.
I'm trying to avoid implementing a workaround such as using the Invoke tag to call the Security.Applications to generate the web application but I might be forced to do so, even though it's unpleasant if I had to say...
So, is there an official way to execute this task?

22
0 796
Announcement Derek Robinson · Mar 12, 2020

In Episode 5 of Data Points, @Bob Binstock joins us to talk about mirroring databases for high availability in InterSystems products! Most of the discussion centers around this process in InterSystems IRIS, with a few notes about the differences when tackling it in HealthShare. Take a listen and let us know your thoughts!

0
0 341
Question Dmitry Maslennikov · Jan 12, 2020

In one of the projects, when we have ECP with 10 ECP application servers, from time to time we faced the issue when our journals fail to purge, due to open transactions.While we have about 100-150 GB journal files per day, it quite quickly became a big issue, and with mirroring a very big issue.Mostly we just rebooted our ECP Data server, so it searches rollbacks any transactions, but such process is too long, may steal a few hours.I did not find any way, how to get the list of the open transactions from one place from ECP Data Server.We just migrated our Data server to 2018.1.

4
0 1081
Question Adam Dewing · Mar 3, 2020

I'm working on developing Productions with java. The sample project has several intersystems jar files: -- intersystems-enslib-jms-3.1.0.jar -- intersystems-gateway-3.1.0.jar -- intersystems-jdbc-3.1.0.jar -- intersystems-spark-1.0.0.jar -- intersystems-uima-1.0.0.jar -- intersystems-utils-3.1.0.jar -- intersystems-xep-3.1.0.jar

I have the jar files, but where can I find them for download? Are they available on a maven repository somewhere?

Any help would be appreciated!

3
0 1338
Article Murray Oldfield · Jun 5, 2019 2m read

If a picture is worth a thousand words, what's a video worth? Certainly more than typing a post.

Please check out my "Coding talks" on InterSystems Developers YouTube:

1. Analysing InterSystems IRIS System Performance with Yape. Part 1: Installing Yape

 

Running Yape in a container.

2. Yape Container SQLite iostat InterSystems

Extracting and plotting pButtons data including timeframes and iostat.

3
2 1679
Question Đặng Phú Lộc · Dec 30, 2019

Can anyone clarify to me about the differences between these two classes?

People in this topic https://community.intersystems.com/post/using-class-queries-sqlstatement-versus-libraryresultset stated that %SQL.Statement (I am assuming they mean to talk about %SQL.StatementResult) is newer than %Library.ResultSet. But I don't really know what are the advantages of %SQL.Statement over %Library.ResultSet as the people in the topic somehow didn't mention them.

Currently I have a case and it seems like the %SQL.StatementResult doesn't have enough function to cover it:

I have to select with leftjoin

6
0 1421
Article Mikhail Khomenko · Jan 13, 2020 16m read

Last time we launched an IRIS application in the Google Cloud using its GKE service.

And, although creating a cluster manually (or through gcloud) is easy, the modern Infrastructure-as-Code (IaC) approach advises that the description of the Kubernetes cluster should be stored in the repository as code as well. How to write this code is determined by the tool that’s used for IaC.

In the case of Google Cloud, there are several options, among them Deployment Manager and Terraform. Opinions are divided as to which is better: if you want to learn more, read this Reddit thread Opinions on Terraform vs. Deployment Manager? and the Medium article Comparing GCP Deployment Manager and Terraform

1
2 1563
Article sween · Nov 7, 2019 5m read

Loading your IRIS Data to your Google Cloud Big Query Data Warehouse and keeping it current can be a hassle with bulky Commercial Third Party Off The Shelf ETL platforms, but made dead simple using the iris2bq utility.

Let's say IRIS is contributing to workload for a Hospital system, routing DICOM images, ingesting HL7 messages,  posting FHIR resources, or pushing CCDA's to next provider in a transition of care.  Natively, IRIS persists these objects in various stages of the pipeline via the nature of the business processes and anything you included along the way.  Lets send that up to Google Big Query to augment and compliment the rest of our Data Warehouse data and ETL (Extract Transform Load) or ELT (Extract Load Transform) to our hearts desire.

A reference architecture diagram may be worth a thousand words, but 3 bullet points may work out a little bit better:

  • It exports the data from IRIS into DataFrames
  • It saves them into GCS as .avro to keep the schema along the data: this will avoid to specify/create the BigQuery table schema beforehands.
  • It starts BigQuery jobs to import those .avro into the respective BigQuery tables you specify.

 

3
0 1328
Article Mark Bolinsky · Mar 3, 2020 11m read

InterSystems and Intel recently conducted a series of benchmarks combining InterSystems IRIS with 2nd Generation Intel® Xeon® Scalable Processors, also known as “Cascade Lake”, and Intel® Optane™ DC Persistent Memory (DCPMM). The goals of these benchmarks are to demonstrate the performance and scalability capabilities of InterSystems IRIS with Intel’s latest server technologies in various workload settings and server configurations. Along with various benchmark results, three different use-cases of Intel DCPMM with InterSystems IRIS are provided in this report.

5
0 1146
Question Eduard Lebedyuk · Mar 4, 2020

I want to send requests from custom BP with timeout and be able to understand that timeout event happened.

I thought that I need to implement OnTimeout method in my process (in either caller or callee), however it seems like OnTimeout  is never called.

Let's say we have this parent process:

Class Timeout.Parent Extends Ens.BusinessProcess [ ClassType = persistent ]
{
Method OnRequest(pRequest As Ens.StringContainer, Output pResponse As Ens.StringContainer) As %Status {
    set sc = ..SendRequestSync("Timeout.Child", pRequest, .pResponse, 5)
    if ($$$ISOK(sc) && ('$isObject(pResponse))) {
2
0 851
Announcement Evgeny Shvarov · Mar 3, 2020

Hi Developers!

This is the digest of new solutions and applications submitted to InterSystems OpenExchange in February 2020!

New applications in February 2020

EXCEL SUDOKU by alex kosinets

Sudoku game implementation in Excel using InterSystems IRIS as a server

RESTForms2 by Henry Hamon Pereira

RESTForms2 is a framework to create the REST API for InterSystems IRIS persistent objects  automatically

FirstLook-Globals by Evgeny Shvarov

Firstlook example of InterSystems Globals

IRIS Interoperability Message Viewer by Henrique Gonçalves Dias

A new approach for the Interoperability Message Viewer

iKnow by Benjamin De Boe

The iKnow Natural Language Processing technology was originally developed in Belgium and then acquired by InterSystems in 2010. In February 2020, InterSystems published the technology to open source, expanding the possible use cases for it beyond embedded use from the InterSystems IRIS Data Platform. iKnow is open to community contributions to enhance the engine, language models and interfaces for use in-text exploration, information extraction, and machine learning use cases.

0
0 210
Article Peter Steiwer · Mar 2, 2020 2m read

This error is sometimes seen while viewing a listing in InterSystems IRIS Business Intelligence:
ERROR #5540: SQLCODE: -99 Message: User <USERNAME> is not privileged for the operation (4)  

As the error suggests, this is due to a permission error. To figure out which permissions are missing/needed, we can take a look at the SQL query that is generated. We will use a query from SAMPLES as an example.

SELECT TOP 1000 %ID, DateOfSale, Outlet->City, %EXTERNAL(Channel) AS Channel, Product->Name AS Product, UnitsSold, AmountOfSale AS Revenue, (Discount * 100) || '%' AS Discount, Comment FROM HoleFoods.

0
0 1279
Announcement Anastasia Dyubaylo · Jan 13, 2020

Dear Community,

 We're pleased to invite you to the InterSystems Benelux Symposium 2020, which will take place from February 11th to 12th in Antwerp, Belgium!

At the Symposium, both InterSystems experts and external thought leaders will discuss what it takes to make your IT innovation work. You're more than welcome to join us in the Radisson Blu Astrid Hotel in Antwerp.

 

Fastest Path to Possible - With Digital Innovation

5
0 636
Announcement alex kosinets · Feb 8, 2020

Ladies and gentlemen, good news for our town.

It finally happened  - M was put in the cell.

And feels great there. Maybe it not a prison but an Excel cell.

Being there, he leads the whole M-gang. As well as conditional formatting in EXCEL.

Close integration of excel with the database provides a new convenient design tool.

Interactive reports, input forms, diagrams are generated only by m-commands in cells, without classical programming.

More detailed on https://github.com/mx-alex/MX

We will monitor the development of the situation and answer your questions.

best wishes

Alex

19
1 1671
Article alex kosinets · Feb 29, 2020 4m read

There is a special Query for reporting, it takes one cell of Excel. Example :

?$$omQuery 113^oPeat | Country   Country:Province   Date   Product:Date   Date:Product:-zr   | tn EURO | zrzr| | if Date'<%XD81,Date'>%XD82 |  set zrzr=zr,EURO=summa

The omQuery sets the structure and content of the required documents as well as filters and data processing procedures.

In one request, up to 9 reports are created, with subtotals by group. (5 here , 3 with:subtotals )

All issued documents retain the interactivity property - any manipulations with cells are displayed in excel and in virtual m-excel

0
0 267
Question Stefan Rieger · Feb 23, 2020

trying import ClassDefinition File via <IRISClient.Ado.IRIS> result with error: 

InterSystems.Data.IRISClient.IRISException (0x80004005): Exception thrown on server (code = 1242) : <REMOTE EXECUTE INVALID WRITE>Load+19^%apiOBJ

running: IRIS for Windows (x86-64) 2020.1 (Build 197U) Thu Jan 23 2020 09:56:09 EST

am i missing something?

        public void LoadClass()
        {
            
            // import/ update <Installer.Package> to %SYS NameSpace
            using (var c = new IRISConnection("SERVER=127.0.0.1;PORT=51773;NAMESPACE=%SYS;USER ID=_system;PASSWORD=SYS;"))
            {
             

5
0 597
Article Robbie Luman · Feb 28, 2020 3m read

Our company is in the process of converting our software for use in Intersystems IRIS and one of the major sections of the software makes use of a custom statically-linked C library using the $ZF("function-name") functionality. During this, I found out that the process for setting up the C library to be used within the database platform has changed significantly between Cache and IRIS.

If you have used or still use the C Callout Gateway with Cache, then you will know that in order for Cache to be made aware of any functions provided in a custom C library to be used with $ZF("function-name"),

0
0 408
Announcement Anastasia Dyubaylo · Feb 14, 2020

Dear Community,

In advance of the upcoming release of InterSystems IRIS 2020.1 and InterSystems IRIS for Health 2020.1, we're pleased to invite you to the “Office Hours: InterSystems IRIS 2020.1 Preview” webinars. These Q&A sessions will provide a forum for you to ask questions and learn about the latest product features in the upcoming releases. 

The webinar will feature members of InterSystems product management team who will answer questions and provide additional information about the new features and enhancements. 

We will be hosting two sessions on Thursday, February 20, 2020. Reserve your spot by clicking one of the buttons below for the appropriate time slot.

➡️ 8AM (EST) WEBINAR

➡️ 1PM (EST) WEBINAR

2
1 501
Announcement Derek Robinson · Feb 26, 2020

In Episode 4 of Data Points, we welcome @Benjamin De Boe to the pod to discuss some of the things you can do to optimize your SQL queries in InterSystems IRIS. We've all heard — either from ourselves or from others — the "this runs too slowly" complaint. I thought Benjamin did a great job walking through many of the things within IRIS you can look at with your queries to see what can be improved.

0
0 266
Question Akshat Vora · Jan 23, 2020
   try{
        ....
        ....
        ....

        Set tSC = method_invocation()

        If $$$ISERR(tSC) {
            Quit tSC
        }

        ....
        ....
        ....

}

On compiling the above, I get an error saying "QUIT argument not allowed : 'tSC' ".

  • When I replace Quit tSC with Return tSC, it compiles
  • On replacing Quit tSC with Quit $$$OK, I get the error: QUIT argument not allowed : '1'
  • On replacing Quit tSC with Quit, it compiles
  • A 'Quit tSC' statement outside of the try-catch block does not cause a compile-time error.

The reason this happens is

9
0 1207
Question Yone Moreno · Feb 14, 2020

Hello,

We need to convert this structure, where we observe empty component separators "^":

MSH|^~\&|sistemaExterno|anonymized^anonymized|anonymized|anonymized|anonymized||RSP^K22^RSP_K21|anonymized|P|2.5^&^&|1||AL|AL||ASCII
MSA|AA||AA
QAK||OK
QPD|Q22^^Find Candidates||anonymized
PID|1|anonymized^1^^^^^^^^|35018^^^anonymized^PI^^^^^~anonymized^1^^TISR^HC^^^^^~292213^2^^12^JHN^^^^^~6339140^^^MPI^CIP^^^^^~""^^^MI^PPN^^^^^~""^^^MI^NNESP^^^^^|292213^^^^^^^^^|ApellidoUno35018^Nombre35018^^^^^^^&^&^^&^&|ApellidoDos35018^^^^^^^^&^&^^&^&|19541111000000|M|||""&AVDA EL PUENTE

4
0 1005