#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 Alexander Pelaez · Nov 5, 2021

Hello,

We are connecting to our client's Intersys database with python3.8 on our Ubuntu 20.04.2 LTS, we are having trouble gettin the intersys.pythonbind module to work.

We are able to install the intersystems_irispython-3.2.0-py3-none-any.whl but, when we try to run the code we always get:

Traceback (most recent call last):

  File "./get_well_life.py", line 4, in <module>

    import intersys.pythonbind

ModuleNotFoundError: No module named 'intersys'

Please could you tell us what may be going wrong?

Please also feel free to ask for any additional infomation.

Thanks and regards!

1
0 639
Announcement Anastasia Dyubaylo · Oct 26, 2021

Hi Community,

We're pleased to invite you to the online meetup with the winners of the InterSystems Interoperability contest!

Date & Time: Friday, October 29, 2021 – 12:00 EDT

What awaits you at this virtual meetup? 

  • Our winners' bios.
  • Short demos on their applications.
  • An open discussion about technologies being used. Q&A. Plans for the next contests.

5
0 419
Question Kamal Suri · Nov 5, 2021

I want to write some code differently to run on Primary, Backup and DR depending upon their status.

If its Primary then do something, if Backup then something else and if DR then do something different from both Primary and Backup.

   

This can identified whether a system is Primary or Not Primary by calling below method

w $SYSTEM.Mirror.IsPrimary()

1 means Primary and 0 means Not Primary. But a Not Primary member may be a backup or a Async DR or a Async Reporting.

How to identify if a system is a DR or Backup or Reporting?

4
0 422
Article Nigel Salm · Aug 18, 2021 15m read

Why I love ObjectScript and why I think I might love Python More

I was looking at the thread of messages on the topic of "Performance when constructing a comma-separated string", and I started writing a response but got distracted, the page refreshed, and I lost my text. I couldn't spend the time rewriting my response, so I started writing this document instead.

I started writing MUMPS at the beginning of my career. I wrote very tight and dense code blocks where exercises such as the string example were authentic challenges.

17
5 1753
Article Jean Millette · Nov 5, 2021 2m read

One of our apps uses a class query to support a ZEN Report and works just fine in that report, producing the expected results every time. We’ve since migrated to InterSystems Reports and noticed that, for a report using the same class query, 100s of extra rows with the same column values appear at its bottom.

We eliminated InterSystems Reports as the source of the problem by recreating the same “extra rows” issue with an Excel spreadsheet calling the same class query as a stored procedure.

What was the issue?

0
1 376
Question Nicola Sartore · Nov 4, 2021

I want to INSERT a record in a database using JDBC in  OBJECTSCRIPT. At the same time, I want to obtain the insert ID. Is there a way to achieve this using the SQL Outbound adapter?

My code is something like this now:


Property Adapter As EnsLib.SQL.OutboundAdapter;

set sql = " INSERT INTO Prenotazioni_CUP "_
                  " (ID, cf
                  " VALUES (SEQTAB.NextVal, ?) "
set status = ..Adapter.ExecuteUpdate(.rs, sql, pRequest.cfAssistito)

5
0 550
Question Nicky Zhu · Nov 3, 2021

Hi guys,

My client has a requirement to add a column of random numbers to the query result.

I wrote a function as below:

Class Utils.SqlUtility Extends %RegisteredObject
{

ClassMethod GetSomeNumber(intInput As %Integer) As %Integer [ SqlName = GetNumber, SqlProc ]
{
    Return $R(intInput)
}

}

But in the returned sql result, every row share the same value, as below,

SELECT Utils.GetNumber('456'),
ID, Citizenship, DOB, FirstName, Gender, IDNumber, LastName, PatientNumber, PhoneNumber
FROM CDR.Patient

How may I refactor the function or sql to make the random value really random on each of the rows?

Thanks.

6
0 1186
Article Daniel Tamajon · Sep 21, 2021 2m read

Hi community!

I want to introduce you a new powerful feature from our static code analyzer objectscriptQuality

Each time a new IRIS version is released, you need to prepare a roadmap for migration in which you need to spend a lot of time on testing to find where your code is not accomplishing with the newer version. Or maybe you need your code to be compatible with multiple IRIS or Caché versions.

You can now simplify the task running the analysis for the different IRIS and Caché database versions, so you will get the failing code before you start to test.

1
1 512
Question jennifer mccallum · Jun 10, 2021

Hi

We have ODBC 32bit Encryption working on our database with a SSLDEFs.ini file.  However 64 bit ODBC Encryption will not work and give generic error, same error if the ini file is not there for 32BIT.

We have copied the ini file to the 64bit folder?  Any ideas please?

thanks

2
0 360
Article Laurel James (GJS) · Nov 2, 2021 1m read

We're hosting our Deltanji and Serenji user group session tomorrow - there's still time to register, if you haven't already. 

We'll be showcasing some advanced features of Deltanjiand Serenji in VS Code with time for a discussion - so feel free to bring along any problems you need help solving or share your feedback on our tools. We'd love to hear your thoughts. If you're interested in our tools this is a great chance to hear what others have to say, as well as asking your own questions.

Date: Wednesday, November 3rd

Time: 11-12pm EDT / 3-4pm GMT.

Let us know you'll be attending on Eventbrite

We hope to see you tomorrow, but if you're unable to make it you can email me at laurelj@georgejames.com and I can share a recording of the session. 

 

0
0 189
Question Mikhail Khomenko · Nov 1, 2021

Hello everyone,
I'd like to export Ensemble globals, but without Ensemble messages, this way:

^^database>s list("Ens*.gbl,'Ens.Message*.gbl")=""
^^database>write $SYSTEM.OBJ.Export(.list, "/tmp/globals.xml")

Documentation says that it could be done by adding an apostrophe, but it doesn't work for me - all Ens* globals are still exported.
What I'm doing wrong? Thanks!

9
0 346
Discussion Timothy Leavitt · Oct 19, 2021

Hi Developers! As part of an internal company hackathon at InterSystems, I'd love community feedback on a few topics. Feel free to chime on any/all of these via comment or direct message to me.

  1. If you were to launch a new application/project, what problems would you need to solve right off the bat? What technologies would you use? Why?
  2. What are the most common and repeated problems that you find yourself solving?
  3. Where in InterSystems' technologies do you spend most of your time?
  4. In a solution you have recently implemented, how were your time/efforts allocated? (e.g.
7
1 429
Question Javier Delgadillo · Oct 26, 2021

Hello - basic question.  Looking for sample code to parse inbound ACK messages.  Messages are coming in a SOAP envelope.  The ACKs will have MSH/MSA/ERR segments (other segments for QBP messages down the road).   Looking at common, established way(s) to parse the messages HS would be a great help to get started on this.  Thanks in advance.

2
0 321
Question Chip Gore · Oct 29, 2021

In specifying a "WHEN" condition statement, I don't seem to be able call a function directly from this declaration, as the generator seems to get confused

In the graphical editor:

%request.GetValue("MRN"))=123453

(%request.GetValue("MRN"))=123453)

In the DTL directly: 

<when condition="(%request.GetValue(&quot;MRN&quot;))=123453)">

<when condition="(%request.

2
1 427
Article Yuri Marx · Oct 29, 2021 6m read

Zachman Framework

The Zachman Framework™ is an ontology - a theory of the existence of a structured set of essential components of an object for which explicit expressions is necessary and perhaps even mandatory for creating, operating, and changing the object (the object being an Enterprise, a department, a value chain, a “sliver,” a solution, a project, an airplane, a building, a product, a profession or whatever or whatever). Source: https://www.zachman.com/about-the-zachman-framework.

0
2 534
InterSystems Official Benjamin De Boe · Jun 14, 2021

InterSystems is very pleased to announce the 2021.1 release of InterSystems IRIS Data Platform, InterSystems IRIS for Health and HealthShare Health Connect, which are now Generally Available to our customers and partners.

The enhancements in this release offer developers more freedom to build fast and robust applications in their language of choice, both server-side and client-side. This release also enables users to consume large amounts of information more effectively through new and faster analytics capabilities.

28
1 1955
Question Leonardo Carvalho · Oct 28, 2021

Hello everybody

I'm trying to send a XML file in a form-data like this, but is not working. Can anyone help me with the code?

This is my code:

Set HttpRequest = ##class(%Net.HttpRequest).%New()
Set RootMIMEPart = ##class(%Net.MIMEPart).%New()
Set BinaryMIMEPart = ##class(%Net.MIMEPart).%New()

Set stream = ##class(%FileBinaryStream).%New()

Set stream.Filename = pRequest.file
Do stream.LinkToFile(pRequest.file)

Set BinaryMIMEPart.Body = stream

// I already used "application/x-www-form-urlencoded", "application/xml", "application/x-object" in Content-Type

Do BinaryMIMEPart.

4
0 1419
Question Norman W. Freeman · Oct 29, 2021

I have a workstation with a CACHE instance up and running.

On that same workstation there is also an instance of IRIS (fresh install). I would like to migrate manually the CACHE database to IRIS (ideally, all globals, routines and classes).

What I tried is to copy C:\InterSystems\Cache\mgr\CACHE.DAT to C:\InterSystems\IRIS\mgr\IRIS.DAT (after shutting down both instances) but it does not work.

I got the following message :(112) The service for the IRIS instance did not start.

Is there a better way ? (eg: using Portal or some API from command line).

6
2 1506
Question Alexey Maslov · Jun 21, 2021

Hi,

I've started active use ISC VS Code extensions about a half year ago, seem to be used to use, and started to enjoy them :)

The documentation promises the

    • integration with server-side source control etc

We were happy enough not to use, while used Studio Source Control menu to run some internal code checkup procedures. Is there any functional equivalent for this in VS Code: can I add custom menu items that should be backed with ObjectScript code to be started on server?

12
0 546
Article Eduard Lebedyuk · Nov 19, 2020 3m read

In this article, we will run an InterSystems IRIS cluster using docker and Merge CPF files - a new feature allowing you to configure servers with ease.

On UNIX® and Linux, you can modify the default iris.cpf using a declarative CPF merge file. A merge file is a partial CPF that sets the desired values for any number of parameters upon instance startup. The CPF merge operation works only once for each instance.

Our cluster architecture is very simple, it would consist of one Node1 (master node) and two Data Nodes (check all available roles). Unfortunately, docker-compose cannot deploy to several servers (although it can deploy to remote hosts), so this is useful for local development of sharding-aware data models,  tests, and such. For a productive InterSystems IRIS Cluster deployment, you should use either ICM or IKO.

3
1 834
Question Craig Regester · Oct 13, 2021

Good morning -

As we're starting to create more custom message classes to represent out JSON-based integrations, I was pondering how to implicitly grant SELECT privileges to a specific Security Role so they can utilize Message Viewer to search through the message history.

So if all of our custom JSON message classes are under OurParentPkg.Messages.REST.* (e.g., OurParentPkg.Messages.REST.AddPatientRequest and OurParentPkg.Messages.REST.AddPatientResponse), is there a method to ensure that our analysts can be granted the SELECT permission to anything created under OurParentPkg.Messages.

6
1 509