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

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
  • You also
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 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 1164
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 644
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 781
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 313
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 574
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 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 314
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 1918
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 358
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 1163
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 2129
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 1000