#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 Chad Severtson · Apr 12, 2023 8m read

Spoilers: Daily Integrity Checks are not only a best practice, but they also provide a snapshot of global sizes and density. 
Update 2024-04-16:
  As of IRIS 2024.1, Many of the below utilities now offer a mode to estimate the size with <2% error on average with orders of magnitude improvements in performance and IO requirements. I continue to urge regular Integrity Checks, however there are situations where more urgent answers are needed.

  • EstimatedSize^%GSIZE- Runs %GSIZE in estimation mode.   
  • ##class(%Library.GlobalEdit).GetGlobalSize(directory, globalname, .allocated, .used. 2)  -
5
5 2349
Discussion Scott Roth · Nov 28, 2023

With System Alerting and Monitoring (SAM) being deprecated in the near future..

  • What is everyone's go-to for Monitoring IRIS? 
  • What is readily available?
  • What is the cost surrounding it?

Just trying to get ideas floating around of what we might need to start looking at to satisfy IT leadership.

Thanks

Scott

10
0 618
Question Martin Staudigel · Apr 11, 2024

Hello community,

in addition to HL7 V2 interfaces mediated via TCP/IP, we have been implementing more and more HS.FHIRServer.Interop.Service based services that are addressed via port 57772.
We would like to secure access to the Management Portal now and have come up with a procedure that I would like to discuss.

1. The local server firewall only allows access to port 57772 for the IPs of the administration PCs (and some few other exceptions).
2.A REST service is introduced for access to FHIR endpoints, which listens on a different (accessible) port.

5
0 209
Discussion ALEX VY. · Apr 13, 2024

Dear All ,  As per the title, 

I was tasked to upgrade an old legacy system to run on Windows 11. 

I am having a problem with Cache mostly.

I have the version: VERSION 5.0.14 , BUILD 5702 , OBJECTS 5.0.5702.0 I would like to know if there is a way to run it on windows 11 somehow.

I know I am asking for a LOT.  Unfortunately, the provider of the suit is long gone, and I can't keep it on windows XP.  Let me know if there is an alternative way to get it up to date even with the lowest / more recent version. 
Thank you in advance for your time.

13
0 324
Question Padmaja Konduru · Apr 11, 2024

Hi,

I have created view from External table joins internal persistent table. Create VIEW worked but Select * from Viewxxx throwing error.

"References to an SQL connection must constitute a whole subquery"

https://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KE….

Could it possible to create view with external db table with local persistant table and to access it?

please suggest any thoughts on it..

Thanks,

2
0 155
Article Evgeny Shvarov · Aug 9, 2021 1m read

Hi developers!

Just want to share an old but always relevant best practice on namespaces changing @Dmitry Maslennikov shared with me (again).

Consider method:

classmethod DoSomethingInSYS() as %Status

{

set sc=$$$OK

set ns=$namespace

zn "%SYS"

// try-catch in case there will be an error

try {

// do something, e.g. config change

}

catch {}

 zn ns    ; returning back to the namespace we came in the routine

return sc

}

And with new $namespace the method could be rewritten as:

classmethod DoSomethingInSYS() as %Status

{

set sc=$$$OK

new $namespace

set $namespace="%SYS"

// do something

return sc

}

So! The difference is that we don't need to change the namespace manually as it will be back automatically once we return the method.

and we don't need try-catch (at least for this purpose) too.

5
0 849
Article Seisuke Nakahashi · Jan 10, 2024 5m read

[Background]

InterSystems IRIS family has a nice utility ^SystemPerformance (as known as ^pButtons in Caché and Ensemble) which outputs the database performance information into a readable HTML file. When you run ^SystemPerformance on IRIS for Windows, a HTML file is created where both our own performance log mgstat and Windows performance log are included.

2
3 826
Question Colin Nagle · Apr 11, 2024

Hello all,

If we have a global structured something like this:-

  1. ^test(1)="Dave^Engineer"
  2. ^test(2)="Bethan^Manager"
  3. ^test(2,"transferred")="2024-01-04"
  4. ^test(3)="James^Administrator"
  5. ^test(4)="Sophia^Marketing Executive"
  6. ^test(4,"transferred")="2023-11-20"

It is fairly straightforward to map, and from a reading perspective everything works fine, but when inserting/saving the "transferred" node is created even if the 'transferred' field is not set. Is there a way to populate the node only if the field mapped to it is set?

Thanks

Colin

2
0 218
Question KAMAL UDDIN AHMAD · Apr 1, 2024

Can someone please tell me like how we can retrieve SuperSessionID in classMethod ??

(for SessionID i now the syntax [Set SessionID ""_$get($$$JobSessionId)]  but for SuperSessionID i don't know.)

Now i want to use SuperSessionID instead of SessionID,  outside the package. 

Also one confirmation that "SessionID keeps same in entire message flow or it varies ?? i heard that SessionID may change in diff instances."

please explain me which ID keep unique (SessionID or SuperSessionID)  ??

I want to filter the message base upon that only...

1
1 219
Job Preston Brown · Apr 11, 2024

As a InterSystems HealthShare Developer, you will be a part of an Agile team to build healthcare applications and implement new features while adhering to the best coding development standards.

Your key responsibilities include:

  • Design and implement data integrations using InterSystems HealthShare/IRIS between HIE partners and internal On-prem/Cloud systems
  • Debug and fix defects in InterSystems HealthShare/IRIS related to HIE connected Healthcare participants
  • Develop XSLTs and DTLs to transform CCDA/FHIR/HL7 messages to and from Summary Document Architecture (SDA) format
  • Ensure systems
0
0 325
InterSystems Official Bob Kuszewski · Apr 11, 2024

The first developer preview of InterSystems IRIS 2024.2 and InterSystems IRIS for Health 2024.2 has been posted to the WRC developer preview site.  Containers are not available for this preview, but we’ll be sure to post them next time.

This is the earliest in the release cycle that we’ve ever posted a developer preview and there aren’t any “highlight” worthy features that are complete.  I’ll list them as they get closer to done in future preview releases.

Initial documentation can be found at these links below.

Availability and Package

0
0 235
Article Hiroshi Sato · Apr 11, 2024 2m read

InterSystems FAQ rubric

If the journal file is too large to be searched or filtered using the Management Portal, you can refer to it using the following two methods.

① How to use the ^JRNDUMP utility
② How to reference it in a program

================================================== ========== 

① Using the ^JRNDUMP utility. For example, if you want to select all records in the journal file that include the global reference ^ABC, do the following:

*Please execute all commands below in the %SYS namespace.

DO SELECT^JRNDUMP("C:\MyCache\mgr\journal\YYYYMMDD.001","","","^ABC",1)

If you want to select

0
1 491
Article Timothy Leavitt · Mar 24, 2020 5m read

This article will describe processes for running unit tests via the InterSystems Package Manager (aka IPM - see https://openexchange.intersystems.com/package/InterSystems-Package-Manager-1), including test coverage measurement (via https://openexchange.intersystems.com/package/Test-Coverage-Tool).

Unit testing in ObjectScript

There's already great documentation about writing unit tests in ObjectScript, so I won't repeat any of that. You can find the Unit Test tutorial here: https://docs.intersystems.com/irislatest/csp/docbook/Doc.View.cls?KEY=TUNT_preface

It's best practice to include your unit

23
2 2156
Question Stephane Devin · Apr 10, 2024

Hi,

I am using embeded python to utilize some pythonic library but i got a problem on my hand.
One of the python function i am using return multiple values

in python you would do something like that :

val1, val2, val3, = function(params)

In COS I got something like that :

lib = ##class(%SYS.Python).Import("lib")
val1 = lib.function(params)

And I don't know how to get the second and third values.
Is there a way to get them?

5
1 292
Question Alan Nguyen · Mar 21, 2024

Hello,

I have a variables X="1,4,6,8,9,12"  and I want to write a For loop with this variable in similar with the loop below:

For Y=1,4,6,8,9,12 {

  Write Y,!

}

Can someone help?  Thank you.

13
1 818
Article Davi Massaru Teixeira Muta · Apr 10, 2024 3m read

If you have system tables implementing the "VERSIONPROPERTY" functionality, you may encounter error 5800. This article explains how this error occurs and provides solutions to resolve the issue.

When version checking is implemented, the property specified by VERSIONPROPERTY is automatically incremented each time an instance of the class is updated (either by objects or SQL).

For example:

ClassMethod RunVersionChange() As %Status
{
    Set sample = ##class(dado.TblSample).%OpenId("42")
    Write !,"VERSIONPROPERTY value: "_ sample.VersionCheck
    
    Do sample.StatusSetObjectId("AL")
    DO
0
0 301
Announcement Larry Finlayson · Apr 10, 2024

Developing with InterSystems Objects and SQL – IN PERSON (Cambridge office) April 29-May 3, 2024   9:00am-5:00pm US-Eastern Time (EDT)

  • This 5-day course teaches programmers how to use the tools and techniques within the InterSystems development environment to build high-performance transactional applications. Learners build a complex application using an IDE, object-oriented design, SQL and unit testing.
  • This course is applicable for users of InterSystems IRIS Data Platform and Caché.
  • Many benefits are offered by being physically in the classroom with our instructors for a more
0
0 95
Discussion Vadim Aniskin · Apr 10, 2024

Hi Developers!

With InterSystems IRIS Cloud SQL recently becoming Generally Available, some of you may have had a chance to try it out. Or maybe you used it for your contest entry or during the EAP period. We're curious to learn what YOU think of it. So, have you already tried the new service InterSystems IRIS Cloud SQL

We have launched a new Ideas Portal category dedicated to this database-as-a-service (DBaaS) where we're looking for your ideas on how we can improve InterSystems IRIS Cloud SQL. 

Or share your experience with the service in the comments to this post. 

   

0
0 140
Question Michael Davidovich · Mar 21, 2024

Hello,

I have my server setup a resource server.  When a user calls our API they submit a bearer token as authorization and in our dispatch class AccessCheck() we validate the JWT using ##class(%SYS.OAuth2.Validation).ValidateJWT()

If I include a scope to check in that method I get the error Scope check may only be done on requesting client and I'm not sure what this means. The method works without include the scope and will let me know if I have an unsigned token or an expired token.  

I noticed that the implementation of the method calls Set

5
0 384
Question Kurro Lopez · Apr 9, 2024

Hi community,

I'm calling to a API that it is retrieving the content of a file as Content of response. I'm catching the binary but I need to convert this Stream to a Base64 string.

I'm trying to convert a %Stream.GlobaBinary to a Base64 string using the following code, but it doesn't work.

do stream1.Rewind()
set response = ""while 'stream1.AtEnd {
    set temp=stream.Read(4000)
    set temp=$system.Encryption.Base64Encode(temp)
    set response = response_temp
}

The content is not correctly converted to Base64

Also, I've tried to convert it as dynamic JSon and get the stream as base64

do s
6
0 683
Question Colin Brough · Apr 8, 2024

We are writing a custom Business Operation to interact with a downstream SOAP web-service. Classes for the SOAP operation were originally generated using the SOAP Wizard, then modified. This is functioning OK, but we'd now like to set the ReplyCodeActions setting on the operation and are struggling to make it visible via the management portal. How can we achieve this?

The classes are structured like this:

  • The Operation uses class TNHS.SOAPclassExtra
  • TNHS.SOAPclassExtra  Extends TNHS.SOAPclass
  • TNHS.SOAPclass  Extends Ens.BusinessOperation
  • Ens.BusinessOperation has a property ReplyCodeActions
1
0 239
Question Norman W. Freeman · Oct 30, 2023

The following code call the method of the same name as defined in the nearest superclass:

Class MyClass Extends%Persistent
{
  ClassMethod Foo()
  {
  }
}

Class SubClass Extends MyClass
{
  ClassMethod Foo()
  {
      do##super() // <----
  }
}

Not let's say I want to call Foo() super class method but from another method :

Class SubClass Extends MyClass
{
  ClassMethod AnotherMethod()
  {
      do##super().Foo() //will not work
  }
}

This is possible in some other programming languages such as C# or Java.

I cannot find anything in documentation

8
0 649
Announcement Rob Tweed · Apr 5, 2024

Hot on the heels of our announcement last week about our ultra-high-performance mg-dbx-napi JavaScript interface for IRIS, we are now pleased to announce a significant new technology - mg_web - which not only represents a new paradigm for JavaScript Web Frameworks, but also delivers significantly higher performance than even the fastest of the established Node.js Web Frameworks, whilst leveraging all the benefits of the big-three industry-standard Web Servers.

Designed with the use of mg-dbx-napi in mind, it's allows straightforward creation of robust, high-performance server-side JavaScript

1
3 362
Announcement Olga Zavrazhnova · Apr 8, 2024

InterSystems' team is heading to the MIT Hacking Medicine GrandHack 2024, taking place from April 19-21 2024!

MIT GrandHack is a premier event that brings together innovators, entrepreneurs, and healthcare professionals from around the world to collaborate on solving some of the most pressing challenges in healthcare through technology and innovation.

InterSystems is pleased to sponsor and support this event, offering our technology to hackers and presenting the "The GenAI in Healthcare" challenge.

We're excited to see the innovative projects that will arise from this event!

0
0 232