#InterSystems IRIS for Health

10 Followers · 2.4K 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.

InterSystems Official Fabiano Sanches · Sep 18, 2023

InterSystems has corrected two defects regarding connectivity. These defects and their corrections are independent of each other.

This alert addresses them both because there are point releases containing both corrections.

Both defects only impact versions 2019.1.4 and 2020.1.4 of:

  • InterSystems IRIS®
  • InterSystems IRIS for Health
  • HealthShare® Health Connect

Neither defect impacts any released version of HealthShare Unified Care Record®, Information Exchange, Health Insight, Patient Index, Provider Directory, Care Community, Personal Community, or Healthcare Action Engine.

The fir

0
0 280
Question Jonathan Lent · Sep 16, 2023

Hello all,

Using the example from the DocDB documentation below, is there a way to create a property and form a predicate that would be able to find a document where the phone number is a cell number and the number is "401-123-4567"?

From Introducing InterSystems IRIS Document Database (DocDB)

  SET dynAbObj = {
   "FullName":"John Smith",
   "FirstName":"John",
   "Address":{
              "street":"101 Main Street",
              "city":"Mapleville",
              "state":"NY",
              "postal code":10234
             },
   "PhoneNumber":
              [
               {"
5
0 328
Article Sylvain Guilbaud · Sep 18, 2023 6m read

Hello developers,

In this article, I'll show you how to run code at compile time with ObjectScript macros.

Here's a use case that recently led me to use this feature:

As part of a medical application developed for more than 20 years, we have a large number of parameters. Although we have procedures for documenting these settings, it can be helpful to have a quick view of which settings are actually used by the application code.

To get this view, we could search the code with regular expressions. However, it would be more convenient to have all the parameters used directly in a table after


0
1 462
Question Joseph Tsang · Feb 16, 2023

This YouTube video about submitting a FHIR transaction bundle impressed me. It shows me two things:

  1. how a new resource (in the video, the Observation) referencing another new resource (the Patient) in the same bundle can be done, given that their link-up will be sorted out in the repository and reflected in the subsequent retrieval through a HTTP GET; and
  2. how a conditional create with the PUT method may be achieved, in case we cannot tell if such a resource (e.g. the Patient with an identifier) to be submitted may or may not exist.

Lately I tried to follow the steps in the video and wor


4
0 583
Question Christopher Kegg · Sep 15, 2023

I recently created a new foundation namespace in my IRIS for Health instance.  I am noticing that Registry entries such as the Service and XUA registries (HS.Registry.Service.SOAP and HS.IHE.XUA.Config) from my previously created foundation namespace are not available in my new namespace.  Is there a setting that controls this, or is there a way to map these registry values to my new namespace?  Other developers I talked with on my team expected these registry entries available to all namespaces and were surprised when I reported they were not.  

0
0 191
Article Mihoko Iijima · Sep 14, 2023 1m read

InterSystems FAQ rubric

It can be retrieved using the schema INFORMATION_SCHEMA.

INFORMATION_SCHEMA is a system schema and is not displayed by default in the SQL menu of the Management Portal.

The method to display it is as follows.

  1. Open Management Portal → System Explorer → SQL menu.
  2. Check "System" on the left of the schema drop-down.
  3. Select INFORMATION_SCHEMA from the schema dropdown.

The SQL to get the ID, field name (COLUMN_NAME), data type (DATA_TYPE), description (DESCRIPTION) for the specified table (Sample.Human) is as follows.

SELECTID,COLUMN_NAME,DATA_TYPE,DESCRIPTION
0
1 675
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(.key,.value){

    $$$TRACE

10
0 732
Discussion Sylvain Guilbaud · Sep 11, 2023

Currently, the SQL privileges (SELECT, INSERT, UPDATE, DELETE) are managed at the tables level, which can be very tedious when you have to administer many roles in an organization, and need to keep them sync with a constantly evolving data models.
By managing privileges at the schemas level, will allow to give SELECT and other DML privileges to *all* or *several schemas* to a role|user, fixing the need to manually synchronize the new tables|views to the roles.

If you agree, I invite you to vote for this idea.

6
0 353
Question Smythe Smythee · Sep 11, 2023

Hi Community,

I have SDA file as Ens.StreamContainer Message using pRequest As Ens.StreamContainer

SDA file structure looks like this 

<Name><FamilyName>Lucy</FamilyName><GivenName>Hale</GivenName><MiddleName>Park</MiddleName></Name><Gender><Code>F</Code><Description>F</Description></Gender><BirthTime>2023-09-07T00:00:00</BirthTime>

How can i change individual value from the Steam and then save changed value into the stream?

3
1 968
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 721
Question Christine Nyamu · Aug 31, 2023

I need to search for the following values "SEDATION:  " and "Procedure" In consecutive OBX 5 as seen below. Note that sometimes the OBX 5 containing "Procedure" may be followed by other characters/text hence I am leaning towards using a contains statement. 

OBX|028|TX|OP^Operative Note^D4D^11504-8^Surgical operation note^XXX||SEDATION:  ||||||C|
OBX|029|TX|OP^Operative Note^D4D^11504-8^Surgical operation note^XXX||Procedure:

Only when they appear consecutively do I want to process the message as an ORU using the BPL. Not sure how to go about it and would appreciate any assistance. Thanks 

8
0 489
Article Guillaume Rongier · Aug 28, 2023 1m read

InstallFoundation method is missing (IRIS 2023.2+)

Recently IRIS 2023.2 was released. This version removed this method InstallFoundation from this class HS.HC.Util.Installer. This was a private method and it was not documented. But it was widely used by the community to install FHIR server.

So if you encounter this error:

<METHOD DOES NOT EXIST> *InstallFoundation,HS.HC.Util.Installer

While build a demo our your own FHIR server, you can fix it by replacing this line:

  do ##class(HS.HC.Util.Installer).InstallFoundation(namespace)

to

  Do ##class(HS.Util.Installer.Foundation).Install(namespac
2
1 434
Announcement Patrick Jamieson · Mar 15, 2021

Hi developers,

We have received quite a lot of interest in using SQL on FHIR data. As you know, FHIR data is encoded in the form of a complex directed graph, and thus you can not easily query it with traditional SQL queries or business intelligence tools. Some customers have noticed that the "FHIR search tables" in IRIS for Health have flattened part of the FHIR graph, and have tried to use them for analytics. This is an undocumented and unsupported part of IRIS for Health, and can change without notice.

The good news is we are working on a product supported feature for IRIS for Health to ex

1
0 448
Question Ted Guarriello · Aug 17, 2023

Is it possible to "Ping" a remote host in IRIS for Health using ObjectScript? We host hundreds of TCP connections over hundreds of VPNs. I'm working on a project that would make it nice to have way to ping remove clients over the VPN to monitor connectivity and keep the tunnels alive.  

Another thought/method would be to make an OS system call (AWS Linux), but I don't see a way to do that either.

9
1 521
Question Scott Roth · Sep 5, 2023

Currently we are using Delegated Authentication using ZAUTHENTICATE to look at the groups that are associated with a user and if it matches a role within IRIS, to assign the user to that role within IRIS. 

Instead of using ZAUTHENTICATE as custom code, I am looking to use the built-in LDAP Authentication instead. Since I already have two AD Groups called (Access.Ensemble.Developer.User and Access.Ensemble.DataLookup.User) is it possible to config the built in LDAP functionality to look for these groups and assign the users to the correct roles within IRIS without the custom ZAUTHENTICATE? Fro

5
0 673
Question Scott Roth · Sep 7, 2023

We are noticing some issues with the communication between our Arbiter and our servers. Looking at the following documentation to limit connections, and logging...https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=GHA_mirror_set_config#GHA_mirror_set_agent_port

if I am configuring the ISCAgent on the arbiter, would we set 

application_server.interface_address=<ip_address>

to each IRIS server? Or does this mean to give it a specific NIC IP Address to use for communication? Does the ISCAgent have to be configured separate on each IRIS server?

Is there a way to limit

3
0 530
Article Mihoko Iijima · Sep 7, 2023 1m read

InterSystems FAQ rubric

You can avoid the error by specifying a stream object as the argument of %ToJSON() used when generating a JSON string from a dynamic object.

A code example is below.

USER>set temp=##class(%Stream.TmpCharacter).%New()

USER>set jsonobj={}

USER>set jsonobj.pro1=["a","b","c","d"]

USER>set jsonobj.pro2=["あ","い","う","え"]

USER>do jsonobj.%ToJSON(temp)

USER>write temp.Size
51
USER>write temp.Read()
{"pro1":["a","b","c","d"],"pro2":["あ","い","う","え"]}

See also the documentation for details.

[IRIS] Serializing large dynamic entities to streams

Serializing l

1
0 649
Article Ariel Glikman · Aug 28, 2023 3m read

With the world (as well as our own technology) moving to the cloud at such a fast pace it is easy (at least for myself) to get caught up in the little details. One thing I, and some clients of ours, had run into a couple of times was the necessity to specify the version of the images one plans to use with the IKO.

For example, one issue that often gets overlooked is the compatibilityVersion field for the IKO. Depending on which IKO you are using there is a default value (for IKO 3.6 this happens to be 2023.2.0, and for IKO 3.5 this is 2022.3.0). If you intend to use a different version of an I

4
1 527
Question Stefan Pichel · Sep 3, 2023

I did not find any answer in the documentation and in the posts here to check if it also possible to migrate all databases from a native installed IRISHealth on Windows to my Community Edition in the container? Maybe anybody had tried this and can give me a hint.

If I try to import the backup file with all databases (that I created on Windows with the Management Portal, and copied into the container) and set /usr/irissys/mgr as top-level directory for import during "Do ^DBREST", I get the error
"The target database has a block size of which does not match the blocksize of the database in the b

1
0 290
Question Flávio Lúcio Naves Júnior · Sep 5, 2023

Hello everyone,

I'm trying to perform a full backup using DO ^BACKUP, but the database keeps skipping the restoration. Does anyone know what I could do to allow the restoration?

Device: /usr/OLD/BACKUP.cbk
This backup volume was created by:
   IRIS for UNIX (Red Hat Enterprise Linux for x86-64) 2021.1
The volume label contains:
   Volume number      1
   Volume backup      AUG 21 2023 06:45PM Full
   Previous backup
   Last FULL backup
   Description
   Buffer Count       0
Is this the backup you want to start restoring? Yes => Yes
The following directories will be restored:
/usr
1
0 320
Question John McBride · Sep 3, 2023

Hi All,

Been trying to setup a iris 4 health community version along with a webgateway bothing utilizing docker. The documentation seems a little sparse when it comes to configuring each of these to work together, especially when it comes to utilizing the Webgateway to front end the MGMT pages for Irirs 4 Health.

I know there is a github repo that has a docker compose file, but that doesn't see to provide a light on what needs to be configured in order for it to work.

I know that the community version still includes a PWS but as a developer, I'd like to mock a production environment as clos

2
0 438