InterSystems IRIS

Syndicate content 44 

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:

Last reply 22 January 2020
0   0 2
110

views

0

rating

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 ***

 

+ 1   0 1
0

replies

214

views

+ 1

rating

If you are seeing this error during import: ERROR #6301 Line: 2 Offset: 118 This does not appear to be a Cache exported file, unable to import.

This error is caused by exporting from InterSystems IRIS and trying to import into Caché. If you plan on exporting from IRIS to Caché, you can use the following qualifier to export your classes so that Caché does not throw an error on import:

w $SYSTEM.OBJ.Export(<items>,<filename>,"/exportversion=cache2018.1")

Last reply 21 January 2020
+ 4   0 2
99

views

+ 4

rating

Hi Community,

New video, recorded by @Eduard Lebedyuk, is available on InterSystems Developers YouTube:

Python Gateway: Jupyter Support - extended

 

+ 3   1 1
0

replies

96

views

+ 3

rating

We have a situation where we want to save the patient photo (or any other attachment) received via FHIR to a persistent property without decoding it. When it is sent out again using FHIR is is stored in the encoded format and need not be encoded. We do not need to decode it for our application. We always use it on another system that retrieves it or saves it via FHIR and therefore it is always received or sent embedded in JSON.

0   0 2
0

replies

75

views

0

rating

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:

Last reply 20 January 2020
0   0 1
67

views

0

rating

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!

Last reply 20 January 2020
0   0 1
58

views

0

rating

Hi All, We have been using DeepSee which has been the integrated Analytic Dashboard built over Cache Cubes. It works fine but it's visual capabilities are limited and most probably is getting phased out. If I am not wrong, Tableau is the suggested alternative to DeepSee . It is expensive and a big and considerable shift from existing technology I wanted to get an opinion of the community as to these few key points - What other BI tools others have been using with IRIS and what have been their experience - For which tools are the best inbuilt support / api's avaialble in IRIS

Last reply 17 January 2020
+ 2   0 3
111

views

+ 2

rating

Hi Developers,

New video, recorded by @Benjamin De Boe, is already on InterSystems Developers YouTube:

Python and InterSystems IRIS

 

+ 3   1 1
0

replies

78

views

+ 3

rating

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.

+ 4   0 1
0

replies

91

views

+ 4

rating

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?

Last reply 16 January 2020
+ 1   0 1
96

views

+ 1

rating

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.

Top 10 Videos by Views in 2019
Video Views Watch Time (hours)
1

Active Directory Integration with LDAP

12 988 778,7
2 SMART on FHIR: The Basics 6 807 1 134,9
3 Building Modern Web Applications 6 733 570,5
4 Developing with FHIR - REST APIs 2 072 225,6
5 Create Your First InterSystems ObjectScript Code with IRIS Community, GitHub, Docker and VSCode 1 093 53,8
6 Sizing and Capacity Planning 1 019 92,4
7 REST API Design and Development 890 84,4
8 InterSystems Developer Community and Global Masters 886 7,1
9 Editing and Compiling ObjectScript using VSCode 698 22,8
10 Introducing InterSystems IRIS Data Platform 674 90,8

+ 2   1 1
0

replies

110

views

+ 2

rating

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

Last reply 16 January 2020
0   0 1
57

views

0

rating

I need to know if given package exists or not.

Currently found two solution - one doesn't work, another works but I don't like it.

 

Solution 1.

I started, of course, with %Dictionary package - it has PackageDefinition class after all.

However, %ExistsId returned 0 on packages that clearly do exist, so I went to %LoadData, it uses this macro to determine if the package exist:

Last reply 16 January 2020
0   0 3
70

views

0

rating

Hi Community,

Please welcome the new video on InterSystems Developers YouTube Channel:

⏯ Operationalizing "Machine Learning" Experiences From the Field

 

+ 1   0 1
0

replies

77

views

+ 1

rating

This repository is a go-public that builds on the already existing InterSystems-internal Convergent Analytics community and InterSystems-private MLToolkit repo (remains active and contains the most recent information for external ML Toolkit users - request memebership by writing us at MLToolkit@intersystems.com). This repo embraces more than ML Toolkit, we would like to host any discussions, publications, projects that add up in what we call convergent analytics approach. Welcome!

+ 1   0 1
0

replies

60

views

+ 1

rating

Hello, I need to use IRIS to connect to an MSSQL base.
It has to be done via ODBC, I can't use JDBC at this time by client option.

I am trying to use Microsoft Driver
libmsodbcsql-13.1.so.9.2

But I can't, my attempts result in:
Connection failed.
SQLState: () NativeError: [11001] Message:

I have done all DSN configuration, and my configuration is listed in SQL Gateway Connections. I know it's working, because when I run a test with isql I have the information that connects to the bank.

0   0 1
51

views

0

rating

In the previous part of this series, we saw how to include data in a portlet from within DeepSee. This used the built in data controller. In this part, we are going to be pulling in data from outside of DeepSee. This will include both information from within InterSystems IRIS and from the OS.

Why use this?

This is useful if you would like to create a dashboard that only contains information about your system. It is also useful if you want to display data about your system along side data that you have stored in DeepSee.

+ 2   0 1
0

replies

57

views

+ 2

rating

While and for are pretty similar, but sometimes you need to do a not recommended thing - change cycle boundaries.

In this situation while and for are different. For calculates boundaries once per run and while calculates boundaries on every iteration.

Consider this code sample:

set x = 5
for i=1:1:x {
     write "i: ", i,", x: ", x,!
     set x = x+1
}

You'll get this output:

Last reply 13 January 2020
+ 1   0 2
174

views

+ 1

rating

Last time we launched an IRIS application in the Google Cloud using its GKE service.

And, although creating a cluster manually (or through gcloud) is easy, the modern Infrastructure-as-Code (IaC) approach advises that the description of the Kubernetes cluster should be stored in the repository as code as well. How to write this code is determined by the tool that’s used for IaC.

In the case of Google Cloud, there are several options, among them Deployment Manager and Terraform. Opinions are divided as to which is better: if you want to learn more, read this Reddit thread Opinions on Terraform vs. Deployment Manager? and the Medium article Comparing GCP Deployment Manager and Terraform

+ 2   2 1
0

replies

147

views

+ 2

rating

In one of the projects, when we have ECP with 10 ECP application servers, from time to time we faced the issue when our journals fail to purge, due to open transactions. While we have about 100-150 GB journal files per day, it quite quickly became a big issue, and with mirroring a very big issue. Mostly we just rebooted our ECP Data server, so it searches rollbacks any transactions, but such process is too long, may steal a few hours. I did not find any way, how to get the list of the open transactions from one place from ECP Data Server. We just migrated our Data server to 2018.1.

+ 2   0 2
104

views

+ 2

rating

When using Related Cubes in InterSystems IRIS BI, cubes must be built in the proper order. The One side must be built before the Many side. This is because during build time for the Many side, it looks up the record on the One side and creates a link. If the referenced record is not found on the One side, a Missing Relationship build error is generated. The One side is going to be the independent side of the relationship, AKA the side of the relationship that is referenced by the Many side or the Dependent cube. For example: Patients contain a reference to their Doctor.

+ 1   0 1
0

replies

63

views

+ 1

rating