#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 Peter Steiwer · Feb 25, 2019 1m read

AnalyzeThis is a tool for getting a personalized preview of your own data inside of InterSystems BI. This allows you to get first hand experience with InterSystems BI and understand the power and value it can bring to your organization. In addition to getting a personalized preview of InterSystems BI through an import of a CSV file with your data, Classes and SQL Queries are now supported as Data Sources in v1.1.0!

4
0 680
Article Tony Coffman · Feb 6, 2020 1m read

Hello Community,

Thank you all for your continued feedback and support of our ad hoc reporting platform, VDM.  There's been some questions around setting up a non-ODBC connection for InterSystems platforms.  We published a new YouTube video showing the steps necessary to connect to InterSystems Caché and InterSystems IRIS with BridgeWorks VDM. 

 

0
3 292
Article Dmitrii Kuznetsov · Feb 4, 2020 16m read

When do implicit assumptions in code and arithmetic operators pose a real danger, and how can this danger be overcome?

Constantinople in the 5th century AD

Constantinople in the 5th century AD

(It was possible for people to build grandiose buildings and vehicles without the use of computers and robots 1,600 years ago.)

If you assign dimensionless numbers to physical parameters in your code, you risk misunderstandings and errors when calculating and converting between units of measurement.

4
0 606
Question Michel Liberado · Feb 3, 2020

Hi,

I have two namespaces

  1. In the first one, I have defined a class which Extends (%Persistent, Ens.Util.MessageBodyMethods), we'll call it NSOne.Msg.Req
  2. In the second namespace NSTwo, I want to use the previous class with something like SET pInput = ##class(NSOne.Msg.Req).%New()

I mapped the NSOne.Msg.Req package in namespace NSOne. In Atelier, I can see NSOne.Msg.Req in my NSOne. But, when I try to execute line 2 above, it tells me :

{
    "status": {
        "errors": [
            {
                "error": "ERROR #5002: ObjectScript error: <PROTECT>^NStwo.Api.1
2
0 589
Discussion Benjamin De Boe · Jan 9, 2020

Hi,

we're planning some work on our SQL Query Plan functionality for a future release of InterSystems IRIS and are interested to hear how you're using them today, or what'd keep you from using them. Rather than try and fit everything in a rigid survey, I thought a simple thread on our beloved DC might also reveal some use patterns that we support or could do a better job on. 

6
0 395
Article Steve Pisani · Feb 3, 2020 4m read

Hi All -   I want to share with the community a project I recently posted in OpenExchange, that extends on the Business Activity Monitoring features available with InterSystems IRIS’s integration  framework. I have called this REST Business Activity Monitoring, and is implemented via a set of zaux.rBAM.* classes. 

Background: Default IRIS Business Activity Monitoring functionality:             

First - some background for newcomers: For some time, IRIS (and previous products like Ensemble), provided developers with the ability to define classes that could expose metrics about the data flowing

0
0 295
Article Peter Steiwer · Dec 12, 2019 2m read

DeepSeeButtons is available on Open Exchange! This tool will generate a diagnostic report of your DeepSee environment.

The report consists of multiple sections. These sections range from System Details to Caché/InterSystems IRIS logs to Cube information. In addition to simply providing information about the environment, some common recommended configurations are checked. If a recommended configuration is not used, an alert is displayed highlighting that the environment configuration does not match the recommended configuration.

Many of these alerts have corresponding solutions in the DeepSee

1
0 553
Question Blaise ZARKA · Dec 19, 2019

Hi,

On a persistent class, I have defined an %OnNew method that validate some properties with appropriate status code for each kind of error. Question is: how do you catch the specific error when %New is called on this class?

Surrounding %New method with a try-catch not seems to work.

Thanks

8
0 672
Question Jonathan Anglin · Jan 28, 2020

I'm trying to tie IRIS (2019.1) into our Concord Fax cloud-based email-to-fax workflow. We have some sites that require a fax be sent to multiple locations based upon certain data (ie Radiology and Emergency departments). Unfortunately, CC-ing does not work with Concord Fax so I need a way to send the email, change the recipient, and then send it again if certain criteria are met. Is this possible? Do I need to duplicate and rename the method, calling the second one in the MessageMap?

Here's what my code currently looks like:

 

Code

 
/// Sends reports to the cloud-based Concord fax
2
0 311
Article Eduard Lebedyuk · Mar 14, 2018 10m read

Intro

For many in today's interoperability landscape, REST reigns supreme. With the overabundance of tools and approaches to REST API development, what tools do you choose and what do you need to plan for before writing any code? This article focuses on design patterns and considerations that allow you to build highly robust, adaptive, and consistent REST APIs. Viable approaches to challenges of CORS support and authentication management will be discussed, along with various tips and tricks and best tools for all stages of REST API development. Learn about the open-source REST APIs available for InterSystems IRIS Data Platform and how they tackle the challenge of ever-increasing API complexity. The article is a write-up for a recent webinar on the same topic.

5
6 3107
Announcement Sergey Lukyanchikov · Jan 22, 2020

InterSystems IRIS ML Toolkit adds the power of InterSystems IntegratedMLto further extend convergent scenario coverage into the area of automated feature and model type/parameter selection. The previous "manual" pipelines now collaborate within the same analytic process with "auto" pipelines that are based on automation frameworks, such as H2O.

Automated classification modeling in InterSystems IRIS ML Toolkit

3
1 626
Question Akshat Vora · Jan 21, 2020

I need to convert a JSON payload to a custom object type. Currently, I'm converting the JSON object to a %Library.DynamicObject object and need to proceed from here.

As of now, these are my options

                 1. Using an external library talked about in this link:

https://community.intersystems.com/post/binding-regular-cache-object-dynamicobject-and-vice-versa

Downside: Could be buggy (as admitted by the creator) + some other design concerns brought up in its the discussion thread

2.

4
1 1170
InterSystems Official Pete Greskoff · Jan 22, 2020

Updated 1/30/2020

*** The affected product versions have changed ***

*** The affected versions are Caché and Ensemble beginning with 2016.2.0.  ***

*** Caché and Ensemble 2016.1.0 is not at risk for this defect ***

InterSystems has corrected a defect that can cause database degradation in extremely rare circumstances. Associated problems may include, but are not limited to, incorrect or missing application data and system hangs.

This defect affects:

  • All versions of InterSystems IRIS and IRIS for Health
  • Caché/Ensemble versions beginning with 2016.2.0
  • All HealthShare products based on the above
0
0 485
Article Evgeny Shvarov · Jan 17, 2020 2m read

Hi Developers!

Recently we published on Docker Hub images for InterSystems IRIS Community Edition and InterSystems IRIS Community for Health containers.

What is that?

There is a repository that publishes it, and in fact, it is the same container IRIS Community Edition containers you have on official InterSystems listing which have the pre-loaded ObjectScript Package Manager (ZPM) client.

So if you run this container with IRIS CE or IRIC CE for Health you can immediately start using ZPM and install packages from Community Registry or any others.

What does this mean for you?

It means, that anyone can deploy any of your InterSystems ObjectScript application in 3 commands:

  • run IRIS container;
  • open terminal;
  • install your application as ZPM package.

It is safe, fast and cross-platform.

It's really handy if you want to test a new interesting ZPM package and not harm any of your systems.

Suppose, you have docker-desktop installed.  You can run the image, which wiil pull the latest container if you don't have it locally:

1
0 368
Article Evgeny Shvarov · Jan 18, 2020 2m read

Hi Developers!

Many of you are looking for samples on how to work with InterSystems IRIS Analytics, formerly known as DeepSee.

There is a Samples BI module with Patients and Holefoods examples which is available on Github with source code. The installation steps are clear but take time. 

Recently we added the option to run IRIS Community Edition containers with ObjectScript Package Manager (ZPM) on board. This simplifies the installation to the "run-one-command" step for the modules submitted to ZPM Community Registry. And thus we can benefit the Samples BI installation with ZPM.

And here is how you can run it on your laptop.  Let's go!

1
0 476
Discussion Raj Singh · Jan 6, 2020

Happy new year! I’m Raj Singh, InterSystems’ product manager for Developer Experience and  I’d love your feedback on how you use IDEs today and your thoughts for the future.

We understand you depend on a solid, intuitive and flexible IDE from InterSystems - whether you are an ObjectScript expert or new to it; whether ObjectScript is at the core of your applications, or you develop more in Java, Python, C# or Node.js.

21
0 768
Article Eduard Lebedyuk · Jan 16, 2020 2m read

This series of articles would cover Python Gateway for InterSystems Data Platforms. Execute Python code and more from InterSystems IRIS. This project brings you the power of Python right into your InterSystems IRIS environment:

  • Execute arbitrary Python code
  • Seamlessly transfer data from InterSystems IRIS into Python
  • Build intelligent Interoperability business processes with Python Interoperability Adapter
  • Save, examine, modify and restore Python context from InterSystems IRIS

Other articles

The plan for the series so far (subject to change).

Intro

The Jupyter Notebook is an open-source web application that allows you to create and share documents that contain live code, equations, visualizations and narrative text.

This extension allows you to browse and edit InterSystems IRIS BPL processes as jupyter notebooks.

0
0 735
Question Eduard Lebedyuk · Jan 15, 2020

How do I rename class programmatically?

This discussion touches on data move which, is not a concern in my case (BPL renames).

I also don't care about external references.

The best I got is:

  1. Get class text as string
  2. Replace class name in this string
  3. Save new string as new class
  4. Open new class as object
  5. Delete storage
  6. Compile class

Are there any better alternatives?

Also found this discussion.

5
1 639
Announcement Anastasia Dyubaylo · Jan 16, 2020

Hi Community,

2019 was a great year full of video content for InterSystems Developers. Already 200 Videos on our InterSystems Developers YouTube Channel, and the number of subscribers has doubled since the previous year!

Almost 57K Views and 5,1K hours of Watch Time in 2019! Thank you, our dear subscribers, so we understand that our video channel is valuable to you!

Now let's take a closer look at the most popular videos on InterSystems Data Platforms over the past year.

0
1 262
Question Dmitry Maslennikov · Jan 16, 2020

When I tried to migrate one of ZEN applications to IRIS from 2018.1 I'm faced with the issue with Login Page, in this case used some ZEN page, completely customized. But when a user tries to get access, he gets the error like below.

The requested URL /csp/user/User.Login.cls was not found on this server.

I tried to test it with a fresh just created login page class

Class User.Login Extends %CSP.Page
{ 

ClassMethod OnPage() As %Status
{
  &html<<h1>Hello</1>>
  Quit $$$OK
} 

}

Set it to /csp/user application as Login page, and

$ curl http://localhost:32784/csp/user/menu.csp
<HTML><HEAD>
4
1 1060