Article Robert Cemper · Jul 21, 2020 2m read

t's also an example for a customized command extension (ZZJSN) in Caché & IRIS

This is the Caché version for fast JSON formatting but it also works in IRIS.
Requires package ZPretty
To allow parallel existence in IRIS this is named ZZJSN

see:

USER>ZWRITE jsn  
jsn="{"Name":"Li,Robert K.","SSN":"672-92-9664","DOB":"1975-01-12","Home":{"Street":"986 Washington Blvd","City":"Boston","State":"PA","Zip":"95802"},"Office":{"Street":"6012 First Place","City":"Reston","State":"MT","Zip":"77739"},"Spouse":{"Name":"Avery,Zelda H.","SSN":"323-13-7437","DOB":"1943-03-27","Home":{"Street":"196 Main Dri
0
0 552
Question Amiram Kasos · Jul 21, 2020

Hi,

Recently I have encountered a new issue, more and more 3rd party applications move to the cloud.

Web-hooks incoming from their sites can no longer be identified using a known and fixed IP address, so our customer's security department blocks them.

In past similar cases we use to grant access in the customer's Fire-Wall to the specified IP address - this is no longer applicable.

Has anyone else encountered this problem ? do you have any ideas ?

Thanks

1
0 309
Article Robert Cemper · Jul 20, 2020 1m read

t's also an example for a customized command extension (ZZJSON) in IRIS

IRIS has a nice %JSON.Formatter class.
But for debugging it is not really handy.
see:

ZWRITE js1  
js1="{""Name"":""Cunningham,John C."",""SSN"":""294-11-9150"",""DOB"":""1933-01-08"",""Home"":{""Street"":""4249 Ash Street"",""City"":""Tampa"",""State"":""MD"",""Zip"":""30176""},""FavoriteColors"":\[""White"",""Red"",""Green""]}"   

so you proceed for the most simple case

set formatter=##class(%JSON.Formatter).%New()   
do formatter.Format(js1)  
{   
  "Name":"Cunningham,John C.",  
  "SSN":"294-11-9150",  
  "D
0
0 657
Job Mary Pion · Jul 20, 2020

Henry Elliott is currently recruiting for Sr. Developers with InterSystems technology stack experience including Cache, IRIS for Health, HealthShare, Ensemble. Experience in any of the following preferred: FHIR, AWS, VA VistA, APIs, RPCs. These are remote opportunities. Please send resume to Mary Pion- mpion@henrye.com or call me at 781-416-9915 to discuss further.

0
0 279
Article Robert Cemper · Jul 20, 2020 2m read

It is a classic Global Mapping exercise presenting ^SPOOL as Class / Table

Background

Device #2 named SPOOL dates back to the predecessors of Caché and IRIS
It was the first "%Stream" like option to buffer output before printing.
It is also the first and till today the most simple way of output redirection.

Solution

This is also an example of a mapped Global.
USE 2 redirects the output into the Global ^SPOOL

You can read the global manually or with some ancient utilities
or use this mapping to access it as class or a SQL table.

The structure of Spool

  • the global ^SPOOL is local to your nam





0
0 485
Question Mathew Lambert · Jul 20, 2020
We are using the mentioned password function and we need to know if is in line with the NIST recommendations regarding strength, https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf
 
Reading interystems docummentation is not 100% clear for me as it states "(See RSA Laboratories Public-Key Cryptography Standards #5 and Federal Information Processing Standards Publications 180-4 and 198-1 for more information.)"
1
0 1412
Question Carl Tawn · Jul 16, 2020

Hi,

I am attempting to set up a security role for our support team so they can have read access to the production and messages.

I have given the role RW rights on the resource associated with the database. However, when I log into Management Portal and select "Ensemble", the "Available Ensemble namespaces" list is empty.

What permissions do i need to set to be able to navigate to the production?

Thanks in advance,

Carl

Edit:

Just in case it is of any future use to anybody; adding R permission on %DB_CACHESYS and %DB_HSSYS solved the problem of not being able to navigate to the produc

8
0 1055
Article Renato Banzai · Jul 14, 2020 5m read

This is my introduction to a series of posts explaining how to create an end-to-end Machine Learning system.

Starting with one problem

Our IRIS Development Community has several posts without tags or wrong tagged. As the posts keep growing the organization of each tag and the experience of any community member browsing the subjects tends to decrease.

First solutions in mind

We can think some usual solutions for this scenario, like:

  • Take a volunteer to read all posts and fix the mistakes.
  • Pay a company to fix all mistakes.
  • Send an email to each post writer to review the texts from past.

My So

picture

11
2 599
Article Robert Cemper · Jul 19, 2020 1m read

The guide “Extending Languages with %ZLANG Routines”
Tells you all details you need to know to extend your programming language.
EXCEPT: How to do it in a clean way.

This example of a %ZLANGC00.mac may show a possible approach
to get an easy to overview and to manage setup.
With less than 50 lines of code you might not be affected.
But if your Studio shows close to 1000 rows or more you may get in troubles.

My recommendation is simple.
Instead of adding line-by-line commands and it's code
you isolate each command and its code into a separate Include file.

And what is left in your %ZLANG* Routines

0
0 342
Announcement Anastasia Dyubaylo · Jul 13, 2020

Hey Developers!

This week is a voting week for the InterSystems IRIS AI Programming Contest!

So, it's time to give your vote to the best AI- and ML-enabled solution on InterSystems IRIS!

🔥 You decide: VOTING IS HERE 🔥

 

How to vote? This is easy: you will have one vote, and your vote goes either in Experts Nomination or in Community Nomination.

5
0 448
Article Yuri Marx · Jul 13, 2020 2m read

Currently, the process of using machine learning is difficult and requires excessive consumption of data scientist services. AutoML technology was created to assist organizations in reducing this complexity and the dependence on specialized ML personnel.

AutoML allows the user to point to a data set, select the subject of interest (feature) and set the variables that affect the subject (labels). From there, the user informs the model name and then creates his predictive or data classification model based on machine learning.

It is not necessary to know about cognitive algorithms, since AutoM


4
5 535
Question Vivek Nayak · Jul 6, 2020

Hi Team,

When I tried to open ensemble in my system I got bellow error.

I have done lots of code in my local system but now not able to open the ensemble.

8
0 813
InterSystems Official Stefan Wittmann · Jul 1, 2020

GA releases are now published for the 2020.2 version of InterSystems IRIS, IRIS for Health, and IRIS Studio!

A full set of containers for these products are available from the WRC Software Distribution site, including community editions of InterSystems IRIS and IRIS for Health.

The build number for these releases is 2020.2.0.211.0.

InterSystems IRIS Data Platform 2020.2  provides an important security update with the following enhancements:

  • Support for TLS 1.3
  • Support for SHA-3

InterSystems IRIS for Health 2020.2 includes all of the enhancements of InterSystems IRIS. In addit

12
0 745
Article Renato Banzai · Jul 17, 2020 3m read

This is the second post of a series explaining how to create an end-to-end Machine Learning system.

Exploring Data

The InterSystems IRIS already has what we need to explore the data: an SQL Engine! For people who used to explore data in csv or text files this could help to accelerate this step. Basically we explore all the data to understand the intersection (joins) which should help to create a dataset prepared to be used by a machine learning algorithm.

Posts Table ( Provided by Intersystems Team )
Tags Table ( Provided by Intersystems Team )

picture

Our challenge demands to classify a post with t

0
1 369
Question Jonathan Anglin · Jul 16, 2020

I send ORUs to a process where a transform is applied before sending the message to a process where the routing is handled. A recent request was made that when OBR:25="D" the message is also be faxed with transforms that have some similarities to the original, but not exactly the same. I copied the DTC, made the alterations, and created a separate rule to handle it. However, when I run a message through with a "D" in OBR:25, it is only sent to the routing process once. Although I didn't see documentation to the contrary, I'm wondering if a message cannot be sent to the same target twice with d

3
0 334
Article José Pereira · Jul 17, 2020 8m read

Following up the previous part, it's time to take advantages for IntegratedML VALIDATION MODEL statement, to provide information in order to monitor your ML models. You can watch it in action here

The code presented here was derived from examples provided by either InterSystems IntegragedML Template or IRIS documentation, my contribution was mainly mashing up such codes. It's a simple example intended to be a start for discussions and future works.

Note: The code presented here is for explanation purpose only. If you want to try it, I developed an example application - iris-integratedml-monito

0
1 322
Article José Pereira · Jul 15, 2020 5m read

A few months ago, I read this interesting article from MIT Technology Review, explaing how COVID-19 pandemic are issuing challenges to IT teams worldwide regarding their machine learning (ML) systems.

Such article inspire me to think about how to deal with performance issues after a ML model was deployed.

I simulated a simple performance issue scenario in an Open Exchange technology example application - iris-integratedml-monitor-example, which is competing in the InterSystems IRIS AI Contest. Please, after read this article, you can check it out and, if you like it, vote for me! :)

Content

P

2
0 528
Article Bob Binstock · May 16, 2018 6m read

InterSystems supports use of the InterSystems IRIS Docker images it provides on Linux only. Rather than executing containers as native processes, as on Linux platforms, Docker for Windows creates a Linux VM running under Hyper-V, the Windows virtualizer, to host containers. These additional layers add complexity that prevents InterSystems from supporting Docker for Windows at this time.

We understand, however, that for testing and other specific purposes, you may want to run InterSystems IRIS-based containers from InterSystems under Docker for Windows. This article describes the differences b







12
6 4486
Question Eduard Lebedyuk · Jul 6, 2018

Let's say I have this simple script  file try.script

write 1
write 0

I can execute it in a terminal (csession) by calling:

csession cache < try.script

And I get the following output:

%SYS>
1
%SYS>
0

However I want to use a try catch block in my script:

try {
write 1/0
catch {}
halt

But as script is executed line by line, it's interpreted like this:

%SYS>
TRY {
      ^
<SYNTAX>
%SYS>

WRITE 1/0
^
<DIVIDE>
%SYS>

CATCH {}
^
<SYNTAX>
%SYS>

I know that I can write it all in 1 line, but I'd rather not do that. Is there a way to feed multiline stateme

8
0 1385
Question Thembelani Mlalazi · Jul 15, 2020

Lets say I have a serial Class A ,Serial Class B,Serial C and Persistent Class Ens.Request

Class SerialA Extends (%SerialObject, %XML.Adaptor) [ ProcedureBlock ]
{
      Property SerialB as SerialB  
     Property SerialC as SerialC
}
     Class SerialB Extends (%SerialObject, %XML.Adaptor) [ ProcedureBlock ]
{
    Property SerialB as %String
}

Class SerialC Extends (%SerialObject, %XML.Adaptor) [ ProcedureBlock ]
{
     Property SerialC as %String
}

Class PersistantClass Extends Ens.Request
{
     Property Record as SerialA
}

the produced xml looks like this  :

<Recor
4
0 386
Article Vasiliy Bondar · Jul 16, 2020 5m read

As you probably know, InterSystems IRIS has a mechanism for auto-generating methods. So, when you create an index in a class, you create methods that make your work easier. There is also a good article on Community that describes such methods.

Take, for example, IndexNameOpen(val), where IndexName is the name of the corresponding index. This method returns an object in which the value of this index corresponds to the value of val.

But this method is available only for unique indexes.

0
0 829
Question Oliver Wilms · Jul 15, 2020

I want to map global ^myUnitTests(ID)={Start}_"^"_{JOB} where {Start} and {JOB} are two properties and ID is determined by $Increment(^myUnitTests).

I defined this class but it will not compile:

Class UnitTest.Test Extends %Persistent [ StorageStrategy = NewStorage1 ]
{Property JOB As %String;Property Start As %String;Storage NewStorage1
{
<IdFunction>increment</IdFunction>
<IdLocation>^myUnitTests</IdLocation>
<SQLMap name="Map1">
<ConditionalWithHostVars></ConditionalWithHostVars>
<Data name="JOB">
<Delimiter>"^"</Delimiter>
<Piece>2</Piece>
</Data>
<Data name="Start">
<Delimiter>"^"</Delimiter>
<P

1
0 385