#InterSystems IRIS for Health

10 Followers · 2.5K Posts

InterSystems IRIS for Health™ is the world’s first and only data platform engineered specifically for the rapid development of healthcare applications to manage the world’s most critical data. It includes powerful out-of-the-box features: transaction processing and analytics, an extensible healthcare data model, FHIR-based solution development, support for healthcare interoperability standards, and more. All enabling developers to realize value and build breakthrough applications, fast. Learn more.

Question Julian Matthews · Sep 16, 2022

Hi all.

I'm currently looking at a use case where I need to take a Stream, and then encode the contents as a Base64 Stream. This is currently achieved with a snippet of code that has previously been placed in multiple classes within this particular environment, and relied on the dotnet gateway (which suffers with a bug in 2022.1, corrected 2022.1.1).

Therefore I will be replacing the dotnet implementation with the standard $System.Encryption.

9
1 2317
Question Scott Roth · Dec 4, 2023

We recently moved from using the Private Web Server, to using an Apache/Web Gateway setup and moved towards using the built in LDAP functionality within IRIS. Since then, we have 1 user that uses VSCode (/api/atelier) heavily that continues to have issues signing into IRIS through VS Code and the /api/atelier extension.

I am trying to troubleshoot two issues..

8
0 1663
Question Oliver Wilms · Jan 11, 2024

Hello, I tried to convert HL7 message to JSON in a business process and I got errors. Has anybody converted HL7 to JSON? Are certain characters not allowed in JSON?

I just tried to set a property to quote request.RAWContent and quote. I will try to put example in GitHub and share here later.

5
0 1300
Question Chi Wan Chan · Jun 14, 2022

Hi All,

I am trying to install IRIS Health CE on a Ubuntu VM, so I can test IAM with it.

During the installation I get the following error:

=================

Warning: The installer can't find a platform in this distribution
supported by your system.

Searching for platforms that might install in unsupported mode...

     1) Ubuntu LTS (x64)

Enter the number for your system:  1

Your system type is 'Ubuntu LTS (x64)'.
openssl version 1.1.1 is required.

** Installation aborted **

No packages will be installed.

====================

I installed OpenSSL 1.1.1n  15 Mar 2022. It was version 3.0.

3
0 1292
Question Pierre LaFay · Aug 20, 2023

Hi,

I don't found how to get params send by a GET REST query (not in url but by request param).

this is config of the call in postman

I try to get %request.Data, doesn't work : Data is undefined

I try to get %request.GetCgiEnv("Data"), doesn't work, return ""

I do ZW %request and see that my parameter is present in cgi parameters, but I don't now how to access it.

9
3 1212
Question Scott Roth · Jul 25, 2023

I am working on my first REST operation to send a API Request to an internal server within our Network. I have finally got past the point of being able to connect using a SSL/TLS Configuration, but I am getting a ERROR <Ens>ErrHTTPStatus: Received non-OK status 403 from remote HTTP server: 'HTTP/1.1 403 Forbidden'.

I have tried using $$$TRACE within my operation to capture the different elements that are being sent to verify the Server, URL, SSL Configuration, and payload.

16
1 1190
Question Elisha Gould · Apr 4, 2022

We are attempting to update some old FTP interfaces to use FTPS and having an issue with an outbound operation to a FileZilla server.

The connection to the the server works, however it fails to transfer files with the error "TLS session of data connection not resumed."

It appears that "TLS session resumption" is no longer optional in FileZilla Server, and I cannot find any details in the IRIS documentation about it.

Does IRIS support TLS session resumption, or know how to set up FTPS to a recent install of FileZilla Server?

4
0 1061
Question Geoff Lawson · Jul 25, 2023

I successfully setup a REST web application with JWT enabled, which is fantastic.  My next configuration 'challenge' is to add 2FA to this REST app.  First question first - is this possible with the OpenAPI generated /login?  The end goal is to build out a SPA (React) using /login for the JWT and adding the Auth bearer token for api calls.  I'd like to prevent the token generation until the 2FA is satisfied - or generate the token, but test if the 2FA is satisfied before allowing calls forward.  Hope that's clear.

5
0 1056
Question Stefan Schick · Jul 20, 2022

Hello everyone,

I want to restore a database from an external backup with the journal files.

The manual says I should (in short):

  1. Stop journaling with ^JRNSTOP
  2. Restore the database file IRIS.DAT
  3. Run the journal restore utility with ^JRNRESTO
  4. Restart journaling ^JRNSTART

Since I want to restore one database only step 1 would disable journaling for the whole instance, not only for the database to be restored. As I understand, it would be impossible to restore a different database if there occurs a problem while journaling is disabled during the recovery process?

6
0 975
Question Markus Suonpää · Jul 1, 2022

How do I access items and their settings of production by using Objectscript? I have already tried making SQL queries to Ens_Config.Production table and using methods in Ens.Director and EnsPortal.Utils classes but I just can't get a hang of it.

The unfortunate reason, why I need to do this, is that our environments (DEV, QA and PROD) have gone in really bad shape over the years and now the software development is just pure agony since environments are not in sync. Comparing different environments is also extremely difficult since it is hard to even tell which classes are in use.

9
0 963
Question Dmitry Baranov · Apr 27, 2023

It is clear how to get the request header value with a specific name:

Class My.RestController Extends %CSP.REST
{

ClassMethod processRequest() As %Status
{
    #dim request as %CSP.Request 
    set request = %request
    set h = ##class(%REST.Impl).%GetHeader("...")
    ...    
    return $$$OK
}

But I can't figure out how to enumerate ALL the request headers (and also get all values).

7
0 952
Question Julian Matthews · Nov 5, 2020

Hey everyone.

I have noticed that my backup mirror is warning that the MirrorDatabaseLatencyTime is having a bad time (time in ms is 3000, and warnvalue is 3000). While I look into what may be causing this latency between the two servers, I was considering if reducing the size of the journal files would improve this value in any way.

My assumption is that reducing the file size would mean that the frequency of the journal files being created would be increased, but the reduced size would mean that the transfer and application of each file would be reduced.

Has anyone had experience in this area?

2
0 927
Question Evgeny Shvarov · Mar 2, 2023

Hi folks!

Examining FHIR profile validation with InterSystems FHIR server. FHIR profiles is a very useful feature of FHIR standard that helps an organization or solution to establish constraints to a very disperse FHIR standards that are relevant to a particular business solution. Learn more on FHIR profiles.

I created a very simple FHIR profile with the following JSON:



Spoiler

 
{

"resourceType": "StructureDefinition",

"url": "http://example.org/fhir/StructureDefinition/TutorialPatient",

"name": "TutorialPatient",

"status": "draft",

"fhirVersion": "4.0.
9
0 875
Question Antti Suomi · Jul 6, 2022

Hello everybody!

I’m having some odd issues with IRIS for health community edition and creating a new namespace.

Versions 2021, 2022.1 & .2 for Windows and Ubuntu allow me to create a new namespaces and the databases for it.

namespace

As you can see above, I’ve enabled the namespace for interoperability productions.

I’ve run this creation process with not copying the mappings, copying everything from user, and so on, with out a difference to the end result.

2
0 855
Question Scott Roth · Aug 9, 2023

Still working on my first External REST API call, and I am struggling to find the exact answer I am looking for... I get a JSON response from my API call but I am not quite sure how to dynamically get the JSON response into the Ens.Response Object with its lists of Arrays that I have defined.

  set tSC = ..Adapter.SendFormDataArray(.tHTTPResposne,"POST",tHTTPRequest,,,tURL)

  set pResponse = ##class(User.REST.Epic.Msg.GetPatientLocationResponse).%New()

  set dynObject = {}.%FromJSON(tHTTPResposne.Data)

  set iter = dynObject.%GetIterator()

  while iter.%GetNext(.

10
0 765
Question Robert Bielen · Aug 25, 2023

Hi Everyone

I'm just wondering if anyone might have a list (or the experience to make a list) of the most often used / useful Reply Code Actions?

In the Help section of Health Connect Management Portal, it lists 

'E=F' and ':?R=RF,:?E=S,:~=S,:?A=C,:*=S,:I?=W,:T?=C'

as the default options, though I'm curious if anyone else has found other codes or strings of codes useful?

Thanks in advance. 

Best wishes

Robert

3
0 746
Question Mary George · Sep 20, 2023

Hi Community, 
 

Can I please check what the size limit for the parameter in  $SYSTEM.Encryption.Base64Decode() method ? 

I have a 12 page base64 encoded PDF document, which is failing when decoded. I am getting the error below:

ERROR <Ens>ErrException: <ILLEGAL VALUE>zXSDToLogical+1^%Library.Binary.1 -- logged as '-' number - @''

OBX:5 size=4233781

I tried the below from terminal, but it is not able copy the whole string for the parameter so couldn't execute it. 

Set text=$SYSTEM.Encryption.Base64Decode("JVB<<TRUNCATED>>) 

I am able decode the same string using notepad++ and save it as PDF.

4
0 716
Question Rathinakumar S · Jul 26, 2023

Hi,

We have a global with 65 million entries. All we are doing is just iterating through each entry to find out the total no of entries. It is currently taking 110 minutes. Is this something normal? What can we do to speed up this process? Below is the program for just iterating each entry in the global.

s sub=" ,count=0
f{              
     s sub=$o(^YYY(sub)) q:sub=""
     s count= count +1
     }
     w!, "Total Count:"_ count
 

19
1 714
Question Scott Roth · Jan 13, 2024

Within a DTL is it possible to access and update the Message Header properties of an EnsLib.HL7.Message?

Currently we have multiple EMR Services for each environment sending to 1 Business Process to Normalize the data, then it is sent to another Business Process to route the data. 

Since the SourceConfigName changes with every send to a Business Process, I am looking for a way to maintain the SourceConfigName of the SessionID so I know how to direct the message.

7
0 712
Question Phillip Wu · Aug 5, 2022

I want to get Mirror Status and copy this report into a file for audit purposes.

I have a Linux servers for IRIS DB with this layout:
LIVETC01           Backup
LIVETC02           Primary
LIVEDR             Async Copy
ARBITER

I understand that this will get me the mirror status
# sudo -u irisowner iris session LIVETC01
LIVETC01:USER>zn "%SYS"
LIVETC01:%SYS>do ^MIRROR

1) Mirror Status
2) Mirror Management
3) Mirror Configuration

Option? 1

1) List mirrored databases
2) Display mirror status of this node
3) Display journal file info
4) Status Monitor

Option?

6
0 709
Question Nicki Vallentgoed · Jan 24, 2024

I receive JSON from a webservice and parse it to an object:

Set wout=0
set stream=##class(%Stream.TmpCharacter).%New()
For {
	Quit:(httprequest.HttpResponse.Data.AtEnd || wout)
	d stream.Write(httprequest.HttpResponse.Data.Read(32000,.tSC))
}
Set jsonob={}.%FromJSON(stream)

jsonob contains a sub entity "pdf" which is a base64 string and %GetTypeOf() tells me it is a string.
However I am unable to read the nested jsonob.pdf into a stream or anything else as any attempt to use it result in a MAXLEN error.

9
1 704