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

...
14
0 780
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 409
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 BusinessOperation {

 

2
2 573
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 383
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. 

I know that Business

1
0 197
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 313
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.org/www-project-top-ten

2
2 1916
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 934
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 357
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 211
Question Matjaz Murko · Jul 3, 2021

Hi.

Is it possible to convert the object of type %SerialObject to $List form? I'm using embedded class in unique index and I want to use autogenerated method Open to  access the object - parameter should be in $List form...

Tnx.

Regards,

Matjaž

9
0 459
Article Eduard Lebedyuk · Aug 12, 2020 3m read

Productions often need to receive REST requests.

Here's how to do that.

1. Create proxy Service:

/// Empty BS we would use to send Produciton requests
Class production.ProxyService Extends Ens.BusinessService
{
}

2. Add it to production as RESTService (or any other name).

3. Write your rest broker (docs, more docs)

4. In your handler method create the message and call target BP/BO like this

Include Ensemble
Class test.REST Extends %CSP.REST
{

XData UrlMap [ XMLNamespace = "http://www.intersystems.com/urlmap" ]
{
<Routes>
<Route Url="/launchProcess/:processName" Method="POST"
8
1 1159
Question Mark O'Reilly · Jul 1, 2021

Hi, I think it's a simple question this at the end of something fairly complex

I've a DTL to go to a target class in context 

I get the error CLASS DOES NOT callrequest=##class(context.ConnectDocumentRequest).%New()'

I attempted to add code to initate the context with 

set context.ConnectDocumentRequest =##class(Penn.EDT.Messages.ConnectDocumentRequest).%New()

I know there is something basic i am missing but have not seen covered in any tutorials i have done. 

I see an example using Assign I tried assigning my context as 

$CLASSMETHOD("Penn.EDT.Messages.ConnectDocumentRequest","%New")

What is it i am

1
0 348
Article Dmitry Maslennikov · May 11, 2020 5m read

When a company is quite large and many different applications used by employees. But while those applications are mostly completely different, how to make it possible to not force users to enter credentials as many times as many applications they would like to use. The best way is to use SSO, so, it will be possible to have a portal, where users could launch any application used in a company. There are many different ways how to give access to your application by using the SSO mechanism, and some of them are:

  • OAuth2
  • Kerberos
  • SAML

InterSystems already supports OAuth2 and can be quite easily deal with Kerberos. But I would like to discuss about using SAML (Security Assertion Markup Language).

2
5 2126
Announcement Anastasia Dyubaylo · Jun 22, 2021

Hi Community,

We're pleased to invite all the developers to the upcoming InterSystems AI Contest Kick-Off Webinar! The topic of this webinar is dedicated to the InterSystems AI programming contest.

During the webinar, we will demo how to load data into IRIS, how to deal with it using ODBC/JDBC and REST, and how to use special AI/ML features of IRIS: IntegratedML, DataRobot, R Gateway, Embedded Python, PMML.

Date & Time: Monday, June 28 — 11:00 AM EDT

Speakers:  
🗣 @Aleksandar Kovacevic, InterSystems Sales Engineer
🗣 @Théophile Thierry, InterSystems Intern
🗣 @Bob Kuszewski, Product Manager - Developer Experience, InterSystems  
🗣 @Evgeny Shvarov, InterSystems Developer Ecosystem Manager

1
0 430
Article Yuri Marx · Feb 23, 2021 2m read

I'm participating in the Developing with InterSystems Objects and SQL with Joel Solon. The course is very nice and I will share with you some tips I got during the training. Tips presented in the day 1:

  1. InterSystems IRIS unifies: InterSystems IRIS Database (Caché), IRIS Interoperability (Ensemble), IRIS Business Intelligence (DeepSee) and IRIS Text Analytics (iKnow).
  2. IRIS is multimodel: object, relational, document and multidimensional.
  3. Interoperable: native access from Java, .NET, other languages, like ObjectScript; ODBC and JDBC data access, SOAP/REST service access; message driven with
9
4 999
Article Sergey Mikhailenko · Jun 28, 2021 1m read

For a long time, we have been using a utility in production to export the result of a query to an Excel spreadsheet. Moreover, we have applied a modification of it, in which the explicit setting of column formats is a priority.

This utility used the module %SYS.ZENReportExcelExporter and is based on a java program. Every year the report grew and there was not enough java RAM, so we had to increase the value of the environment variable. The value has reached 7gb and now it has become a problem.

We decided to find and create a replacement for the utility.

2
0 546
Article Michael Braam · Jun 2, 2021 3m read

InterSystems SAM is a great tool to monitor your InterSystems IRIS and InterSystems IRIS For Health clusters on prem or in a cloud environment. This article describes how you can implement a customized alert handler. This is currently an undocumented and most likely an unknown feature of InterSystems SAM. With future releases it will be probably made easier to leverage this useful concept.

In the interest of shortness, I will only mention InterSystems IRIS in this article, but the following applies to InterSystems IRIS and InterSystems IRIS For Health. 

InterSystems SAM is a cluster of five

2
1 911