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

Question David.Satorres6134 · Jul 20, 2021

Hi,

When for any particular reason I need to update a record and don't want to pull the triggers, the keyword %NOTRIGGER can be used. But I've been trying to do the same when I change the row using the object approach, but I can't find it. Anyone knows if it's possible to avoid pulling triggers when working with objects?

Sadly, the utility "DISABLE^%NOTRIGGER" doesn't seem to exist ;-)

Thank you,
David

2
0 352
Announcement Evgeny Shvarov · Jul 26, 2021

Hi Developers!

We had a set of technology bonuses for the InterSystems AI/ML contest.

And here is how projects collected it:

Project IntegratedML Python/R Gateway Embedded Python PMML Docker ZPM Unit Testing Online Demo Code Quality Article on DC Video on YouTube Total Bonus
Nominal 4 4 4 4 2 2 2 3 2 2 3 29
fhir-integratedml-example 4       2 2       2   10
ESKLP   4     2     3       9
cryptocurrency-rate-forecasting 4       2             6
iris_satellite_plantation     4   2        
0
0 205
Question Matjaz Murko · Jul 16, 2021

Hi.

I'm trying to serialize/deserialize an .PNG picture. After serialization in C# (using System.Text.Json.JsonSerializer) and sending it to IRIS it is deserialized with %JSONImport method and saved to %FileBinaryStream. File is created on server and can be normaly opened with Paint. But when I want to recall it in C# (serialization with %JSONExportToString and deserialization with System.Text.Json.JsonSerializer), I get an error "FormatException: Cannot decode JSON text that is not encoded as valid Base64 to bytes". Why %JSONExportToString does not encode stream as Base64 string and how to s

12
0 2179
Announcement John Murray · Apr 16, 2021

I'm pleased to announce a major release of the InterSystems Server Manager extension. It has gained a UI!

Read more at Open Exchange.

Right now version 2.0 is like an aircraft at the start of the runway (remember those days before COVID-19?), waiting for the control tower to give final clearance. Will you be an early adopter, downloading the VSIX from GitHub, installing it into your VS Code, and posting back here to confirm that we haven't left anything critical behind at the gate? Then I'll push the throttles forward, publish to Marketplace, and we'll all be on our way.

Server Manager 2.0 is my entry for the current contest. If you like it maybe you'll vote for me it. wink

6
3 678
Article Simon Sha · Mar 19, 2021 2m read

cAdvisor (short for container Advisor) analyzes and exposes resource usage and performance data from running containers. cAdvisor exposes Prometheus metrics out of the box. 

https://prometheus.io/docs/guides/cadvisor/

Prometheus is integrated in SAM. This makes it possible to leverage the cAdvisor metrics and expose them via Prometheus and Grafana.

Since cAdvisor listens on port 8080, which conflicts with the Nginx port, you can choose to change the Nginx port to accommodate that.

Configuration Steps:

1. Change nginx port.

modify nghix.conf:

    server {
        listen 9991; 

This allow



2
0 1510
Question Dr. Johan Bosch · Jul 11, 2021

Greetings

Reaching out the development community to understand if there is anybody out there whom have developed a financial transactional switch or stock exchange on Intersystems before.  If so please DM me on +27 66 243 1618.

Many thanks and Regards

Johan Bosch - Founder and CEO 

POLC Global

4
0 301
Article Sergey Lukyanchikov · Jul 22, 2021 11m read

Fixing the terminology

A robot is not expected to be either huge or humanoid, or even material (in disagreement with Wikipedia, although the latter softens the initial definition in one paragraph and admits virtual form of a robot). A robot is an automate, from an algorithmic viewpoint, an automate for autonomous (algorithmic) execution of concrete tasks. A light detector that triggers street lights at night is a robot. An email software separating e-mails into “external” and “internal” is also a robot. Artificial intelligence (in an applied and narrow sense, Wikipedia interpreting it differently again) is algorithms for extracting dependencies from data. It will not execute any tasks on its own, for that one would need to implement it as concrete analytic processes (input data, plus models, plus output data, plus process control). The analytic process acting as an “artificial intelligence carrier” can be launched by a human or by a robot. It can be stopped by either of the two as well. And managed by any of them too.

0
0 447
InterSystems Official Pete Greskoff · Jul 21, 2021

July 21, 2021 – Alert: Incorrect Query Results with Non-Standard ‘GROUP BY’ Query

InterSystems has corrected a defect that can cause incorrect query results. This defect affects:

  • All major releases and maintenance versions of InterSystems IRIS and InterSystems IRIS for Health, starting with 2019.1.0

A query block may encounter the defect only if it meets all the following conditions:

  • The query block contains a GROUP BY clause but does not include any aggregates, such as COUNT(*).
  • The SELECT clause includes a field that is not in the GROUP BY clause*, and the query block contains a
0
0 245
Question Huicai Wang · Jun 26, 2021

I want to achieve the same function as the management portal under the Utilities menu。

I wrote a studio.sourcecontrol menu tool. I want to use chrome to open the CSP page. Now I can open it to CSP, but the IP address is the intranet IP of the cloud server. How can I get the IP of the current studio connection?

Set Action=3
Set CompName = $p(InternalName,".CLS")
//Do ##class(%Studio.General).GetWebServerPort(.IP,.Server,.urlprefix,.ipport)
Set url= ##class(csp.csp.download).%GetParameter("CSPURL")
Set IP = $p($zu(54,13,$zu(54,0)),",")    // Intranet IP  。 I want to get the connection IP of the c

1
0 378
Question Kevin Pickering · Jul 14, 2021

Apologies if this isn't the correct forum but here goes..

I'm accessing an Intersystems database from MS SQL Server using Intersystems ODBC driver and using OPENQUERY statement to read metadata of tables using

SELECT * FROM OPENQUERY([<linked server name>], 'SELECT * FROM INFORMATION_SCHEMA.COLUMNS')

but I get an error message saying INFORMATION_SCHEMA.COLUMNS cannot be found.

Intersystems SQL documentation does reference this table so is there some other way to access this table or is it maybe a permissions issue?

3
0 824
Discussion Stephen Canzano · Jul 19, 2021

When I'm asked questions about SQL, I like Intersystems staff at the WRC, generally ask about the Query Plan.  My feeling is that even before you run a query you should examine the results of Show Plan to confirm that the code is going to give me the results in the manner I would expect.  If I expect it to leverage an index and I see that it is not then I go back and look at what I might have done incorrectly and try to re-write the query to get the index behavior I'm looking for.  To that end, there's a poll below to ask you if think moving the Show Plan button as the first button would be us

0
0 203
Article Lorenzo Scalese · Apr 15, 2021 6m read

Hi Developers,

Writing a script for the application deployment can be very interesting to ensure rapid deployment without forgetting anything. config-api is a library to help developers to write configuration scripts based on a JSON document.

Implemented features :

  • Set system settings.
  • Set security settings.
  • Enable services.
  • Configure namespaces, databases, mapping.
  • Export existing configuration.
  • All features are exposed with a RESTful API.

This library is focused on IRIS configuration to help applications deployment. So, config-api doesn't import\compile code feature, considering it should

19
0 1014
Question Ruth Berge · Jun 8, 2021

In a DTL to transform from HL7v2 to FHIR; select the code for the attending provider within a for each statement

<foreach property='source.AttendingClinicians()' key='st' >

<if condition='source.AttendingClinicians.(st).Code&apos;=""' >

<true>

<if condition='..In(source.AttendingClinicians.(st).IdentifierTypeCode ,"NPI","PNPI")' >

<true>

<trace value='source.AttendingClinicians.GetAt(st).Code' disabled='1' />

<assign value='source.AttendingClinicians.Code' property=' npicode' action='set' />

At compile get this error

Compilation started on 06/08/2021 21:30:03 with qualifiers 'k', usin

3
0 403
Job Neerav Verma · Jul 16, 2021

Hello fellow community members,

I would like to offer my services as an Intersystems Professional and am available to work on projects. 

I have more than a decade experience into  Intersystems stack of technologies including IRIS, Ensemble, Healthshare, Healthconnect, Cache Objectscript, Mumps, Zen, Analytics etc. with companies spread over US and UK  involved in multiple domains.

KEY SKILLS: 
Cloud Computing (AWS, MS Azure, GCP)
Intersystems Technology Stack (IRIS, Ensemble, Healthshare, Cache, Mumps, CSP,  ZEN, Analytics)
Databases (Modelling & Backend database design, SQL, PL/SQL 
SOAP & Res

0
0 318
Discussion Eduard Lebedyuk · Jul 8, 2021

Hey Community,

Here's a new CodeGolf challenge for you! Check the details in this post.

image

Task

You'll have to translate a string into a Pilot's alphabet (NATO phonetic alphabet).

Input:

If, you can read?

Output:

India Foxtrot, Yankee Oscar Uniform Charlie Alfa November Romeo Echo Alfa Delta ?

Note:

  • The set of used punctuation is ,.!?
  • Punctuation should be kept in your return string, but (original) spaces should not
  • Xray should not have a dash within
  • Every word and punctuation mark should be separated by a space ' '
  • There should be no trailing whitespace
  • Use this code to check the result length
32
2 733
Question Emanuel Lazar · Jul 5, 2021

 Native API  , IRIS 2019 regression vs Cache .Net provider 

1. checking the native API, with .net provider, from IS docs, I realize,

that it is not possible to wrap objectSricpt Class with .NET (C# for example) pure Class with it's methods/properties

and make pure instance syntax of: new myNetClass - as wrapper of irisClass.

as I realize, you can run  .Net Class , only with .Invoke or iris.ClassMethodVoid("class.name","method")

such syntax, cannot execute event driven on proprety change, let say, with it's build in mechanizm in .Net

2. IRIS 2019.

this version is missing the class IRI

18
0 372
Question Akshay Pandey · Jul 12, 2021

Hi All,

I have a requirement where I have to create a TIF file from base64 encoded string comes in HL7 message.

I am reading content and writing to %Stream.FileBinary after decoding and using ..Adapter.PutStream (EnsLib.File.OutboundAdapter) to create a file at operation. the file is getting created but its corrupted.

IS this even possible in cache? what is the correct way of doing this?

10
0 1161
Question Gary Marston · Jul 13, 2021

I successfully installed IRIS Community edition on my new RYZEN7 desktop. However when I try to start IRIS I get an error event that states IRIS cannot start due to too many cores. (I have 15 on this CPU).
So how do I resolve this? I do have to install the image onto a single core? Or how many cores can this version run on?

Any comments/suggestions or hysterical laughter will be very much appreciated.
Thanks,
Gary Marston

3
0 642
Question Jonathan Anglin · Jun 29, 2021

Hello All

I'm running into an issue performing UPDATES that I'm not getting on INSERTS. It's probably obvious, but I'm just not seeing it and could use a little help.

I'm going over an HL7 message and depending upon varying criteria, the relevent variables will get items added to them like the following:

Set patientId = pRequest.GetValueAt("PID:3")
Set sqlColumns = sqlColumns_",patient_id"
Set sqlValues = sqlValues_",?"
Set par($i(p)) = patientId

After compiling the variables, I check to see if accession number is found in the table.

set performInsert = 1
set performUpdate = 0
...
s
14
0 778
Question Aaron Vail · Jul 12, 2021

I'm close with this but I'm not sure how to grab JUST the GT1.3 data.  I know I can do a substring but finding the 3rd | is a tad tricky.  I've not been this deep in SQL for 15 years.

SELECT SUBSTRING(hm.RawContent, (CHARINDEX('GT1',hm.RawContent)), 50) as NameDesc
FROM Ens.MessageHeader as em, EnsLib_HL7.Message as hm
where em.Status = 'Suspended'
and em.MessageBodyId = hm.id

I expect it should flow like this...

SELECT UNIQUE SUBSTRING(RawContent, (FIND 3RD PIPE),(FIND 4TH PIPE) as NameDesc ....

1
0 311
Question Matjaz Murko · Jul 10, 2021

Hi.

How can I deserialize in C# JSON string created with %JSONExport - exported class includes property of type array of %String? Which type of property should I use in C# class to deserialize it properly (List<> doesn't work)?

Regards,

Matjaž

5
0 407
Article Yuri Marx · Nov 18, 2020 7m read

PEX is a new InterSystems IRIS feature to allows extends IRIS with existent features from Java or .NET.

It is possible create interoperability inbound and outbound adapters, business services (integrate from external to internal) and operations (integrate internal to external).

To create a PEX component it is necessary import .NET (InterSystems.EnsLib.PEX.*) or Java (com.intersystems.enslib.pex.*) packages and extends or implements the properly class.

In this article I will use my OCR Service. It has a PEX business Operation, see the code:

public class OcrOperation extends BusinessOperat
2
2 571