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

Question Eduard Lebedyuk · Sep 14, 2019

What's the best way to replace character groups?

I want not to remove character groups as $zstrip does but to replace them with whitespaces.

$translate needs explicit character list.

Effectively I want to remove any characters besides letters, numbers and a small (known) subset of punctuation characters, replacing everything else with whitespaces.

6
0 803
Question David.Satorres6134 · Sep 12, 2019

Hi all,

I recently discovered the Monitoring Activity Volume feature in IRIS and I was amazed by it. So, I put it to work in one of our productions. It is nice how easy it is to set up and all the possibilites that came with it.

But there's something weird: the numbers. Actually, one of the BP is stating a time of more than 6 seconds to process:

But it is not really possible, as our production is running at a pace of about 40 msg/second, being this one the first step. So my question is: how is this avg. duration calculated? What does this time include? Is it in seconds?

Thanks a lot,

6
1 443
Question Amit Prajapati · Sep 12, 2019

Hi,

I am implementing free search text box, which can search data in all columns of tables.

I have created DisplayName column by concatinating two column data with space.

SELECT TOP ALL FirstName||' '||LastName AS DisplayName, UserType, IsActive, RoleName, DOB FROM LISDB.ExternalUsers

Now, in where condition I want to do like search in DisplayName column but it not working.

I have tried both fn CONCAT and  || in like query but both are not working for me. 

If ((RefineSearchText'="") && ($Length($ZStrip(RefineSearchText,"<>W",""))>0)) {

        Set args($Increment(args)) = RefineSearchText
5
0 1884
Announcement Jeff Fried · Sep 10, 2019

Preview kits are now published via the WRC's preview download site for:

  • InterSystems IRIS 2019.1.1
  • InterSystems IRIS for Health 2019.1.1
  • HealthShare Health Connect 2019.1.1

The build number for these releases is 2019.1.1.608.0.

 

This is a maintenance release and includes changes in a number of areas, as described in the online documentation here.

It also includes three new features, described in the online documentation here:

  • Support for the InterSystems API Manager,
  • In-place conversion from Caché and Ensemble to InterSystems IRIS
  • X12 element validation.

 

This release also adds

0
0 442
Announcement Eduard Lebedyuk · Sep 10, 2019

Code golf is a type of recreational computer programming competition in which participants strive to achieve the shortest possible source code that implements a certain algorithm.

Here's a list of Code Golf competitions we had on Developers Community.

And some interesting challenges:

Did I miss something? Add more challenges in comments.

0
0 518
Article Eduard Lebedyuk · Sep 9, 2019 1m read

Just wanted to share my Zabbix template for monitoring InterSystems IRIS on Linux servers.

It monitors irisusr (configurable) memory consumption:

  • Virtual memory size
  • Percentage of real memory
  • Resident set size
  • Size of data segment
  • Size of code segment
  • Peak resident set size
  • Size of locked memory
  • Size of shared libraries
  • Peak virtual memory size
  • Size of pinned pages
  • Size of page table entries
  • Size of process code + data + stack segments
  • Size of stack segment
  • Size of swap space used

How to use:

  1. Check that you have Zabbix installed (I'm using version 4.2)
  2. Import template file:
  3. Add template to a server with
5
0 1615
Question Eduard Lebedyuk · Sep 8, 2019

Is there a way to set null in dynamic object without using %Set methods?

I have this method and I need to set NULL as, well, null and not string.

ClassMethod node(name) [ CodeMode = expression ]
{
{
    "name":(name),
    "content":($case(##class(%Dictionary.ClassDefinition).%ExistsId(name), $$$YES:"mycontent", $$$NO:"NULL"))
}
}
3
0 816
Announcement Jacquie Clermont · Sep 6, 2019

Hi Community,

Our latest issues of Developments  and Developments Healthcare Edition have been posted to the Developments Archive site, where you'll also find other previous issues. Learn about InterSystems API Manager, preview releases of InterSystem IRIS and IRIS for Health, and live webinars this month about how you can easily move your Ensemble or Caché applications to InterSystems IRIS. 
 

Optimize your investment in InterSystems technology by subscribing to these and other InterSystems publications.

0
0 285
Question Amit Prajapati · Sep 6, 2019

Hi,

I want to do ordering dynamically in Query. I mean to say that order by value will not be hard coded in query, it will be passed in parameter.

I have tried to it following way, but it is not working for me. Can you please advise me how can I achieve it?

In below code, Order by :objSearch.SortingField is not working.

Class Query.ExternalUsers Extends %Library.RegisteredObject [ ClassType = "", DdlAllowed, Owner = {_SYSTEM}, Not ProcedureBlock ]

{



Query Search(objSearch As LISSystem.ModelView.UserSearch) As %SQLQuery [ SqlName = ExternalUsersSearch, SqlProc ]

{

select * from (
7
0 421
Announcement John Murray · Sep 6, 2019

We've just published an update to the Serenji extension for VS Code. Starting with this version (3.0.7) you can now debug the code that implements your REST services. Here's a taster:

Read more about Serenji on Open Exchange.

0
2 555
Question Evgeny Shvarov · Sep 6, 2019

Hi Developers!

Suppose I have a project where I want to build an IRIS container with two different dockerfiles depending on goals.  How can I make it?

The issue is that docker-compose is looking for the file with name 'dockerfile'

Are there any #IF constrations in a dockerfile syntax? 

Commenting works but sometimes it's more than one line.

2
0 353
Article Nikita Savchenko · Jan 5, 2019 6m read

This article introduces InterSystems iKnow Entity Browser, a web application which allows to visualize extracted and organized text data mined from a large number of texts, powered by InterSystems iKnow technology, which is also known as InterSystems Text Analytics in InterSystems IRIS. Feel free to play with the demo of this tool or learn more about it on InterSystems Open Exchange.

I started the development of this project in late 2016. From now on, my iKnow Entity Browser is used around the world by those who use InterSystems technology in their stack and those who do text mining.

6
3 1340
Question Dmitrii Kuznetsov · Sep 1, 2019

OAuth server to be deployed on the IRIS learning cloud platform. Clients - one on the other instance of the learning IRIS server, the other client locally on my computer in the container docker.

Both clients get a seemingly correct link (through ##class(%SYS.OAuth2.Authorization).GetAuthorizationCodeEndpoint()) to the login request form:  

https://52773b-62955584.labs.learning.intersystems.com/oauth2/authorize?response_type=code&client_id=nHCv5A-u_5T1YAwk_tJ7xpi1ky-s2AnRQMaL6YHsUgU&redirect_uri=https%3A//52773b-99792125.labs.learning.intersystems.com/csp/sys/oauth2/OAuth2.Response.cls&scope=scop

3
1 1065
Article Richard Zimmermann · Aug 21, 2019 2m read

Hello everyone,
After some work with IRIS we want to share our ToolBox-4-Iris with you.

What is this about?

The ToolBox-4-Iris is an API for IRIS with a collection of handy and useful tools - features that are not available in IRIS, but greatly simplify application development. To save time and effort on the "typical tools" that every developer needs. This includes additional classes, individual methods or even more efficient macros, which are described in the respective packages.

Content

Macros
General ObjectScript macros, Status macros, National Language Support macros, and JavaScript macros.

Data

3
1 490
Article Ed de Moel · Aug 29, 2019 7m read

Some time ago, InterSystems introduced the concept of %DynamicObjects.
This feature is a powerful tool that makes it very easy to convert any string of JSON text to objects and vice versa.
However, in the work that J2 Interactive is doing for our customers, there are a couple of things that "need some tweaking".

Very often, we create REST services for our customers. Those services have a payload (in JSON format) that contains information that our customer expects in the form of an object that is proprietary to them.
We can easily convert that JSON stream to a %DynamicObject, but, if we try to

3
2 1381
Article Sabit Issakhan · Aug 29, 2019 3m read

Hello everyone! 

Recently I search how to convert Cyrillic to Latin with Cache Object Script, but didn't find anything and decided to write ourselves, 

So here code: 

//Create Class method

ClassMethod convertRussionToEnglish(word As %String)
{

   //add array of transliteration system
    Set convertArray = $LB(
        $LB("а","a"),$LB("б","b"),$LB("в","v"),$LB("г","g"),$LB("д","d"),$LB("е","e"),$LB("ё","e"),$LB("ж","zh"),$LB("з","z"),
        $LB("и","i"),$LB("й","y"),$LB("к","k"),$LB("л","l"),$LB("м","m"),$LB("н","n"),$LB("о","o"),$LB("п","p"),
10
0 1034
Discussion Evgeny Shvarov · May 1, 2019

Hi Community!

Sometimes I meet a method which accepts 10+ parameters.

And often I need only the 8th parameter  to  pass. And I call the method something like:

do ##class(Some.Feature).Method(,,,,,,,"flag")

And I don't like this method when I call it like this cause, you know, often I just miss the number of commas and raise some other flag I wanted.

How do you avoid this situations? 

If you meet such a code, how do you call it and sure that you didn't miss the number of ","?

What is a good number of parameters in a method and f you need to pass more parameters in a method what do you do?

27
1 1859