#InterSystems IRIS

19 Followers · 5.5K 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 Evgeniy Potapov · Dec 5, 2023 6m read

In today's digital age, effective data management and accurate information analysis are becoming essential for successful enterprise operations. InterSystems IRIS Data Platform offers two critical tools designed to provide convenient data management: ARCHITECT and ANALYZER.

ARCHITECT: ARCHITECT is a powerful tool created for developing and managing applications on the InterSystems IRIS platform. A vital feature of ARCHITECT is the ability to produce and customize complex data models. It allows users to handle the data structure with flexibility to meet the specific requirements of their appli

C:\Users\kc\Documents\ShareX\Screenshots\2023-10\kORkND6poO.png

1
1 663
Article Tomoko Furuzono · Dec 14, 2023 1m read

InterSystems FAQ rubric

If you restart the OS after changing the machine name without stopping InterSystems IRIS (hereinafter referred to as IRIS), a problem occurs when IRIS cannot start.

To get started, delete the <installation directory>\mgr\iris.ids file.

iris.ids file stores the started node name and shared memory information (shared memory ID). It is created when IRIS starts and deleted when stopped (iris stop or iris force). If you stop (restart) the OS without stopping IRIS, iris.ids, which contains IRIS startup information, may remain.

IRIS checks iris.ids during the next startup

5
0 608
Article Pierre LaFay · Dec 18, 2023 1m read

If Iris does propose to create keys following a sequence, how can we obtain a sequential number in another context?

In my case, I automatically create care centers, and I want to set them a number like:

APP-DD-999

APP = Name of the application used by the center
DD = center department number
999: sequential number in the department
It is of course possible that centers will be created in competition, so this possible competition must be managed.

My first approach was to use a persistent class and create a new object to retrieve its id, but this involves creating as many classes as departments

3
0 299
Announcement Bob Kuszewski · Dec 14, 2023

Embedded Python is about to get a whole lot more powerful, and we’re looking for a few volunteers to give it a try.

What’s the Flexible Python Runtime?

The Flexible Python Runtime option allows you to use a Python runtime of your choosing with Embedded Python. Previous to this, you could only use the operating system's default Python, which was limiting especially for customers using the latest and greatest AI & ML tools close to their data.

When InterSystems introduced Embedded Python in InterSystems IRIS in 2021.2, it was designed to work with just the version of Python that is pre-inst

1
0 392
Question Ashok Kumar T · Dec 17, 2023

Hello Community,

Is there any way to avoid generating the built in validation inside the classmethod from the .disp class definition. I've added the resource with path parameter as integer in swagger 2.0 open API.  The class method(in my case getRandom is the class method) inside .disp handles the integer validation by default. Is there a way to avoid/remove by default.

default validations for Integer

If ($number(pmin,"I",-2147483648,2147483647)="") Do##class(%REST.Impl).%ReportRESTError(..#HTTP400BADREQUEST,$$$ERROR($$$RESTInvalid,"min",pmin)) QuitIf ($number(pmax,"I",-214748364
0
0 141
Article sween · Oct 20, 2023 6m read

This article will cover turning over control of provisioning the InterSystems Kubernetes Operator, and starting your journey managing your own "Cloud" of InterSystems Solutions through Git Ops practices. This deployment pattern is also the fulfillment path for the PID^TOO||| FHIR Breathing Identity Resolution Engine.

Git Ops

I encourage you to do your own research or ask your favorite LLM about Git Ops, but I can paraphrase it here for you as we understand it. Git Ops is an alternative deployment paradigm, where the Kubernetes Cluster itself is "pulling" updates from manifests that reside i







image

3
1 879
Question Emil Odobasic · Nov 29, 2023

Hello everyone!
Sorry for the vague title! But I wonder what would be the best way to easily import a large XML-file into a production, modifying it by deleting elements and nodes depending on what values are in those nodes/elements and later creating whole new XML-file from that?

I have gone through this: Using Caché XML Tools | Caché & Ensemble 2018.1.4 – 2018.1.8 (intersystems.com)

But I get the sense that there are a lot of ways of approaching this, but I do not know what is the most effective for my certain needs.

I appreciate the help! Thanks beforehand! :)
 

5
0 540
Question Emil Odobasic · Dec 14, 2023

Hello everyone!
I have to build a REST service that receives a POST HTTP-request, collect a file from that request in the Form data and then send it in another HTTP Post request through Form Data. However I can't really seem to send the file, and I do not know where it has gone wrong. All I am getting told is that no file is being received from my HTTP Post request. I am reaching the REST Service I am supposed to send the request to, but nothing is being sent.
I would be really thankful if someone could give some insight why nothing is being sent in my request. Thanks beforehand! :)

So, this is

6
0 995
Announcement Larry Finlayson · Dec 14, 2023

Managing InterSystems Servers –Virtual  January 22-26, 2024

  • This five-day course teaches system and database administrators how to install, configure and secure InterSystems server software, configure for high availability and disaster recovery, and monitor the system. Students also learn troubleshooting techniques.
  • This course is applicable to both InterSystems IRIS and Caché. Although the course is mostly platform independent, students can complete the exercises using either Windows or Ubuntu.
  • Self-Register Here
0
0 148
Question Kris Roberts · Dec 14, 2023
  • I take a time stamp and convert it to a PosixTime
  • Then for an Timezone offset (for example America/New_York would be -05:00) convert it to seconds  -18000
  • I add the -18000 to the PosixTime
  • I convert the PosixTime to time stamp - shouldn't the time stamp show a lot more of a difference?  
  • I am guessing that adding -18000 is not really a difference of 5 hours?   What am I missing?

Thanks,

Kris

2
0 355
Question Bryan Cass · Nov 10, 2023

I have an existing Python script that opens a child session using the pexpect library. But currently all it does is send hard-coded commands to the Cache process and expect a hard-coded response back in order to continue in the script.

I would like to run a Cache routine from the script, pass in a parameter, and wait for a response that will be different every time (a date, in this case). So the call would be something like D $$Tag^Routine(parameter) and wait for the routine to complete and return the response.

Is there a way to do this? I am looking at the Python subprocess module, but not

3
0 413
Question Raouf Besbes · Nov 21, 2023

Hello !

I'm using a ZEN TablePan component to display the result of a specific SQL request on a ZEN Page : 

The result is displayed as follow : 

However i got an issue with the filters on the different columns,

it doesn't work at all

( it works just fine for some other ZEN pages where i use the default TableName property on the TablePan component )

Any clues how to make work the filter when using OnCreateResultSet property on a TablePan component ?

Thanks

4
0 396
Question David Hickman · Dec 12, 2023

I'm receiving a JSON payload via a REST API, I'd like to %JSONImport this stream into a class which extends %JSON.Adaptor. The problem is that the JSON is an array whose elements have no key (as you can see in the example JSON below). Right now I'm having to do some manipulations to convert the stream into a dynamic object and do a %Set which inserts a made up key "record" so "thingone" and "thingtwo" have an associated key that I can use when referencing "thingone" and "thingtwo"...such as record.GetAt(1).thingone

I'm also finding myself having to do the reverse when sending payloads back ou

3
0 370
Question Kris Roberts · Dec 10, 2023

Working on a project where we have a web browser that we have to determine a pickup date/time for a pharmacy in a different time zones.

We store the different time zones with their Daylight and Standard offsets.

We have a object script method that figures out the the pickup date/time for a particular pharmacy in their local time zone but the data is being returned in the $H format.   

We now need to return it in a UTC format.  I see different methods but don't see a method that will change the $H into a UTC for a different timezone otherwise than the local timezone.  

I know I can figure a

16
0 628
Article Yuri Marx · Dec 12, 2023 7m read

In part I of this article, we have already learned more about HL7, its messages, structure, segments, and fields. In this part II, we will show you how to transform proprietary/custom data into HL7 using IRIS for Health. For our sample, we used the data generated by the SYNTHEA bulk data generation project (https://synthea.mitre.org/downloads). So, we will show you how to convert 1000 patients from a CSV file to HL7 v2, using the Interoperability features of IRIS for Health.

Article support application – custom2hl7

You can install the sample application that will be used in this article by f
























0
0 728
Question Lewis Houlden · Dec 11, 2023

Hi all

I'm having trouble defining the mapping needed to take the very large base64 string in OBX:5.5, and map it to an XML virtual document property that supports Stream.GlobalCharacter. I know from within the DTL you have to use custom code to manage the segment due to its size. 

do target.StoreFieldStreamRaw(.stream,"LetterAttachment(1).Base64EncodedFile(1)", .rem)
 set tObx14Value = $piece(rem,"|",10)
 set convertedDate = ##class(Phu.Shared.Util.DateTime).ConvertHl7DateTimeToXmlDateTime(tObx14Value)
 do target.SetValueAt(convertedDate,"DocumentDetails(1).AuthoredDate(1)")
 do target.SetValu

4
0 436
Article Yuri Marx · Nov 20, 2023 3m read

In the world of Big Data, selecting the right file format is crucial for efficient data storage, processing, and analysis. With the massive amount of data generated every day, choosing the appropriate format can greatly impact the speed, cost, and accuracy of data processing tasks. There are several file formats available, each with its own set of advantages and disadvantages, making the decision of which one to use complex. Some of the popular Big Data file formats include CSV, JSON, Avro, ORC, and Parquet. The last one, Parquet, is a columnar storage format that is highly compressed and sepa

2
1 762
Discussion Enrico Parisi · Jan 30, 2023

The new $system.external interface (aka "InterSystems External Servers") is used to call/integrate with external language code/libraries, it replace the old gateways (for example Java gateway) that required the import of proxy objects.

Note that the documentation for the old gateways has been removed from IRIS, so only the new $system.external interface is somewhat (i.e. insufficiently) documented.

Regarding the migration from old gateway to new  $system.external interface the documentation says:

External servers use an enhanced and simplified form of the older Dynamic Object Gateway techno

14
2 1035
Announcement Olga Zavrazhnova · Dec 9, 2023

Hi Developers, 

We'd like to highlight some outstanding projects created during the European Healthcare Hackathon 2023 in Prague. 
Participants were presented with nine real-world healthcare challenges by IKEM and AstraZeneca.  
InterSystems introduced to the participants an opportunity to use the FHIR repository and perform FHIR availability into their solutions by providing FHIR cloud services on AWS.

Meet the winners of our challenge:

1st place Čarodějové (PathoSync)

"The PathoSync software is a solid base for complex pathologist platforms. With the use of custom mapping, any laboratory can project their data into FHIR7 standard, which soon will be mandatory worldwide. This makes the digitalization process smoother. The connection with InterSystems assures quality and implements many healthcare features. Furthermore, the GDPR norms are strictly followed using the FHIR server based in Europe, so the usage of software follows the European standards."

0
0 273
Article Megumi Kakechi · Dec 7, 2023 2m read

InterSystems FAQ rubric

To resolve the error <PROTECT>, remove the read-only attribute of the system-wide library database (IRISLIB for InterSystems IRIS, CACHELIB for Caché/Ensemble/HealthShare (Caché-based))

Once you have finished importing the routine, remember to change it back to read-only.
 

[Version 2013.1 and above]
[Management Portal] > [System Administration] > [Configuration] > [System Configuration] > [Local Database] Uncheck "Mount read-only" from the database name link.

[Version 2011.1 - Version 2012.2]
[Management Portal] > [System Administration] > [Configuration] > [System

3
0 570
Article Lorenzo Scalese · Aug 16, 2023 11m read

Hi developers!

Today I would like to address a subject that has given me a hard time. I am sure this must have been the case for quite a number of you already (so-called “the bottleneck”). Since this is a broad topic, this article will only focus on identifying incoming HTTP requests that could be causing slowness issues. I will also provide you with a small tool I have developed to help identify them.

Our software is becoming more and more complex, processing a large number of requests from different sources, be it front-end or third-party back-end applications. To ensure optimal performance, it is essential to have a logging system capable of taking a few key measurements, such as the response time, the number of global references and the number of lines of code executed for each HTTP response. As part of my work, I get involved in the development of EMR software as well as incident analysis.  Since user load comes mostly from HTTP requests (REST API or CSP application), the need to have this type of measurement when generalized slowness issues occur has become obvious.

5
9 1450