#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 Yuri Marx · Nov 11, 2023 4m read

Prepare a Sample application


1. For this tutorial we will use the iris-rest-api-template (https://openexchange.intersystems.com/package/iris-rest-api-template), adding some code to install JIRISReport support. Do these steps:
2. Clone the project on a local folder:

$ git clone https://github.com/intersystems-community/iris-rest-api-template.git

3. Edit the file Dockerfile with this content:

ARG IMAGE=intersystemsdc/iris-community:2020.3.0.221.0-zpm
ARG IMAGE=intersystemsdc/iris-community
FROM $IMAGE

USER root

RUNecho ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select 
6
3 661
Article Tomoko Furuzono · Nov 16, 2023 2m read

InterSystems FAQ rubric

To run an online backup from a command you can use the API BACKUP^DBACK routine.
An example of performing a full backup is as follows.

set  status = $$ BACKUP ^DBACK( "" , "F" , "full backup" , "c:\backup\full.cbk" , "Y" , "c:\backup\full-log.log" , " NOINPUT" , "Y" , "Y" , "" , "" )

The return value is 1 if the backup is successful, and 0 if the backup is unsuccessful. Please refer to the log file for details on failure.

Additionally, you can specify C for the second argument TYPE to specify a cumulative backup, and specify I to specify a differential backup.

An example

0
0 353
Article Robert Cemper · Nov 10, 2023 2m read

In my previous articles, I described my Command Line Extension to NativeAPI.
Of course, this is also available for any other NativeAPI package.
So I created this example as a demo for the actual Java Contest.
<--break->
The package contains also an IRIS server in Docker for the demo
It is evident that it also works with any remote IRIS server.
You just have to provide it with my NativeAPI CommandLine Extension.

I think this demo is easy to follow and shows the essential features.

  • First, you install the package and start the container
  • then you start the demo
    docker-compose exec iris java rcc
  • Next, you
2
0 325
Article Robert Cemper · Nov 15, 2023 2m read

This is the related article to the package in Java Contest. 
I decided to present a CRUD++ Global Editor based on IRIS Native API for Java.
++ because it’s a little bit more than just Create, Read, Update, Delete
Visualization of a global is always important to review results immediately.

  • For this purpose, I have extended the API with a Tree Viewer that mimics  ZWrite and allows also the examination of subtrees.
  • A $Query Style Navigator Forward and Reverse operating for easy finding the Global node of interest.
  • Finally, an option to ZKill to delete the content of a Global Node without
2
0 453
Article Mihoko Iijima · Nov 9, 2023 1m read

InterSystems FAQ rubric

To create a user-defined error you need to prepare the XML that describes the error code and corresponding message that you want to use as a user-defined error.

Please set the error code as a negative integer.

<?xml version="1.0" encoding="UTF-8"?> 
<MsgFileLanguage="en"><MsgDomainDomain="UserErrors"><MessageId="-111"Name="MyError">An error has occured</Message> 
    <MessageId="-222"Name="MyError2">An error has occured 2</Message> 
  </MsgDomain></MsgFile>

Once the XML file is created, load it into the namespace you want to use.

setx=##class(%Messag
2
2 719
InterSystems Official Fabiano Sanches · Nov 15, 2023

The 2023.3 releases of InterSystems IRIS Data PlatformInterSystems IRIS for Health, and InterSystems IRIS Studio are now Generally Available (GA).

RELEASE HIGHLIGHTS

2023.3 is a Continuous Delivery (CD) release. Many updates and enhancements have been added in this release:

Enhancing Cloud and Operations

Journal Archiving: Starting with this release, system administrators can now configure an archive location for completed journal files. When configured, after a journal file switch, the completed journal file will first be compressed (using the Journal Compression feature) and then

0
0 379
Announcement Larry Finlayson · Nov 15, 2023

Managing InterSystems Servers – In Person  December 11-15, 2023

  • 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 157
Announcement Larry Finlayson · Nov 15, 2023

Developing with InterSystems Objects and SQL – IN PERSON December 4-8, 2023   9:00am-5:00pm US-Eastern Time (EST)

  • 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 personalized educational
0
0 157
Question Jerry Petrole · Nov 15, 2023

I'm looking for an SMS Texting solution that will implement easily with IRIS.    Our company uses Twilio for our .Net applications but I'm hoping there might be something else available.  If anyone has experience with this please let me know!

Best,

Jerry

4
1 308
Question Stuart Strickland · Nov 8, 2023

I want to convert a string to uppercase that may or may not be a $LIST so that I can do a case insensitve search. However, when looking at what constitutes a $LIST I can see something that looks like it follows these rules:

Example: S X=$LISTBUILD("hello","world!")  gives X=$C(7,1)_"hello"_$C(8,1)_"world!"
The 1st character is $C( how many characters to the start of the next piece)
The 2nd is probably something to do with nested $LISTs
Then you have your raw "hello" followed by $C(8) which is the distance to the end of the next piece
This means that if I have a long string in one of my pieces of

11
1 747
Question Adam Raszkiewicz · Nov 14, 2023

Which process notify Web Gateway when to switch to secondary/mirror IRIS? I'm trying to debug a case when the web gateway doesn't know about primary IRIS failure and is trying to send request to that instance which is causing 500 error. Also, no clue why at the same time I see that GET request to /csp/bin/mirror_status.cxw will return 200 OK.

Our setup is 2 web gateways, primary IRIS, secondary/mirror IRIS and an arbiter.
 

2
0 252
Question Luis Angel Pérez Ramos · Nov 14, 2023

Hi community members!

Recently a customer ask me about a problem that detected when they were trying to send a post call to an external HTTP service, this service has changed and now it redirects to another URL, so they have setted to true the FollowRedirect parameter (setted to false for POST calls by default), what is the problem? They are sending a custom header in the post call and after the redirection this value is deleted.

I've reviewed the code of %Net.HttpRequest and I realized that the headers are being reseted, keeping just 3 basic headers for the redirection, so I've suggested to

2
0 339
Article Heloisa Paiva · Nov 14, 2023 7m read

Why should you connect Flask to InterSystems IRIS?

    The first thing that comes to mind when we think about combining Flask with IRIS is a portal to interact with your clients and partners. A good example would be a website for patients to access their clinical exams. Of course, this case would require a whole new layer of security, which we did not cover in our last article. However, we can effortlessly add it with Werkzeug, for instance.
Websites to bridge the relationship between your products and clients are, indeed, an excellent example of what you can achieve with this connection of

0
0 474
Announcement Benjamin De Boe · Nov 14, 2023

We recently published a new White Paper on the use of reporting nodes ("asynchronous reporting mirror members" in full) in a mirrored environment. More and more customers are looking into this mechanism as a quick and easy way to set up a copy of their production data that stays current, yet can be used for analytical querying or heavy-duty reporting workloads without impacting the source system. Read the White Paper here.

As always, we're curious to hear your own feedback on how you've used this mirroring option in your organization, and whether you have ideas on how we can make it even more

0
1 222
Question Alan Watts · Oct 31, 2023

I am trying to use git-source-control with IRIS. 

Things are moving along well.I have installed git, ipm/ zpm, git-source-control.I have done the initial configuration and initialized the repository.I am hoping there is some documentation available to describe how to use this within Studio.I see a new option on my toolbar labeled "Git".It gives me options Status, Settings, Launch Git UI, Push to remote branch, Fetch from remote, Pull changes from remote branch, Create a new branch, Check out an existing branch, Export All, Export All (Force), Import All, and Import All (Force).

8
0 1638
Article Yuri Marx · Nov 12, 2023 6m read

The part II you will learn how to run any Jasper report file (jrxml file) designed on Jasper Studio from InterSystems IRIS. We will create a REST API to return a processed report on PDF format.

The jrxml file

On part I, we designed this report:

1. First of all, rename the report from Blank_A4.jrxml to sample.jrxml (Project Explorer tab > click right the file > Rename):

See renamed file:

2. Click right the sample.jrxml file > Properties and see the file Location:

3. Copy the file from this location to the docker instance (docker instance created on part I) on folder /home/irisowner/dev:

docker cp
0
2 362
Question MARK PONGONIS · Nov 9, 2023

Is there a function that will check if an http request was successful or not? Maybe something similar to c# respose.IsSuccessStatusCode? %Status still returns success even if the response status code equals say 404.

Ex.

http=##class(%Net.HttpRequest).%New()
http.Server="example.com"
tsc = http.Get()   
http.HttpResponse.StatusCode    <== this is where i would like to check the status without having to write a custom function

4
1 804
InterSystems Official Mark Hanson · Feb 27, 2023 2m read

I wanted to provide a heads up of an improvement in how we generate and call method code in IRIS 2023.1.

A class in IRIS is composed of two main runtime components:

  1. Class Descriptor - A highly optimized list of methods, properties, class parameters that make up the class along with attributes associated with each of these e.g. public/private setting.
  2. ObjectScript code - A set of routines that contain the ObjectScript code to be executed when a method is called.

When you call a method of a class/object the dispatch code looks in the class descriptor to find the method, then it verifies if

10
3 1021
Announcement Olga Zavrazhnova · Nov 10, 2023

Hi Developers,

We invite you to join InterSystems at the European Healthcare Hackathon in Prague Nov 24-26! 
You can participate onlineor come to Prague in-person! Registration closes soon - don't hesitate to register.

InterSystems will introduce the "Innovate with FHIR" challenge with $$$ prizes for the best use of InterSystems FHIR services.

It will be a weekend full of innovation - looking forward to meeting you there! 🤩

0
0 379
Question Yone Moreno · Oct 17, 2023

Hello,

First of all, thanks for your help, and time, reading this questions, and answering to this doubt.

We have the following use case: to convert a HL7 ER7 ORU_R01 v2.5 message, to a Ens.Request Message which represent it with a custom data structure (each segment is a group of Properties).

To be more precise, the target Ens.Request Message's structure looks like:

Class Mensajes.Request.ConsentimientoInformado.HUC.ORUHL725OutRequest Extends Ens.Request [ ProcedureBlock ]
{

Parameter RESPONSECLASSNAME = "Mensajes.Response.ConsentimientoInformado.HUC.ORUHL725OutResponse";Property MSH As Esq
5
0 642
Article Bob Kuszewski · Nov 9, 2023 3m read

Introduction

InterSystems would like to optimize IRIS to take advantage of modern CPU instruction set extensions.  That’s great for product performance, but how do you know if your CPU will still be supported for new IRIS builds?  Here’s how to know your CPU’s microarchitecture family as well as how to find out your CPU’s specific instruction set extensions.

0
3 1257
Question Scott Roth · Oct 26, 2023

This is probably not the right place, but I don't know who I can reach out to... I am trying to configure an Apache/Web Gateway to our instance of IRIS so we are no longer using the built-in PWS. Can anyone point me in the right direction to configure Apache/Web Gateway to repoint

http://<server name>:52773/... to the https://<server name>/...

gateway so our users will not notice? How do I do this in Apache, do I need to modify httpd.conf or the ssl.conf file? What is the correct syntax...

This is what I tried to do in the httpd.conf file

<VirtualHost *:52773>
    ServerName
7
0 630
Question Pietro Di Leo · Sep 11, 2023

Hi everyone, 

I'm working on a Business Operation whit an HTTP Outbound Adapter and I would like to know if is possible to adjust the FailureTimeout value based on the incoming message type. For example, I would like to have a FailureTimeout of 60 seconds for the standard operations and a FailureTimeout of -1 (wait forever) for few special operations that absolutely need a response. 

Can we dynamically modify the FailureTimeout through code, based on either the incoming message type or a specified parameter?n the incoming message type or depending by a parameter?

For example, something like: 

If.
10
0 660
Question Jude Mukkadayil · Oct 24, 2023

Hi,

      I am trying to use a Jreport catalog which had been saved by a different user.  But when I save the catalog I am getting an error "Access is denied".

So does that mean same catalog can't use by different users ?

Can anyone please provide a solution for the Jreport same catalog can use for different users. ? 

Thanks

Jude

6
0 516
Question Jakub Hemala · Nov 7, 2023

Hello,

I've been stuck on this for a few days so I figured I'd ask for help here.

I have an XMLMessage response from a ProvideAndRegister call which looks like this:

<?xml version="1.0"?><!-- type: HS.Message.XMLMessage  id: ### --><XMLMessagexmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:s="http://www.w3.org/2001/XMLSchema"><ContentStream><RegistryResponsexmlns="urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0"status="urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Failure"><RegistryErrorListhighestSeverity="urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType
4
0 393
Article Daniel Aguilar · Nov 8, 2023 9m read

   

Hello, community!

After creating the app IrisApiTester, I saw that it could have more potential, and with some adjustments, it could become a powerful collaborative tool.

I asked myself a few questions::

  • Could the API collections be shared with the entire team?
  • Could I use it to perform unit tests?
  • Is it beneficial for integration tests??
  • What will happen if I add a CI/CD continuous integration layer??

After considering possible answers, I decided to give it a try.When I finished my work, I discovered that all the responses were affirmative (with some nuances xD).

0
4 557