Article Luis Angel Pérez Ramos · Feb 20, 2024 4m read

We conclude this series of SMART On FHIR articles with Auth0 and InterSystems IRIS FHIR Repository by reviewing our application developed in Angular 16.

Let's remember what the architecture defined for our solution is like:

Our front-end application corresponds to the second column and as you can see it will be in charge of two things:

  1. Redirect the login request to Auth0 and receive the response.
  2. Send and receive the response of requests via REST sent to the FHIR server.
0
4 606
Article Luis Angel Pérez Ramos · Feb 16, 2024 6m read

In the last article we presented the architecture of our SMART On FHIR project, so it's time to get down to business and start configuring all the elements that we are going to need.

We will first start with Auth0.

AUTH0 configuration

We will start by creating an Auth0 account with a valid email, once registered we will have to create our first application, and we will do it from the menu on the left:

Application menu

In our example, the application will be of the Single Page Web Application type as it is an application developed in Angular 16. We select this option and click Create.

Single Page Web Application

1
2 669
Article Luis Angel Pérez Ramos · Feb 14, 2024 4m read

Introduction

I recently participated in a fantastically organized hands-on by @Patrick Jamieson in which an Angular application was configured together with an IRIS FHIR server following the protocols defined by SMART On FHIR and I found it really interesting, so I decided to develop my own Angular application and thus take advantage of what I learned to publish it in the Community.

SMART On FHIR

Let's see what Google tells us about SMART On FHIR:

SMART on FHIR is a data standard that allows applications to access information in electronic health record (EHR) systems.

0
1 799
Article Luis Angel Pérez Ramos · Feb 7, 2024 6m read

In this article we are going to see how we can use the WhatsApp instant messaging service from InterSystems IRIS to send messages to different recipients. To do this we must create and configure an account in Meta and configure a Business Operation to send the messages we want.

Let's look at each of these steps in more detail.

Setting up an account on Meta

This is possibly the most complicated point of the entire configuration, since we will have to configure a series of accounts until we can have the messaging functionality.

Here you can read the official Meta documentation.

1
5 768
Question Luis Angel Pérez Ramos · Jan 30, 2024

A customer contacted me with a problem trying to install Health Connect 2023.1 in a server with Red Hat 8 (no idea what 8.? it is). After review the logs the only error received are:

/tmp/HealthConnect-2023.1.0.235.1-lnxrh8x64/package/healthshare_databases/parameters returned 1.
	
	doParameters /tmp/isc_package_tmp_pid_21033/parameters.isc /tmp/isc_package_tmp_pid_21033 /var/log/isc/IRISInstall_202401191303.log healthshare_databases

...failed CallCommand healthshare_databases.package ...
...skipped databases.package for lack of healthshare_databases.
5
0 305
Question Luis Angel Pérez Ramos · Jan 10, 2024

I just realized that for the latest version of IRIS for Health 2023.3 the method InstallFoundation from HS.HC.Util.Installer has just disappear. I checked the official documentation (here) but I can't find any reference to it like in previous versions (here).

Is there anyway to create it by code?

3
0 340
Article Luis Angel Pérez Ramos · Dec 29, 2023 6m read

It seems like yesterday when we did a small project in Java to test the performance of IRIS, PostgreSQL and MySQL (you can review the article we wrote back in June at the end of this article). If you remember, IRIS was superior to PostgreSQL and clearly superior to MySQL in insertions, with no big difference in queries.

Well, shortly after @Dmitry Maslennikov told me "Why don't you test it from a Python project?" Well, here is the Python version of the tests we previously performed using the JDBC connections.

6
3 1037
Article Luis Angel Pérez Ramos · Dec 5, 2023 3m read

Welcome everybody!

In this short article I would like to present an example of use that surely many of you who work with IRIS as the backend for your web applications have faced on more than one occasion and it is how to send a file to your server from the frontend.

Generally the simplest way I have found to perform this task is to transform the file from the frontend to the Base64 format and make a POST call to our server attaching the Base64 obtained to a JSON message in which I indicate in a parameter the name of the file and in another the encoded data.

2
0 770
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.

2
0 355
Discussion Luis Angel Pérez Ramos · Nov 8, 2023

Hi everyone!

The other day I was reflecting on the possibilities that FHIR brings us in the world of interoperability and electronic medical records and it gave me mixed feelings, let me explain, first a small introduction.

Introduction

As you well know, FHIR is based on parameterizing a series of concepts that it calls resources in JSON or XML format with the intention of covering the most common cases within the healthcare environment, relying on HTTP communications to cover CRUD and query functionalities.

15
1 852
Article Luis Angel Pérez Ramos · Nov 4, 2023 5m read

I recently had the need to monitor from HealthConnect the records present in a NoSQL database in the Cloud, more specifically Cloud Firestore, deployed in Firebase. With a quick glance I could see how easy it would be to create an ad-hoc Adapter to make the connection taking advantage of the capabilities of Embedded Python, so I got to work.

Preparing the environment

To start, we need an instance of the database on which we can perform the tests. By accessing the Firebase console, we have created a new project to which we have added the Firestore database.

2
1 552
Article Luis Angel Pérez Ramos · Oct 25, 2023 6m read

In the previous article we saw how we could recover a resource stored in the database of our particular HIS, so today we will see how we can add new records in our HIS whose origin is an FHIR resource that we receive in our system.

CRUD operations with FHIR

One of the main functionalities of FHIR is its support for CRUD operations through the Rest API, this implies that any system that works with FHIR must provide support for HTTP calls of the GET, POST, PUT and DELETE types.

1
2 578
Article Luis Angel Pérez Ramos · Oct 16, 2023 10m read

We resume our series of articles on the FHIR Adapter tool available to HealthShare HealthConnect and InterSystems IRIS users.

In the previous articles we have presented the small application on which we set up our workshop and showed the architecture deployed in our IRIS instance after installing the FHIR Adapter. In today's article we will see an example of how we can perform one of the most common CRUD (Create - Read - Update - Delete) operations, the reading operation, and we will do it by recovering a Resource.

What is a Resource?

3
5 681
Question Luis Angel Pérez Ramos · Oct 11, 2023

Does anybody know if there is a wizard to create SOAP client/server web services for IRIS from VS Code? I would like to not use Studio anymore but for SOAP web services looks like there is no alternative in VSCode.

Thank you in advance!

4
0 882
Article Luis Angel Pérez Ramos · Oct 11, 2023 3m read

We return with our example of using the FHIR Adapter, in this article we are going to review how we can configure it in our IRIS instances and what the result of the installation is.

The steps taken to configure the project are the same as indicated in the official documentation, you can review them directly here. Well, let's get to work!

Installation

As you can see in the project associated with the article, we have our IRIS instance deployed in Docker, so the main part of the initial configuration will be done in the Dockerfile.

1
1 539
Article Luis Angel Pérez Ramos · Oct 10, 2023 3m read

Surely you have all heard about FHIR as the panacea and solution to all interoperability and compatibility problems between systems. Right here we can see one of his classic defenders holding a FHIR resource in his hand and enjoying it immensely:

But for the rest of us mortals we are going to make a small introduction.

What is FHIR?

3
5 898
Article Luis Angel Pérez Ramos · Sep 27, 2023 6m read

Recently @Anastasia.Dyubaylopublished a post (this one) showing a new IntegratedML functionality for time series predictions that @tomdalready presented to us at the Global Summit 2023 so, let's go to set up a small workshop to test it!

Introduction

For this workshop we have chosen as the topic the prediction of monthly users of the Valencia Metro line by line. To do this, we have monthly data broken down by lines since 2022 as well as annual data by lines since 2017 that we will extrapolate monthly.

1
2 548
Discussion Luis Angel Pérez Ramos · Sep 11, 2023

I usually receive complains from our customers about the BPL and DTL web pages automatic refreshes, it's a common problem among newbies users but for veteran developers too, they forget to save the changes regularly and automatically the web page is reloaded, losing all the work done.

Maybe an autosave would fix this problem that produces a deep feeling of hate and resentment against InterSystems technology among our customers. I've added an idea in our portal, so feel free to vote it!

https://ideas.intersystems.com/ideas/DPI-I-452

12
0 363
Article Luis Angel Pérez Ramos · Aug 29, 2023 8m read

We continue with the series of articles based on the QuinielaML application.

In today's article I will describe how to work with the Embedded Python functionality available in InterSystems products.

Embedded Python allows us to use Python as a programming language within our productions, being able to take advantage of all the features available in Python. Here you can expand information about it.

2
2 279
Article Luis Angel Pérez Ramos · Aug 25, 2023 4m read

Taking advantage of the Quiniela ML application and as we indicated in the previous article, we are going to explain how we can perform a JWT authentication between our frontend developed in Angular and our backend developed in InterSystems IRIS.

I remind you of the architecture of our QuinielaML project:

Usually it is a cumbersome process in web applications to develop the administration and management of user access, but in our case InterSystems IRIS simplifies the process by providing us with all the infrastructure we need.

11
2 631
Article Luis Angel Pérez Ramos · Aug 22, 2023 4m read

Welcome dear members of the Community to the presentation and first article of a small project that will demonstrate the capabilities of InterSystems IRIS to provide full backup functionality for a web application developed in Angular. This article will be limited to presenting the concept as well as the InterSystems IRIS functionalities used in a general way, going into more detail in subsequent articles.

Welcome to QuinielaML!

0
1 605
Article Luis Angel Pérez Ramos · Jul 17, 2023 10m read

Hello again everyone.

In our previous article we saw how to configure our EMPI to receive FHIR messages. To do this we installed the FHIR Adapter that InterSystems made available to us that configured a REST endpoint to which we could send our FHIR message. We would then get the message and transform it to a %String that we would send via TCP to the output of our EMPI configured in our HSPIDATA namespace.

Alright, it's time to see how we retrieve the message, transform it back to a %DynamicObject and parse it to the class used by the EMPI to store the information.

0
0 360
Article Luis Angel Pérez Ramos · Jul 11, 2023 8m read

We return to the attack with our EMPI!

In previous articles we have seen how to configure and customize our EMPI, we have seen how we can include new patients in our system through HL7 messaging, but of course, not everything is HL7 v.2 in this life! How could we configure our EMPI instance to work with FHIR messaging?

What is FHR?

For those of you who are not too familiar with the term FHIR, just indicate that they are the initials of Fast Healthcare Interoperability Resource.

0
1 442
Article Luis Angel Pérez Ramos · Jun 27, 2023 11m read

As you know, if you regularly read the articles that are published in the Community, last May InterSystems organized the JOnTheBeach2023 Hackathon held in Malaga (Spain). The topic that was proposed was the use of predictive analysis tools that InterSystems IRIS makes available to all developers with IntegratedML. We must thank both @tomdand @Dmitry.Maslennikovfor all the work and effort they put into making it a resounding success.

5
2 520
Question Luis Angel Pérez Ramos · Jun 19, 2023

Hi community members!

I'm trying to deploy a container based on IRIS Community for Health ML image available from this url but when I start the container the memory consumption skyrockets to 99% making impossible to work with the instance (it never goes below the 95% of the memory). When I do the same with the IRIS Community for Health image it never goes over 80% of memory.

Is this a known problem? Should I try another version? Maybe have I just to sit down in a corner and cry like a baby?

2
0 392
Article Luis Angel Pérez Ramos · Jun 16, 2023 10m read

One of the most common needs of our clients is the creation of REST services that allow access to the information present in IRIS / HealthConnect. The advantage of these REST services is that it allows the development of custom user interfaces with the most current technologies taking advantage of the reliability and performance of IRIS in the back-end.

In today's article we are going to create a web service step by step that will allow us to both store data in our database and later consult them.

0
5 1295