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.

2 0
1 229

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

0 4
1 938

Hi Community,

Please welcome the new video on InterSystems Developers YouTube Channel:

Operationalizing "Machine Learning" Experiences From the Field

https://www.youtube.com/embed/8yN-rh5g21s
[This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]

1 0
0 265

Is there a way to get dynamic object from iterator?

set arr=[1,2,3]
set iter=arr.%GetIterator()

I pass iterator several frames down and I'd rather avoid passing both the array and iterator, but for debugging I need to access original object in a situation where only iterator is available.

Is there a way to do it?

0 5
0 481

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!

2 0
0 342

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
0 343
Article
· Jan 13, 2020 1m read
Difference between while and for

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:

2 7
0 439

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.

3 0
0 521

Hello!

I am taking the 'Creating an InterSystems Class Definition' course, and the Exercices asks to open a Terminal from the Management Portal to create and interact with a new object. I didn't found how to acces tot the Terminal from the Management Portal, and the documentation I have seen doesn't help me... sad

0 11
0 823

Some readers of my previous article, Caché eXTreme for .NET - direct access to globals from C#, wondered if you could access information not just from the same instance in which you’re working, but also from another instance on the same computer, or from an instance located on another computer in the same local network. Some theorized, correctly, that this would be possible using the Enterprise Cache Protocol (ECP). In this article I’m going to show how it can be done.

1 0
0 792

Have you ever needed a math function but could not find what you needed and ended up writing your own? Look no further! ObjectScript-Math is here to solve all your math related function needs.

ObjectScript-Math is an Open Source library for ObjectScript Math functions. It is now available on Open Exchange. This library contains a mix of new functions that are not currently available and functions that are available. The existing functions will be wrapped for use from ObjectScript-Math so that all Math functions can have a central location.

This library will continue to grow, so give it a try and give your feedback!

Don't see what you are looking for? Please feel free to submit requests for additional functions or contribute code yourself!

3 0
1 453

I'm currently working with a developer to add IRIS/Caché functionality to his HL7 analysis tool that would allow its users to extract messages directly from the Ensemble message store. IRIS for Health Community Edition has been a great aid in debugging this, but I keep banging into the 5 connection license limit with Studio, the Management Portal, an IRIS terminal session and a client database connection using either ODBC or ADO.NET.

4 1
1 639

I've writing a short classmethod that extracts an HL7 message from EnsLib.HL7.Message by ID and returns it as a stream. It's to be called as a stored procedure via ODBC (or ADO.NET) to fetch messages into an application.

I'm not using an SQL query in the classmethod itself, but it will be called as part of an SQL query via ODBC, but I can't figure out how to set a custom SQLCODE and error text from within the classmethod that propagates back to the external application. I thought %sqlcontext would be useful for this, but it doesn't appear to do anything. Here's the class:

1 13
1 485

What is %SQLRESTRICT

%SQLRESTRICT is a special %FILTER clause for use in MDX queries in InterSystems IRIS Business Intelligence. Since this function begins with %, it means this is a special MDX extension created by InterSystems. It allows users to insert an SQL statement that will be used to restrict the returned records in the MDX Result Set. This SQL statement must return a set of Source Record IDs to limit the results by. Please see the documentation for more information.

Why is this useful?

This is useful because there are often times users want to restrict the results in their MDX Result Set based on information that is not in their cubes. It may be the case that this information may not make sense to be in the cube. Other times this can be useful when there is a large set of values you want to restrict. As mentioned before, this is not a standard MDX function, it was created by InterSystems to handle cases were queries were not performing well or cases that were not easily solved by existing functions.

6 0
2 661

Hi Team,

I want to save image/file using inter system iris web api.

I am sending file as Base64 formate in JSON object to api .and I want to save it at D/Images folder.

please refer below code that i was tried.

Obj.OrganizationLogoBase64--> has base64 value of image

Set decode = $System.Encryption.Base64Decode(Obj.OrganizationLogoBase64)

set file = ##class(%Stream.GlobalBinary).%New()

do file.Write(decode)

0 9
0 914
Article
· Dec 31, 2019 3m read
Portlets that use data from DeepSee


In the previous part of this series, we saw how to reference a web page that will enhance our dashboard experience. Now we will look into referencing data that is already in our cubes.

In this example, we will be referencing the controller object and we will be extracting data from it. This data will then be displayed as text in our Dashboard. In Part 5, we will show how to incorporate this data into other charting libraries.

2 0
0 255

Hi,

The class %JSON.Adaptor is very convenient,

I wonder if anyone faced the following scenario using it-

Exporting an object, that has a many to many relationship, and getting the details of the related objects.

For example, if we have three classes - Teachers, Students, and an intermediate class TeacherStudent .

The classes extend %JSON.Adaptor, and we would like to open a Student object, use %JSONExport, and get a JSON

That includes the details of the student and all the teachers that teach the student, something like:

0 6
0 535

Hi Developers!

Often we need to use relatively small arrays with constants, static arrays in algorithms, etc where we need to do something with each element of an array. There are several ways to deal with it in ObjectSctipt.

Previously I used to use globals, locals, PPG for this but not so long time ago figured out that %List is a way too handy.

Indeed, suppose we have an array of months and need to set up and use it in our code.

2 15
1 640