I want to integrate IRIS with Keycloak OAuth2 provider to use delegated authentication everywhere and to secure everything - sys*/Portal applications, REST services, FHIR server and so on. If an unathenticated user tries to access any IRIS URL - he or she should be redirected to Keycloak. After the user has successfully authenticated, i would like to access his requistes (username, email, roles, scopes) extracted from the JWT token, programmatically. What should be done to achieve that?

1 1
0 173
Question
· Nov 26, 2024
HL7 Encoding issue

Dear All,

I have been sent an HL7 message as a file with the MSH segment as follows....

MSH|^~\&|SendingApp|pms3medd|HealthLink|cribrumt|20241121050000|PKI|ORU^R01|01_ASCIItest_2|P|2.3.1||||||UNICODE

I try picking up the file with a "EnsLib.HL7.Service.FileService" business service using a EnsLib.File.InboundAdapter adaptor. The Character set is set to "Native" and the Default Char Encoding to latin 1.

I am seeing the following error:

0 4
1 171

I finally figured out how to get JWT token using set x = ##class(%SYS.OAuth2.Authorization).GetAccessTokenClient("medbank","openid fhirUser",.prop,.err).

I also found iris-fhir-client app on Open Exchange. I registered Epic sandbox server, but I cannot list resources. I suspect I need to integrate authorization / authentication. How do I do this with irisfhirclient py?

2 1
0 103

I'm attempting to streamline a process for renaming PDF documents received from multiple vendors to conform to a specification provided by an EMR vendor for ingestion. Things like Document ID, Document Type, Date of Service, Account Number, MRN, etc. all must be included in the filename at defined offsets and lengths. Most of the required values can be extracted from the inbound file's name and the few remaining are static values that would be the same (or handled via a lookup table based on source) for all documents.

1 22
0 251

Is anyone using Veeam as their external backup product?

I'm trying to backup a Linux VMs (VMWare; SUSE).

These VMs have a mirrored pair IRIS DB.

I'm using the InterSystems's provides pre-freeze - Backup.General(ExternalFreeze)
I'm using the InterSystems's provides post-thaw - Backup.General(ExternalThaw)

I've been running the backups with Veeam 'application aware processing' so I can add the pre-freeze and post-thaw scripts.

I'm backing up the PRIMARY node of the mirror pair.

0 3
0 148

I am using a JDBC connection to MS SQL server to execute a stored procedure to select data and bring it into InterSystems as a EnsLib.SQL.Snapshot. I loop through the EnsLib.SQL.Snapshot using a while loop, but I also want to iterate through the Columns within that Row to do logic.

Is there a way to iterate through the Columns of the current Row of the EnsLib.SQL.Snapshot so I can apply logic/rules for further processing?

Thanks

Scott

0 4
0 88
Question
· Nov 19, 2024
How to create a signed JWT

I need to create a JWT to connect to EPIC FHIRserver sandbox.

https://fhir.epic.com/Documentation?docId=oauth2&section=BackendOAuth2Guide

You will generate a one-time use JSON Web Token (JWT) to authenticate your app to the authorization server and obtain an access token that can be used to authenticate your app's web service calls. There are several libraries for creating JWTs. See jwt.io for some examples.

0 5
0 194

Since .Net has a unified package manager system (Nuget.org) why doesn't Intersystems create and add a nuget package (.nupkg) containing the InterSystems.Data.IRISClient.dll file.

This would make it easier for external .net developers to obtain the package for creating tools and/or applications that utilize Iris/Iris4Health

Can Intersystems create a nuget package?

1 5
0 153

The following CPF entry:

[Actions]
CreateUser:Name=foobar,Roles=%All,Password=loremipsumdolorsitamet1234,FullName=Foo Bar,ChangePassword=1,Enabled=1,Comment=Testing testing,AccountNeverExpires=1,PasswordNeverExpires=1

Fails with an error:

ERROR #506: Invalid property error at line 19, 'Password=loremipsumdolorsitamet1234', Class Security.Users, Error=<CANNOT SET THIS PROPERTY>zPasswordSet+3^Security.Users.1

A bug or a feature or a stupid user error? The documentation says nothing about the limitations:

0 3
0 93

I'm playing with some anayltic queries against FHIR server tables. The HSFHIR_X0002_S_Patient.addressCity table contains a lot of cities which names contain german charachers such as ä, ö and ü.

The following query works fine:

select value from HSFHIR_X0002_S_Patient.addressCity

But this one converts city names to uppercase, and characters with umlauts are lost, so instead of "Köln" or "München" I see KOLN and MUNCHEN:

0 2
0 90
Question
· Nov 15, 2024
DICOM Extended Negotiation

Is there a way to create and establish DICOM Association with Extended Negotiation?

I have implemented DICOM Query/Retrieve C-FIND, using EnsLib.DICOM.Operation.TCP and EnsLib.DICOM.Process base classes. My application, acting as an SCU, needs to query by Study Date-Time (combined date-time matching) range with timezone query adjustment. For this, I need to use Extended Negotiation.

0 0
0 75

What settings do I need to just passthrough an X12 messages from a BS to BO and out the BO without modifying the message?

Currently, we are receiving the X12 messages but, it seems Iris is modifying it by "hiding" some segments like the ISA segment. The message goes out the BO modified and it doesn't reach its destination. Since I just want to pass it through, there is no BP, DTL, or Rule processing the message. Message is received by the BS and sent directly to the BO.

My current settings:

1 7
0 124

I'm trying to get the python external language server started up in a container I am starting. The container is up and running but I cannot get the python language server to start.

This is the error that is coming back when trying to start the language server. I have tried creating a custom image with that package installed but it still does not work. Is there something specific that needs to be done to to get this working? (FYI, I have the dotnet version working but creating a custom image and installing the dotnet runtimes via a docker file)

0 0
0 51

Hello,

I want to upload a "custom" metric in prometheus (queue).

For now, in version 2022, I have the impression that we cannot add multiple labels and yet the basic metrics know how to do it.

ex: standard metric

iris_interop_messages_per_sec{cluster="1", host="xxxx", id="API", instance="xxxx:80", job="SAM", production="xxxx"}

my current example: I would like to be able to at least add the production, just to have the source of the measurement.

my_iris_queue{cluster="1", id="xxxx", instance="xxx", job="SAM"}

0 2
0 84

To transfer data between production components I actively use messages of type Ens.StreamContainer class and its descendants. In many cases the content of the message content is not visualised (the 'Body' tab contains a table with a list of selected message properties but the 'Contents' tab is empty). Response messages are never visualised, and request messages are visualised with a fifty-fifty probability. What do I need to do to ensure that messages are always visualised?

0 3
0 110

Throughout the forum, I find examples of using the method getSegmentByIndex to get the segment as I loop through the HL7 message segments.

Today I spent way too long trying to figure out why I could not modify the segment with this same method. I reached out to my more experienced team and I showed where I got the base code from what I was doing, but I myself could not find the documentation of the method.

0 1
0 114

Intersystems provides External language server connections for various languages which,
from a development perspective, is great as I can keep my application code separate but still interact with the IRIS kernel.

It becomes more complex though if you are using Interoperability etc where you might end up with some code in IRIS and some code in another language.

What would be great is having an IRIS to IRIS language server where the application code and stay IRIS based but separate from the database?

0 5
0 142

We've got some web services that utilise EnsLib.SOAP.Service/EnsLib.REST.Service. These do some further requests to a few operations to call some other services and return the combined results.

An issue that we are noticing is that some of the usage involves users hitting the refresh button a few too many times and generating a lot of requests. This is mostly an issue when the service that the operations are calling are down or slow to respond. IRIS starts using a lot of RAM when this occurs and has caused outages by getting through an extra 50-60GB of RAM.

0 0
0 92

I hit halt in Iris lite terminal within VS Code and was exited out to PS prompt. I was just curious what the best way / recommended way to get back into an InterSystems lite terminal would be? Perhaps it is just to start a new InterSystems lite terminal from a the options listed previously in this post https://community.intersystems.com/post/how-run-objectscript-commands-vs.... I was just curious if there was a way to kick it off again from the PS prompt?

0 2
0 127

There are a select few in the group that have been using Github as a Local Client push to a Repository setup in GitHub. Questions were brought up today about the security, and possible issues when it comes to data being pushed in this method.

Looking over code we have noticed that there is Histogram data within some of the class files that could be considered a security issue. Does anyone else have concerns with the Histogram data being within the class files pushed up to github?

0 1
0 89

Hello Community,

I have a stream property which uses %Stream.GlobalCharacter and I set some dummy texts like "a1a2a3a4a5a6a7...."(more than 1024 characters) in to that stream and the stream values are not compressed. However, The streams are compressed If I use the Lorem ipsum is a dummy or placeholder text or other text "This is part four of a long memo." which length is greater than 1024

1 3
0 95