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

Announcement Anastasia Dyubaylo · Nov 11, 2021

Hi Community,

We are pleased to invite all the developers to the upcoming InterSystems Security Contest Kick-off Webinar! The topic of this webinar is dedicated to the Security contest.

We’ll discuss the aspects of Security Model implementation in InterSystems IRIS, the requirements, and what do we expect from participants of the Security contest. Also, we’ll answer all the questions related to the contest!

Date & Time: Monday, November 15 — 12:00 AM EDT

Speakers:  
🗣 @Andreas Dieckow, Principal Product Manager at InterSystems Corporation
🗣 @Evgeny Shvarov, InterSystems Developer Ecosystem Manager


3
0 390
Article Laurel James (GJS) · Oct 25, 2021 2m read

InterSystems technologies are renowned for their high performing databases, which support the systems and operations of many organisations. However a key ingredient to this success is the quality and maintainability of their code. 

The quality of code can impact everything from speed and ease of fixing bugs and making enhancements, to the overall performance of your organization and your ability to get ahead in the marketplace. 

By ensuring your code is maintainable, you can reduce approximately 75% of the systems life cycle costs*. This is why, at George James Software, the solutions we build are always straightforward and written in high quality code - because we know that this solid foundation can positively impact the rest of your organization. 

With a maintainable system you're able to reduce your overall maintenance as any issues that occur are significantly faster to identify and fix. This means you're free to allocate that time and budget to enhancements, enabling you to get the most value out of your applications and ultimately better support your organization. 

Keep an eye out for our next few posts about what a maintainable system looks like and the tools that can help you keep your code maintainable, in order to help you to reduce those maintenance costs.  

1
1 483
Question Juuso Lepistö · Nov 5, 2021

I'm trying to send a POST request to my REST API and I'm getting this error and most likely due the lack of experience, I have no idea how to fix this issue:  

"error": "ERROR #9406: Unexpected format for value of field, AlertText, using class base mapping",

            "id": "JSONImportError",

            "params": [

                "AlertText",

                "class base"

            ]

Am I missing something from my string definition?

Defined below as:

Class User.RESTComponents Extends (%Persistent, %JSON.Adaptor, %Populate)

{

Property AlertText As %String;

Here is my POST -m

4
0 588
Article Yuri Marx · Nov 12, 2021 1m read

The TOGAF is the The Open Group Architecture Framework. It provides an approach for planning, design, implement, deploy and govern your EA (Enterprise Architecture) projects.

The TOGAF has a concept called Building Block. It is any element that can be used, reused a executed to deliver value and new functions to the business.

In the picture above, I present to you the main IRIS building blocks to create fantastic apps.

To learn more about TOGAF and building blocks, see https://www.opengroup.org/togaf.

2
3 1561
Question Timothy Leavitt · Nov 9, 2021

I'm in a tricky situation where a new required property is being added to a class, along with an index on it. The existing data has nulls, so the index build fails. I can't run a query to update the rows where there are nulls, because it tries to use the index, which hasn't been built yet.

I realize that a valid workaround would be to remove the index, add the property, run the query to do the update, then re-add the index, but this feels overly messy (and doesn't fit well with my logic for incremental deployment). It would be nice if there was instead some way to make the update not use the

3
0 329
Announcement Olga Zavrazhnova · Nov 8, 2021

Hey Developers, 

We invite you to take part in the European Healthcare Hackathon 2021 which will take place on November 19-21 2021. Participation is free, the deadline for applications to the ON-LINE track is prolonged until 15 NOV.

We will have an InterSystems challenge there: "Innovate with FHIR". Prize fund in InterSystems track:

🥇1st place: 1500 EUR
🥈2nd place: 1000 EUR
🥉3rd place: 500 EUR
And we prepared prizes for ALL participants of our challenge!
Read the details about our challenge under the pic :) Are you in? Let us know in the poll below!

 

4
0 652
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 637
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 417
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 420
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. We squeezed every last bit of performance out of the Di

17
5 1744
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? When we called the stored procedure from the old ZEN Report or from the SQL Query f

0
1 374
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 547
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 e

6
0 1178
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.

objectscriptQuality allows you

1
1 511
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 359
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 188
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 344
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., across UI, database
7
1 425
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 319