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

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 450
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(*).
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  。

1
0 384
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 836
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.

0
0 204
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.

19
0 1024
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.

3
0 405
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.

0
0 319
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 IRISObject  ?

18
0 373
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 1168
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 647
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
.
14
0 785
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 318
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 412
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.

2
2 575
Question Paul Price · Jul 2, 2021

Newly created routines aren't showing up in the list for a namespace, even using the refresh button.

I checked the ^ROUTINE global and the newly created routine is there. Also, I can zload it and zprint it in the namespace. 

Is there another global that is not being populated that vscode uses to build the list?

14
0 384
Question Paul Dawson · Jul 6, 2021

I am attempting to prevent ADT merge messages from coming into Healthshare if the MRN being merged does not exist. To my mind, the best way to do this would be to check the PriorPatientIdentifierList.IDNumber against the HS.SDAStreamletMRN global. However, I'm not able to get it to work in Business Rule classes. 

Something like:

<when condition="$G(^HS.SDAStreamletMRN('MRN','Facility^AssigningAuthority^'_(Document.{MRG:PriorPatientIdentifierList(1).IDNumber}))=(&quot;&quot;))">

    <return></return>

However, I'm not able to have the business rule fire without a general error.

1
0 198
Question Renan Santos · May 26, 2021

Hey guys,

I have a problem when creating a remote database (via ECP), when I select the remote directory field it presents the error below:
"There was an error on the server:
ERROR # 179: An unexpected error has occurred:
<DIRECTORY>zRemoteDatabaseListExecute+52^SYS.Database.1.*:ds:IRISTEMP
ORIGIN ELEMENT:% CSP.UI.Component.remoteDatabaseSelect (DirectororySelect)
"

Has anyone ever experienced this?

1
0 316
Article Yuri Marx · Mar 13, 2021 5m read

Hi Community,

Did you know about OWASP and Top Ten Web Application security risks to your Web API or Web Apps?

OWASP is a community foundation created to help us to improve the security of web apps/web APIs. OWASP do the web apps more secure through its community-led open source software projects, hundreds of chapters worldwide, tens of thousands of members, and by hosting local and global conferences.

To summarize the top procedures to do your web app/web api more secure OWASP published the "Top 10 Web Application Security Risks" recomendations, see (source: https://owasp.

2
2 1920
Article Fabiano Sanches · Feb 18, 2021 2m read

I'm glad to announce we have recently released our second Starter Pack. This one is for the Mining Industry, and the first was for Industrial IoT (OEE).

But what does it exactly mean?

InterSystems IRIS Starter Packs (thanks to Joe Lichtenberg that helped with this text)

InterSystems IRIS Starter Packs are codebases built by an InterSystems partner using InterSystems IRIS Data Platform that shortens the time to develop a complete application that addresses a specific industry or technology challenge. It is not a completed application.

2
0 937
Announcement Evgeny Shvarov · Jul 6, 2021

Hi Developers!

Here're the technology bonuses for the InterSystems IRIS AI contest that will give you extra points in the voting.

IntegratedML usage - 4 points

Use InterSystems IntegratedML in you AI/ML solution. Here is the template that uses it.

Be sure that the IRIS version is not less than 2021. The latest ML images with ZPM are:

intersystemsdc/iris-ml-community:2021.1.0.215.0-zpm
intersystemsdc/irishealth-ml-community:2021.1.0.215.0-zpm

R Gateway and Python gateway usage - 4 points

InterSystems IRIS 2021 release contains two new features - R gateway and Python gateway. Here is the template on how to use the R gateway. Here is a short demo of how to use it.

Embedded Python usage - 4 points

Embedded Python is a very new feature of InterSystems IRIS that gives you the option to use python as a "first-class citizen" in backend business logic development with InterSystems classes. Short demo of Embedded Python.

Embedded python could be used in "on-demand" images that could be delivered via InterSystems Early Access Program (EAP) if you refer to python-interest@intersystems.com.

Here is the template package on how to use Embedded Python deployable with ZPM. Don't forget to change the image to the one you get from the Early Access program.

PMML usage - 4 points

PMML  - Predictive Modelling Markup Language - can be used to build AI/ML solutions with InterSystems IRIS. Check with documentation.

There is an example in Open Exchange on how to use PMML.

0
0 368
Announcement Anastasia Dyubaylo · Jul 5, 2021

Hey Developers,

We have some good news for you:

💥 InterSystems AI contest participants can use Embedded Python in their solutions! So if you are not yet a member of the Embedded Python Early Access Program (EAP), now is the time! 

Refer to python-interest@intersystems.com and you'll get FREE access to the InterSystems IRIS Embedded Python features.

In addition, we invite all EAP participants to the special Embedded Python kick-off webinar tomorrow, July 6 at 10:00 AM EDT – an easy start on how to use Embedded Python! Demonstration of the new features of the data platform, examples applications, and of course rewards. 

After you become an EAP member, you will receive a special link to join the kick-off webinar:

➡️ RSVP: python-interest@intersystems.com

1
0 359
Discussion Surya Prakash · Jul 6, 2021

Hi All,

I have to do intersystems iris objectscript code vulnerability scan.  I tried in synck vulnerabilities but it's not supported for the xml file. Can someone guide me? Anyother tools are there to do this?

1
0 212