#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 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 337
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 te

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 221
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). What do e

8
0 1630
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/irisowne




0
2 360
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 795
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

10
3 1015
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 377
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 MS

5
0 636
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 1247
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 int-lxiris-vd
7
0 626
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

10
0 656
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 515
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:ErrorSe
4
0 391
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 556
Question Yuri Marx · Nov 7, 2023

When using docker compose, I can create ENV variables using environment section, like this:

version: '3.6'
services:
  iris:
    build:
      context: .
      dockerfile: Dockerfile
      target: final
    restart: always
    command: --check-caps false --ISCAgent false
    environment:
      - JIRISREPORT_PATH=/home/irisowner/dev/jirisreport.jar
    ports:
      - 1972
      - 52773
      - 53773

In this case I created an ENV variable JIRISREPORT using Docker compose, but using IPM xml manifest, Can I set ENV variables?

1
0 309
Question Scott Roth · Nov 7, 2023

We are moving away from Delegated Authentication in which I stored a username and password for our LDAP in a GLOBAL to be called by ZAUTHENTICATE.

Is there a way to pull in that GLOBAL into the LDAP Configuration within the Managment Portal instead of having to manually enter it? There seems to be an issue with Copy/Paste that the password isn't being set correctly when I use Copy/Paste.

Else I just export/import the LDAP Configuration from 1 server to another and manually update the Certificate to point to the correct file.

Thanks

Scott

0
0 192
Question Ewan Whyte · Nov 2, 2023

I am receiving a FHIR bundle and I need to extract data from it and wondered if there was an easier way of doing this rather than looping through the data as suggested in Working with FHIR Data | FHIR Support in InterSystems Products | InterSystems IRIS for Health 2023.2.

Ideally it would be great if there was a DTL the accept STU3 and then extract the data from there and I did try using the HS.FHIR.DTL.vSTU3.Model.Resource.Bundle class (depreciated) but that only allowed me to see the data at the bundle level and not the resources within it (entry). Is there a way to get that resource data

3
0 867
Article Eduard Lebedyuk · Nov 4, 2022 9m read

If you're running IRIS in a mirrored configuration for HA in AWS, the question of providing a Mirror VIP (Virtual IP) becomes relevant. Virtual IP offers a way for downstream systems to interact with IRIS using one IP address. Even when a failover happens, downstream systems can reconnect to the same IP address and continue working.

The main issue, when deploying to AWS, is that an IRIS VIP has a requirement of both mirror members being in the same subnet, from the docs:

To use a mirror VIP, both failover members must be configured in the same subnet, and the VIP must belong to the same subne

image

5
6 3306
Question Pietro Di Leo · Nov 6, 2023

Hi everyone, 

today I'm asking your help with an issue related to the response messages sent from my production to a client software, such as Postman or SoapUI. 

Issue

In the last few days I've been unable to view the responses received from my production in Postman, even if I was able to do so earlier. I'm sending the request to a remote server reachable via a Putty tunnel.

Postman Test

I'm currently testing this simple POST message: 

{
  "name": "John Doe",
  "email": "johndoe@example.com",
  "age": 30,
  "gender": "Male",
  "height": 175,
  "weight": 70,
  "address": {
    "st


1
0 1078
Article Stefan Cronje · Nov 6, 2023 2m read

Hi folks,

I have published a new package on OEX.

In short, it is a string datatype that support various configuration options and flexibility.

Business Case

  1. You have some library classes and other reusable structures that you use across systems.
  2. You have a "multi-tenant" environment where one code base is shared amongst tenants, which each have their own namespaces configured.
    1. Specific rules and business processes are stored in that tenant's namespace.
    2. The core class structures are the same.
    3. Tenants have different data validation requirements and some want data consistency across s
0
0 403
Article Mihoko Iijima · Nov 2, 2023 3m read

InterSystems FAQ rubric

For routines (*.mac)

You can hide the source by exporting/importing only the *.obj that is generated after compiling the source program.

The command execution example specifies EX1Sample.obj and EX2Sample.obj, which are generated by compiling EX1Sample.mac and EX2Sample.mac, as export targets and exports them to the second argument file.

After moving to another namespace, I am using the exported XML file to perform the import.

USER>do$system.OBJ.Export("EX1Sample.obj,EX2Sample.obj","D:\routine.xml")       
Exporting to XML started on 10/23/202311:33:49
Exportin
1
0 660
Question Claudio Vieira · Feb 3, 2023

Hi,

I use Caché COS and I'm having trouble doing a POP3 on the Microsoft email server using OAuth 2.0 authentication.

I'm using the following program to accomplish this task:

QGPOP ; Recebe e-mail da Microsoft Office 365
  Set server=##class(%Net.POP3).%New()
  Set server.port=995
  Set server.StoreAttachToFile=1
  Set server.AttachDir="D:\HOME\CNTIRET"
  Set servername="outlook.office365.com"
  Set user="importacao@ferrolene.com.br",pass="xxxxxx"
  Set AccessToken="exxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
  set server.SSLConfiguration="Transnovag"
  Set status=server.Connect(servername,user,pass,

4
1 1212
Article Zhong Li · Feb 15, 2023 11m read

A "big" or "small" ask for ChatGPT?


I tried OpenAI GPT's coding model a couple of weeks ago, to see whether it can do e.g. some message transformations between healthcare protocols. It surely "can", to a seemingly fair degree. 
It has been nearly 3 weeks, and it's a long, long time for ChatGPT, so I am wondering how quickly it grows up by now, and whether it could do some of integration engineer jobs for us, e.g. can it create an InterSystems COS DTL tool to turn the HL7 into FHIR message? 

Immediately I got some quick answers, in less than one minute or two.


Test

First I want to test I am



















7
1 2831
Article David Hockenbroch · Nov 2, 2023 9m read

Here in %SYS, we have already examined users, resources, and roles. Now that we know how to set all of that up, we should give it a purpose. Next we will talk about applications! As you may expect, we will see various identical class methods defined here that we have seen in the previous classes. However, some of them will have some tiny yet significant differences.

1
3 525