Article Pietro Di Leo · Oct 9 6m read

Introduction

In my previous article, I introduced the FHIR Data Explorer, a proof-of-concept application that connects InterSystems IRIS, Python, and Ollama to enable semantic search and visualization over healthcare data in FHIR format, a project currently participating in the InterSystems External Language Contest.

In this follow-up, we’ll see how I integrated Ollama for generating patient history summaries directly from structured FHIR data stored in IRIS, using lightweight local language models (LLMs) such as Llama 3.2:1B or Gemma 2:2B.

0
0 0
Article Pietro Di Leo · Oct 9 4m read

Introduction

In a previous article, I presented the IRIStool module, which seamlessly integrates the pandas Python library with the IRIS database. Now, I'm explaining how we can use IRIStool to leverage InterSystems IRIS as a foundation for intelligent, semantic search over healthcare data in FHIR format.

This article covers what I did to create the database for another of my projects, the FHIR Data Explorer. Both projects are candidates in the current InterSystems contest, so please vote for them if you find them useful.

You can find them at the Open Exchange:

0
0 0
Article Pietro Di Leo · Oct 6 4m read
0
0 0
Article Pietro Di Leo · Oct 6 5m read

Hi everyone! 👋
I’m excited to share the project I’ve submitted to the current InterSystems .Net, Java, Python, and JavaScript Contest — it’s called IRIStool and Data Manager, and you can find it on the InterSystems Open Exchange and on my GitHub page.

0
0 0
Article Pietro Di Leo · Aug 21 3m read

Recently, I replaced my old laptop with a new one and had to migrate all my data. I was looking for a guide but couldn’t find anything that explained in detail how to migrate server connections from InterSystems Studio and Visual Studio Code from one PC to another. Simply reinstalling the tools is not enough, and migrating all the connections manually seemed like a waste of time. In the end, I managed to solve the problem, and this article explains how.

InterSystems Studio

Exporting Server Connections

0
0 0
Question Pietro Di Leo · Jul 4

Hello everybody, 

I would like to export project contents using Visual Studio Code, as well as I do with InterSystems Studio.

However, while attempting the export through the InterSystems extension I get the following error:

- There are no folders in the current workspace that code can be exported to.

These are the step to reproduce my error:

  1. Create and save a new VSCode workspace
  2. Open a local directory 
  3. Go to the InterSystems extension
  4. Open "Projects" panel and right-click on the project you want to export
  5. Click on "Export Project Contents"

Anyone can help me solving this issue?

0
0 0
Question Pietro Di Leo · Jun 21

Hi everyone,

I'm preparing to move to a new PC soon and I'm trying to migrate the server connections I use in IRIS Studio to the new environment.

I’ve followed without success an old procedure I've found on a post on the community that involves exporting the registry key from:

HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Intersystems\Cache\Servers

But I’ve realized that this only includes the entries from the Server Manager and not the actual server connections used within IRIS Studio and shown within the "Server Connections" menu.

0
0 0
Question Pietro Di Leo · Dec 5, 2024

I'm experiencing an issue while compiling code in Visual Studio Code with "cuk" qualifiers.

When I try to compile, the following message appears after a while:

In VSC, the "cuk" qualifiers are always used as default and the following message is shown in the Output panel of VSC when a compilation is successful:

I'm unsure if it is possible to replace the cuk qualifiers with something else.

The issue doesn't occur when compiling the same class in InterSystems Studio, where, in this case, the qualifiers "cuk /checkuptodate=expandedonly" are used as default:

0
0 0
Question Pietro Di Leo · Nov 20, 2024

Hi everybody, 

I'm modifying a REST interface for a client but it seems impossible to me to modify HTTP Response Status and including custom HTTP Headers either.

My dispatch class (extending %CSP.REST) is contacted through a POST request and the latter is processed in a custom class (extending %CSP.REST as well) accessed as shown in the example below:

  <Route Url="/test" Method="POST" Call="Custom.Test:Process" />

Within the processing class I tried executing the following statements with no success:

Do%response.SetHeader("totalcount",totalcount)
Set%response.Status = ..#HTTP400BADREQUEST
0
0 0
Question Pietro Di Leo · Sep 11, 2024

Hi, I'm working on a large extraction from a database and need to parallelize the processes during the extraction.

Here's what happens:

  1. The user starts the extraction from.
  2. Several jobs are started using the Job <Method> instruction.

At the end, the user expects to find a document containing the results of all the extractions. What I'd like to do is start a new job that checks whether the previously started jobs have finished or are still working and consequently produce the document.

0
0 0
Question Pietro Di Leo · Jun 13, 2024

Hello everyone,

Recently, I've been working on a Business Process that processes a large JSON FHIR message containing up to 50k requests in an array within the JSON.

Currently, the code imports the JSON as a dynamic object from the original message stream, obtains an iterator from it, and processes each request one at a time in a loop.

0
0 0
Question Pietro Di Leo · Apr 17, 2024

Hello everybody, 

I've been experimenting with Embedded Python and have been following the steps outlined in this documentation: https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cl…

I'm trying to convert a python dictionary into an objectscript array but there is an issue with the 'arrayref' function, that is not working as in the linked example.

This is a snapshoot of my IRIS terminal: 

0
0 199
Question Pietro Di Leo · Jan 17, 2024

Hi everyone, 

Does anyone know how to export projects via VSC? 

I opened the project through the "InterSystems Tools" plugin (command is "Edit Code in Project") and I can correctly work on it.

However, when I try using the "ObjectScript" plugin to export the project (right click on the project -> "Export Project Contents")

This message appears and it is not possible to export the project:

I've tried also to open a new window, then a folder and finally the project, but nothing changes. 

This is an example of my workspace: 


Anyone knows how to do it? 

Thank you! 

3
0 2678
Question Pietro Di Leo · Nov 6, 2023

Hi everyone, 

today I'm asking your help with an issue related to the response messages sent from my production to a client software, such as Postman or SoapUI. 

Issue

In the last few days I've been unable to view the responses received from my production in Postman, even if I was able to do so earlier. I'm sending the request to a remote server reachable via a Putty tunnel.

Postman Test

I'm currently testing this simple POST message: 

1
0 915
Question Pietro Di Leo · Oct 16, 2023

Hi everyone, 

My problem today is how to send an HTTP message to a web service deployed via Render and gunicorn. 

Issue

Every time I try to contact the web service I get an error. Searching on the web, I've found this StackOverflow question that suggests the issue could be set off from a missing "/" character in the endpoint string.

I've tried in many ways, both including and excluding the final slash character, but I always get an error:

4
0 287
Question Pietro Di Leo · Oct 13, 2023

Hi everyone, 

I'm attempting to compile a basic Python code on a remote server, but it appears that the compiler doesn't recognize the language.

The remote server is running a virtual machine with Oracle Linux Server 7.9 (64-bit), and it has IRIS for UNIX (Red Hat Enterprise Linux for x86-64) 2021.1 (Build 215U) [HealthConnect:3.3.0] installed.

When I try to compile a script that includes a Python ClassMethod, such as this "testpy.cls":

ClassMethod python() As%Status [ Language = python ]
{
    # prova python
    print("hello world")
}
4
0 316
Question Pietro Di Leo · Oct 8, 2023

Hello everyone,

Is there a way to prettify the JSON streams in the incoming HTTP messages so that they are more readable in Visual Trace?

The HTTP messages sent by many software aren't prettified and are displayed like this in the Visual Trace:

On the other hand, other software like Postman prettify the messages and they are displayed in this way:

I know there is a JSON Formatter class, however what I would like is an automatic setting that automatically prettifies the JSON displayed in the Visual Trace without having to go through code.

Is there anything similar? 

3
0 331
Question Pietro Di Leo · Sep 22, 2023

Hi everyone,

Today I have a simple yet potentially valuable question: How can I begin a new line of text within $$$LOGINFO or $$$TRACE?

For instance, if I need to display a long log message within the visual trace, is it possible to do something like this:

$$$LOGINFO("object: 'This is a try'"
    _"this is the second line with an example parameter: "_x
    _"this is the third line with an example parameter: "_y
    ")

Does anyone know if such a feature exists? It has the potential to greatly enhance code readability and layout. 

Thanks :) 

6
0 975
Question Pietro Di Leo · Sep 11, 2023

Hi everyone, 

I'm working on a Business Operation whit an HTTP Outbound Adapter and I would like to know if is possible to adjust the FailureTimeout value based on the incoming message type. For example, I would like to have a FailureTimeout of 60 seconds for the standard operations and a FailureTimeout of -1 (wait forever) for few special operations that absolutely need a response. 

Can we dynamically modify the FailureTimeout through code, based on either the incoming message type or a specified parameter?n the incoming message type or depending by a parameter?

For example, something like: 

10
0 563
Question Pietro Di Leo · Sep 7, 2023

Hi everyone,

I have a question related to a strange issue I've been experiencing over the last few days.

Context

I'm attempting to create an automatic resending system that, if no reply is received from the server, raises an error and re-sends the message. This process continues for the a duration defined by the FailureTimeout (e.g., 20 seconds), and a new message is being sent every 5 seconds until the FailureTimeout is reached. If no response was obtained from the server, the system returns an error. 

Issue

2
0 281
Question Pietro Di Leo · Aug 11, 2023

Hi everyone,

Lately, I've been spending a lot of time with Visual Studio Code (VSC), and I've been wondering if there's a terminal or a panel within VSC that acts like the Intersystems Studio Output panel, which serves both as an input and output window and allows the execution of ObjectScript commands.

Could anyone help? Thanks :)

11
1 419