#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 Pete Greskoff · Jun 27, 2018 8m read

NB. Please be advised that PKI is not intended to produce certificates for secure production systems. You should make alternate arrangements to create certificates for your productions.
NB. PKI is deprecated as of IRIS 2024.1: documentation and announcement.

In this post, I am going to detail how to set up a mirror using SSL, including generating the certificates and keys via the Public Key Infrastructure built in to InterSystems IRIS Data Platform. I did a similar post in the past for Caché, so feel free to check that out here if you are not running InterSystems IRIS. Much like the original, the goal of this is to take you from new installations to a working mirror with SSL, including a primary, backup, and DR async member, along with a mirrored database. I will not go into security recommendations or restricting access to the files. This is meant to just simply get a mirror up and running. Example screenshots are taken on a 2018.1.1 version of IRIS, so yours may look slightly different.

3
4 1849
Question prashanth ponugoti · Oct 19, 2022

Hi Friends,

I have a requirement to convert pdf from URL to Base64 format. I have created one utility method and used in the DTL.

Working fine for small pdf files , we got one pdf with size 4MB , this method is failing (creating corrupted base64 content).

Could you please suggest me the way to convert big pdfs?

set encodedData = ""
set request=##class(%Net.HttpRequest).%New()
    do request.Get(httpUrl)
    if request.HttpResponse.StatusCode = 200
    {
//set len = request.HttpResponse.Data.SizeGet()
    set content = request.HttpResponse.Data.Read()
    set encodedData = $system.Encryption.

6
0 2315
Question Ephraim Malane · Oct 19, 2022

I am reading file values by position with comma-separated string and it gives me incorrect values on the below line because there is a comma within double quotes within a string.

I would like to remove any text that has quotes with object script or alternatively separate each value with pipe-delimited so that I can return position 8 as code and position 9 as a description

line = file.

2
0 378
Article Philipp Bonin · Oct 19, 2022 2m read

The concept of low code development is getting more and more important across all industries. Everybody who is starting to get into low code programming, will inevitably come across Node-RED. InterSystems IRIS is renowned for its interoperability and so should be accessible via Node-RED.

For those who have not heard of Node-RED yet: Node-RED is a Low-Code programming application, which is based on so called nodes that are connected with wires. Nodes process incoming messages and forward them to the next connected node.

5
0 562
Question Alfredo Neto · Oct 13, 2022

Hello,

I am currently having the experience activating prometheus for iris db.

This environment that I speak uses IKO as a base.

I need to put 3 notes in the iris service area.

Are they:

annotations:
   prometheus.io/path: "/monitor/metrics"
   prometheus.io/port: "52772"
   prometheus.io/scrape: "true"

I'm not finding this possibility in the IKO documentation.

Has anyone had this experience and can help us with this challenge?

 Below is the current configuration we made, however, it did not create the annotations we need

apiVersion: intersystems.
4
0 303
Announcement Shane Nowack · Oct 19, 2022

Get certified on InterSystems IRIS System Administration!

Hello Community,

After beta testing the new InterSystems IRIS System Administration Specialist exam, the Certification Team of InterSystems Learning Services has performed the necessary calibration and adjustments to release it to our community. It is now ready for purchase and scheduling in the InterSystems certification exam catalog. Potential candidates can review the exam topics and the practice questions to help orient them to exam question approaches and content. Passing the exam allows you to claim an electronic certification badge that can be embedded in social media accounts such as Linkedin.  

1
0 367
Question Harshdeep Acharya · Mar 23, 2022

Hi Team,

Can you please help me to develop EDI X12 to XML and XML to EDI X12 conversion in IRIS 2021.1 for EDI 204, also known as Motor Carrier Load Tender?

Also, suggest flow for how to achieve this kind of functionality in InterSystems IRIS. If you are able to provide some Videos/Documents on the EDI X12 interface for 204 then it would be very helpful for me.

Thanks,

Harshdeep Acharya

1
0 434
Article Yuri Marx · Oct 17, 2022 10m read

FTP (File Transfer Protocol) is a network protocol for transmitting files over TCP/IP connections in a network (including the Internet) configured to transfer files via this protocol. In an FTP transaction, a file sender is called a local host. A file receiver involved in FTP is a remote host, and it is usually a server. Although many file transfers can be conducted using Hypertext Transfer Protocol (HTTP), FTP is still commonly used to transfer files behind the scenes for other applications, such as banking services.

0
1 1031
Question Neil Thaiss · Oct 17, 2022

Hi,
I need to do a DELETE and then do some INSERT transactions on a linked table and don't want the DELETE and need to be able to ROLLBACK the DELETE if any of the INSERT transactions fail.
I have tried Object Script transaction processing (TSTART, TCOMMIT and TROLLBACK) and the SQL transaction processing (START TRANSACTION, COMMIT and ROLLBACK), but neither work.
Could I be doing something wrong in the way I am implementing these, or do does transaction processing simply not work for linked table?
Thanks for any advices, in advance.

Neil

1
0 288
Article Henry Pereira · Aug 2, 2021 8m read

https://media.giphy.com/media/Nxu57gIbNuYOQ/giphy.gif

Easy, easy, I'm not promoting a war against the machines in the best sci-fi way to avoid world domination of Ultron or Skynet. Not yet, not yet 🤔

I invite you to challenge the machines through the creation of a very simple game using ObjectScript with embedded Python.

I have to say that I got super excited with the feature of Embedded Python on InterSystems IRIS, it's incredible the bunch of possibilities that opens to create fantastic apps.

Let's build a tic tac toe, the rules are quite simple and I believe that everyone knows how to play.

8
5 1624
Question Evgeny Shvarov · Oct 8, 2022

Folks!

Could you please share any best practices on how to debug Embedded Python code?

Given I have the following class method:

ClassMethod HideShip() As %Status [ Language = python ]
{
    import iris
    shipsgl=iris.gref(iris.cls(__name__)._GetParameter("BoardStorage"))
    shipsgl.kill()
    from random import Random
    board=iris.cls(__name__)._GetParameter("BoardRange")
    x=random.randint(0,board+1)
    y=random.randint(0,board+1)
    shipsgl.set([x,y],1)
}

And when I run it shows the following error:

USER>d ##class(eshvarov.sample.SeaBattle.GamePython).
5
0 1012
Announcement Laurel James (GJS) · Sep 20, 2021

Hi developers, 

We're excited to let you know about the latest release of Serenji, your on-the-spot debugger from George James Software. Version 3.2.0 focuses on the debug experience and introduces zero configuration for users. No matter where you are or what you're doing, Serenji is always ready to go in just one click, so you won't lose focus by spending time setting up a launch configuration. 

This enhanced debugger also takes advantage of the latest features of VS Code itself. With this powerful combination you'll be able to smoothly identify and quickly fix errors in your code, contributing to the production of quality, maintainable code... and isn't that what everyone wants?! 

 

In this latest release you will experience: 

  • Debugging in just one click with zero configuration. 
  • Navigation directly to the source of an error using our gj :: locate technology.
  • Intuitive prompting for entrypoint and arguments.
  • Configurable break on error.
  • Program output in debug console. 
  • Run and Debug CodeLenses.
  • Run multiple concurrent debug sessions and consoles. 
  • Shaded background for read-only documents. 

If you're a new user, it's now easier for you to get started. The introduction of a welcome page Walkthrough and guidance on the Explorer and Run and Debug views means you can effortlessly create your initial workspace and start debugging. 

Download Serenji directly from the VS Code marketplace and take a look at our release notes to find out more about these new features and how to use them. 

We offer a free 30 day trial so if you're not yet a user of Serenji but you're interested in how it can help you, drop me a message through the Developer Community or email us at info@georgejames.com.

Happy debugging! 

1
4 424
Question Edmara Francisco · Oct 13, 2022

Hello!

I used %Projection.Java to generate the java proxy classes. Follows the projected class image.

Note that "import com.intersystems.binding.Database" was added but it displays the error cannot find symbol.

Has anyone had this problem, how was it resolved?

4
0 306
Announcement Laurel James (GJS) · Oct 13, 2022

We’ll be hosting our bi-annual virtual User Group Session on Thursday, November 3rd at 3pm (GMT). We will demonstrate the new Production component driver for Deltanji - it enables highly granular management of Interoperability Productions with tight integration into the management portal. 

The session is also an opportunity for us to help to problem-solve any issues you're having, and a chance for you to offer your feedback on our tools.

Those interested in finding out more about Deltanji source control are welcome to join us too.

Sign up for free on Eventbrite >> https://bit.ly/3yBVYVO

0
0 309
Question Alfredo Neto · Jul 15, 2022

Hello.

Our scenarios need to persist messages in the orchestrator. Our Iris Orchestrator is an ephemeral pod with no persistent disks running on AWS EKS in multiple AZ.

We want to know if the iris orchestrator has:

- AWS EFS Support
- Integration with AWS SQS
- Sharing to the same AWS EBS.

2
0 361
Article Timothy Leavitt · Oct 12, 2022 1m read

I just wrote up a quick sample to help a colleague load data into IRIS from R using RJDBC, and figured it's worth sharing here for future reference.

Ultimately it was pretty simple, aside from IRIS not liking "." in column names; the workaround is to just rename the columns. Someone better at R than me could probably provide some generic approach. smiley

# Need a valid value for JAVA_HOME prior to calling library(RJDBC)
Sys.setenv(JAVA_HOME="C:\\Java\\jdk-8.0.322.
2
2 352
Question Chip Gore · Sep 20, 2022

Hi -

I'm looking for some help in getting an OS level application on my server to startup from a csp page and I'm just missing something.

I have a routine (and I've tried the same code from an instance method, with the same results) that will launch an application at the OS level using the $zf(-100,keywords,program,parms) from a terminal session, but it won't/doesn't seem to work when I call the code from a #server() call from my webpage. I don't know if there is some combination of keywords or perhaps a different version of the $zf() call that should/would work.

7
1 413
Question Scott Roth · Oct 11, 2022

I am trying to get the Apache Web Gateway with Docker running on a development RHEL 8 machine so I do not have to config the Web Gateway and Apache apart from each other. I noticed the Apache Web Gateway docker image is using IRIS Community Edition. However when I try to run the docker image with podman I am running into issues with the IRIS setup. I was wondering if someone could help me. When I get the image to run I am seeing the following errors...

2
1 379
Question Patty Aguirre-Romero · Jan 4, 2022

We will receive an ORM message in Business Service in Iris. From that ORM, an ADT^A31 message will be generated and sent out to the EMR before the ORM message is sent out. The ORM message has to wait until Iris receives an acknowledgement from the EMR indicating the ADT message was received. Then, the ORM message will be sent to the EMR. What do I need to set up to hold the ORM message until the acknowledgement is received? 

Thank you!

Patty Aguirre-Romero

11
0 882
Announcement Laurel James (GJS) · Oct 10, 2022

Introducing a new component driver for Deltanji source control, which enables highly granular management of InterSystems Interoperability Productions with tight integration into the management portal

InterSystems Interoperability Productions are defined in a single monolithic class definition. A production can contain many hundreds or thousands of configuration items. This presents a problem if multiple developers are working on different Business Processes within the same production simultaneously. Simultaneous development is almost inevitable for large productions containing many configuration items. 

0
0 232
Question Gordon Sjostrom · Oct 7, 2022

Basically the title, I couldn't find anything concrete in the documentation regarding this. The documentation states 'The user-defined ^ZMIRROR routine allows you to implement your own custom, configuration-specific logic and mechanisms for specific mirroring events, such as a failover member becoming primary.' I didn't see any more details on what exactly those mirroring events are besides a failover member becoming primary, which I wasn't sure if that included a DR async becoming primary.

2
0 266
Question Ephraim Malane · Oct 6, 2022

I have a string below and I want to read the  value of the first href with ObjectScript



String

<table id="tablepress-46" class="tablepress tablepress-id-46" aria-labelledby="tablepress-46-name">
	<tbody class="row-hover">
		<tr class="row-1 odd">
			<td class="column-1">ICD-10 MIT 2021 Excel - 16 March 2021</td>
			<td class="column-2">
				<a href="/wp-content/uploads/2021/04/ICD-10_MIT_2021_Excel_16-March_2021.
2
0 429
Question prashanth ponugoti · Oct 6, 2022

Hi Friends,

I have created an object script class method to anonymize live hl7 messages with some info masking.

To anonymize files ,  I need to place live messages in d://input folder and need to execute the below command in the Intersystems terminal

do ##class(prashanth.tool.HL7Annonymiser).processFilesInDir("D:\Input\")

ANONYMIZED files will be generated in D:\output\"  folder.

everything is working fine.

2
0 230
Question Evgeny Shvarov · Oct 6, 2022

Hi folks!

I'm working with a global via Embedded Python as a class method. I init the handler for a global via:

gl=iris.gref("^Global")

What is the way to check the value at index ^Global("x","y")? E.g.:

In ObjectScript I'd do the following:

set result=$data(^Global("x","y"))

How do I do the same in Embedded Python?

I checked the documentation, but haven't found an answer.

4
0 327