#InterSystems IRIS

19 Followers · 5.5K 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.

Article Robert Cemper · Jan 19, 2021 2m read

This is a first attempt to use Embedded Python in IRIS
The Python code is adapted from solutions for Advent of Code 2020 contest.
Test data are all input to my personal challenge.

Prerequisites

Make sure you have git and Docker desktop installed.

Installation

Clone/git pull this repo into any local directory

$ git clone https://github.com/rcemper/try_embedded_python  

Open the terminal in this directory and run:

$ docker-compose build

this may take some time to complete

Run the IRIS container with this project:

$ docker-compose up -d

How to Test it

Using IRIS terminal:

$ docke


0
1 1233
Article Yuri Marx · Jan 16, 2021 3m read

Hi InterSystems Community!

The ObjectScript language of InterSystems IRIS has the ability to extend classes using a very interesting feature called XData.

It is a section in your class that can be used to create custom definitions to be used within the class itself and also externally.

To create one or more XData definitions for your class is very easy, see the example:

Class dc.Sample.Person Extends (%Persistent, %JSON.Adaptor, %Populate)
{

 

Property Name As %VarString;

 

Property Title As %String;

 

Property Company As %String;

 

Property Phone As %VarString;

 

Property DOB
2
0 542
Question Mathew Lambert · Jan 12, 2021

Does anybody know if there is an easy way to know if the execution of the command $System.SQL.PurgeForTable went well/wrong?

The documentation describes that a string is returned, but in fact there is a nice Quit "" in the code.

Maybe inside PurgeForTable^%apiSQL there is any process variable set when it goes well/wrong?

Thank you very much!

5
0 262
Question Nicky Zhu · Jan 7, 2021

Hi guys,

In our clients environment, multiple sources will connect to one DB (all through JDBC connections) and perform various operations. Sometimes they found some data was deleted without  reason.  Thus they want some feature like SQL Server Database Audit Specifications that can log who at what time with which IP deleted data in a specific DB.

I've checked IRIS Audit but I didn't  find feature about  that . How can we audit and log  delete  of a known DB? The deletions might be performed by delete statament or truncate table stattement.

Thanks.

5
0 684
Question Phung Thoa · Nov 2, 2020

Hi all, By using VS code, I want to copy multiple files to local directory, then sync them to server, but I can't find where local directory is stored? In Atelier IDE, I could open a view of server and can copy the code to the project, then code is saved in the local directory. When I copy multiple files to the local directory -> choose sync in Atelier -> the code will be synchronized to the server How to do this from VS Code? Thanks!

14
0 976
Announcement Anastasia Dyubaylo · Jan 7, 2021

Hi Developers,

We're pleased to invite all the developers to the upcoming InterSystems Multi-model contest kick-off webinar! The topic of this webinar is dedicated to the Multi-model contest.

On this webinar, we will demonstrate the APIs for each data model in action.

Date & Time: Monday, January 11 — 10:00 AM EDT

Speakers:  
🗣 @Benjamin De Boe, InterSystems Product Manager
🗣 @Bob Kuszewski, InterSystems Product Manager - Developer Experience
🗣 @Evgeny Shvarov, InterSystems Developer Ecosystem Manager


2
0 292
Article Yuri Marx · Jan 12, 2021 3m read

Hi Community,

In this article I compared the features of the main leaders in the ODBMS gartner quadrant - 2019. See the list sorted by number of existent features.

  1. InterSystems IRIS 2020.3 - 59 features (https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls)
  2. Oracle Database 21c - 54 features (https://docs.oracle.com/en/database/oracle/oracle-database/index.html)
  3. Microsoft SQL Server - 45 features (https://docs.microsoft.com/en-us/sql/sql-server/?view=sql-server-ver15)
  4. AWS Aurora - PostgreSQL - 34 features (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/C




4
1 651
Question Lee Cascio · Jan 6, 2021

Since I'm just starting to use this aspect of IRIS I can't tell if this is a bug or some kind of nuance.  If I run a single column query like this, I get results:

However if I try to retrieve using a DISTINCT or GROUP BY, I get no results:

And again except with a GROUP BY, with no results:

If I add in some other columns I still get no results HOWEVER, if I add in a date column, I now get results:

What am I missing here?  Is this by design and if so, what governs whether a return set is returned or not?  I did purge my query cache in case something was happening there but it did

2
0 428
Article Renan Lourenco · Jan 12, 2021 2m read

Tiny web application that allows you to anonymize CSV files. Based on InterSystems IRIS®

Version:store/intersystems/iris-community:2020.3.0.221.0

Application

Sample CSV where Date of Birth and Sex will remain untouched, while the rest should be anonymized.

The application recognizes the header columns and allows the user to chose which ones to ignore.

After processing.

after

Setup

Make sure you have Docker up and running before starting.

Option 1

Recommended in case you just want to get the application up and running.

docker run --name anonymizer --publish 9091:1972 --publish 9092:52773 rlourenc
0
0 353
Discussion Eduard Lebedyuk · Jan 10, 2021
To start the year let's have a round of CodeGolf!

You know the drill. Shortest solution wins.

Print a size ascending range of Diamonds using the numbers 1 to 9, ranging from size 1 to size N, each diamond separated by a blank line.

A size 1 diamond should look like this, a single centered 1:

         1

With the size N=9 diamond looking like this:

         1
        121
       12321
      1234321
     123454321
    12345654321
   1234567654321
  123456787654321
 12345678987654321
  123456787654321
   1234567654321
    12345654321
     123454321
      1234321
       12321
  
19
0 618
Announcement Nikolay Solovyev · Jan 11, 2021

We released a new version of ZPM (Package Manager)

New in ZPM 0.2.10 release:

1) FileCopy

Added some improvements to already existing tag FileCopy

Example of module.xml


<?xml version="1.0" encoding="UTF-8"?>
<Export generator="Cache" version="25">
  <Document name="test-binary.ZPM">
    <Module>
      <Name>test-binary</Name>
      <Version>0.0.1</Version>
      <Packaging>module</Packaging>
      <SourcesRoot>src</SourcesRoot>
      <FileCopy Name="lib" Target="${libdir}my-lib"/> <!-- Copies content of lib folder to target -->
      <FileCopy Name="somefile.jar" Target="${libd
2
0 351
Article Eduard Lebedyuk · Jan 12, 2021 1m read

DataGrip is a multi-engine database environment targeting the specific needs of professional SQL developers, DataGrip makes working with databases an enjoyable and productive experience.

To work with InterSystems IRIS from DataGrip you'll need to add InterSystems JDBC driver first (once per DataGrip) and after that add all your InterSystems IRIS connections.

Part 1: Add InterSystems IRIS JDBC Driver

1. Go To File → DataSources

2. Go to + → Driver

3. Set Driver properties:

  • Name: InterSystems IRIS
  • Class: com.intersystems.jdbc.IRISDriver
  • Add JDBC Driver file: path to /<IRIS>/de

0
0 890
Question Allison Womack · Dec 15, 2020

In 2020 we implemented HealthConnect as our HL7 interface engine.  Having completed this, we are currently evaluating whether it would be beneficial to migrate our managed file transfers from our current MFT software, MOVEit to HealthConnect.  I am interested in hearing from any InterSystems customers who have previously used MOVEit and currently using HealthConnect for file transfer managment.  Any feedback would be appreciated.

2
0 381
Announcement Anastasia Dyubaylo · Dec 28, 2020

Hi Community,

We're pleased to invite you to the online meetup with the winners of the InterSystems Analytics Contest!

Date & Time: Monday, January 4, 2021 – 10:00 EDT

What awaits you at this virtual Meetup? 

  • Our winners' bios.
  • Short demos on their applications.
  • An open discussion about technologies being used, bonuses, questions. Plans for the next contests.

3
0 456
Question Eduard Lebedyuk · Jan 2, 2021

I have an SQL text index defined like this

Index TextIndex On (Text) As %iFind.Index.Basic(IGNOREPUNCTUATION = 1, INDEXOPTION = 0, LANGUAGE = "en", LOWER = 1);

If I run a query like this:

SELECT
Text
FROM Post
WHERE %ID %FIND search_index("TextIndex",'ABC')

I get 20 results with posts containing the term ABC.

But each post can contain the term ABC several times.

Is there a way to get a total count of ABC term?

Is there a way to get a count of ABC term in each Post?

13
0 559
Question Sinon Galvin · Jan 4, 2021

Under the previous python binding method (Cache) it was possible to pass in parameters, execute a class query,  and fetch the result sets. I have been unable to find a way to do this via PYODBC or the Native API (perhaps I am just missing something).

My work around is to create a SQLquery string and execute it through a cursor. I would much prefer to simply execute the debugged and more secure class queries that already exist and and have been precompiled. 

Any pointers would be greatly appreciated

Thanks,

Sinon

10
0 856
Question ilya andreyev · Dec 21, 2020


 We are using Native .NET API from IRISProviderCore21 package, inside .NET Core app, and having issue when trying to call function that takes instance of the class as parameter. The server is IRIS 2020.1.0.217.1

 In a nutshell, the code looks like this:

            // Create instance of the parameter class, proxy object

            var paramObject = iris.ClassMethodObject("MyParameterClass", "%New") as IRISObject;

           paramObject.Set("property", "value");

           var irisResult = iris.FunctionObject("MyFunction", "MyRoutine", paramObject);

  at last line, we are getting excepti

2
0 306
Article Yuri Marx · Jan 4, 2021 2m read

Big Data 5V with InterSystems IRIS

See the table below:

Velocity: Elastic velocity delivered with horizontal and vertical node scaling
Enablers
: Distributed memory cache, Distributed processing, Sharding and Multimodel Architecture
https://www.intersystems.com/isc-resources/wp-content/uploads/sites/24/… and https://learning.intersystems.com/course/view.php?id=1254&ssoPass=1
Value: exponential data value produced by Analytics and IA
Enablers
: BI, NLP, ML, AutoML and Multimodel Architecture
https://docs.intersystems.com/irislatest/csp





0
1 602
Question Archunan K · Jan 3, 2021

Hi All,

In earlier cache version, I can see full data values in SQL management portal.

But IRIS restricted the view only to 100 chars.

"If the data in a field is longer than 100 characters, the first 100 characters of the data are displayed followed by an ellipsis (...) indicating additional data." - From Documentation.

Is there a way to change this behavior ? I would like to see all the values in the particular SQL field.

Thanks in advance,

Archunan K

2
0 275
Question Scott Roth · Oct 14, 2019

I am currently evaluating Source Control systems that we can use for both MS SQL, MS Visual Studio, and InterSystems IRIS. For both MS SQL and MS Visual Studio we do have the option of either Azure or GitHub.  I understand when we upgrade to IRIS 2019.1 we have options for Source Control, and in previous Global Summit's I have heard GitHub discussed.  So why can't I user GitHub for both MS SQL/MS Visual Studio and IRIS?

A couple of questions come to mind starting to think about Source Control

  1. When integrating Source Control in an IRIS environment, is that source control just used for Code
7
1 1816
Question Graham Hartley · Nov 18, 2020

Hi,

I am trying to delete a HL7 standard schema i created by mistake however when i select delete in Studio i get the following:

The xml is as below:

<?xml version="1.0"?><Category name="WYT.2.4" std="1">...

i then remove the std so it becomes:

<?xml version="1.0"?><Category name="WYT.2.4">...

Then i get the error:

I have also tried exporting and importing the schema with the std part removed but still get an error.

We have IRIS 2020.1.

Any ideas?

Thanks,

Graham

2
0 382
Article Neerav Verma · Dec 24, 2020 1m read

There are couple of options to do this.

1. You can extend your class &JSON.Adaptor, it will do it for you with inbuilt logicaldtodisplay methods

2. Create another request class and do your transformations

3. Before calling the json convert to stream methods, transform the object's field with a ZDT.

---------------------------------------------------------------------------------------------------------------------------------------

I have an extremely simple example where there is a class with 3 properties

Class NV.Operations.FileOutbound.Data.P1 Extends (%Persistent, %Populate)
{
Prop



1
0 410
Article José Pereira · Dec 27, 2020 2m read

Hi guys.

That time I'll show you a way to use a machine learning model implemented using IntegradeML as source for an IRIS analytics cube dimension.

Creating the ML model:

Execute this SQL in order to create a new ML model using IntegratedML SQL extension:

CREATE MODEL AppointmentsPredection 
PREDICTING (Show) 
FROM (SELECT 
  Canal, 
  CreacionDate, 
  CreacionHora, 
  Edad, 
  Especialidad, 
  Latencia, 
  ReservaDate, 
  ReservaHora, 
  Sexo, 
  Tipo 
FROM dc_myapp_model.MedicalAppointments

Now, you can train you model:

TRAIN MODEL AppointmentsPredection FROM dc_myapp_model.MedicalAppointm

0
0 261