Hi Developers!

Here are the technology bonuses for the InterSystems FHIR and Digital Health Interoperability Programming Contest that will give you extra points in the voting:

  • InterSystems FHIR usage - 3
  • InterSystems FHIR SQL Builder usage - 3
  • Digital Health Interoperability - 4
  • LLM AI or LangChain usage: Chat GPT, Bard and others - 3
  • Embedded Python - 2
  • IRIS For Health Instruqt Survey - 2
  • Docker container usage - 2
  • IPM Package deployment - 2
  • Online Demo - 2
  • Implement InterSystems Community Idea - 4
  • Find a bug in InterSystems FHIR server - 2
  • Find a bug in InterSystems Interoperability - 2
  • New First Article on Developer Community - 2
  • New Second Article on Developer Community - 1
  • First Time Contribution - 3
  • Video on YouTube - 3

See the details below.<--break->

0 2
0 173
Announcement
· Jan 14
What is clinFHIR?

clinFHIR is a web application that has been developed pretty much over the same time as FHIR has.

Originally developed to help clinicians visualize FHIR (hence the ‘clin’ in the name) it has become more widely used by the FHIR community for learning FHIR and assisting with design. It is maintained by David Hay - one of the FHIR Management Group co-chairs with support from InterSystems, which is much appreciated!

There are 4 modules that may be of interest to participants in the upcoming Interoperability contest.

  • The Patient viewer for looking at an individual patients records
  • Server Query which makes RESTful API calls against a FHIR server displaying the result in different formats
  • Bundle Visualizer which will display the contents of a bundle
  • Graph Builder which allows you to build graphs of interconnected resources.

I’ve created a longer post on google docs that goes into a little more details of these modules, with links to other resources such as my blog and the R4 Specification and R5 FHIR specification. I’ll be enhancing that over time - feel free to comment.

A note with regard to FHIR versions. The latest version is R5 (release 5), though many in the community still use R4. In most cases, if you're not sure then use R4. If you're not sure which version a FHIR Server supports, examine its CapabilityStatement which you can get from the server endpoint [host]/metadata

I should also point out that clinFHIR doesn’t currently use SSL. It is on the roadmap, but there are a few issues to work through. The consequence of this is that if you enter ‘clinfhir.com' into the browser, it may not find it. You sometimes have to specify http://clinfhir.com/ .

If you need further assistance, I would alway recommend using the FHIR chat, and if your question / comment / suggestion is related to clinFHIR then there’s a specific stream there.

2 0
0 125

Introduction

This article aims to explore how the FHIR-PEX system operates and was developed, leveraging the capabilities of InterSystems IRIS.

Streamlining the identification and processing of medical examinations in clinical diagnostic centers, our system aims to enhance the efficiency and accuracy of healthcare workflows. By integrating FHIR standards with InterSystems IRIS database Java-PEX, the system help healthcare professionals with validation and routing capabilities, ultimately contributing to improved decision-making and patient care.

2 3
0 180

Motivation

The motivation behind the InterLang project is rooted in the innovative integration of LangChain chatbot agents with the Fast Healthcare Interoperability Resources (FHIR) framework to revolutionize conversational social prescriptions in healthcare. This project aims to leverage the rich and standardized data available through FHIR, an emerging standard in healthcare data exchange, to inform and empower these advanced chatbot agents.

4 5
0 221

Overview

In our previous post, we discussed the motivation for developing a chatbot agent with access to FHIR resources. In this post, we will dive into the high-level design aspects of integrating a Streamlit-based chat interface with a Java SpringBoot backend, and enabling a LangChain agent with access to FHIR (Fast Healthcare Interoperability Resources) via APIs.


2 1
0 114
Question
· Oct 17, 2023
FHIR Profile Validation Issues

Hello Community,

I've created my FHIR patient profile and POST into FHIR endpoint in Intersystems FHIR Server.

http:localhost:52773/fhirr4/StructureDefinition

I use the profile url into my Patient resource without the meet the profile requirements.

http:localhost:52773/fhirr4/Paient

The resource is stored successfully in the FHIR Server instead of a FHIR exception.

Why the resource doesn't validate with the mentioned profile?

0 8
0 138

Is there a difference in outcome between the two screengrabs below?

In both cases, when certain conditions are met, a transformation is called and the output sent on to two targets. In the first case we surmise the transformation is called twice, and the output of the first run sent to the first target, the output of the second run to the second target. In the second case we surmise the transformation is called once, and the output duplicated and sent to the two targets.

0 1
0 131

If you work with Productions, highlighting connections between Business Hosts is a very convenient feature, allowing developers to get a visual representation of a data flow.

This feature works by default with all system Business Hosts. If a user writes their own Business Services, Processes, or Operations, they must implement the OnGetConnections method for this functionality to work with their custom Business Hosts (or use Ens.DataType.ConfigName properties for connections).
That said, the SMP shows only the first layer of connections of the selected Business Host. Sometimes, we need to get connections of connections recursively to build a complete data flow graph. Or we might need this connection information to check which downstream systems might be affected by a change upstream.

3 4
1 219

I have created a FHIR endpoint and send the FHIR resource to FHIR Interoperability production class which is HS.FHIRServer.Interop.Service through the the created endpoint(/r4). I can able to see/get the HS.SDA3.QuickStream(It use CacheTemp.HS.Stream temporary global) on the fly(In between the process). I'm unable to get the FHIR resource from the QuickStream once the process completed. Is this HS.SDA3.QuickStream is wiped out from the system once process completed?

0 1
0 190

Hi Interoperability experts!

Recently noticed an interesting conceptual discussion in our Interoperability Discord channel to which I want to give more exposure.

All we know that typical InterSystems Interoperability production consists of the following chain:

Inbound adapter->Business Service->Business Process->Business Operation->Outbound adapter.

And Business Process (BO) here is always considered as a passive "listener" either on port/folder/rest API for an incoming data.

2 4
0 236

Wanted to share something I learned recently while working on a problem. We needed to add and change some Business Hosts in one of our edge productions.

In the past, we simply added the production class to CCR and then spreading it around. But there was a problem because different developers were working on different things, and we only wanted to include only the relevent production changes onto the CCR.

Here's a little piece of code that can help add new things to an existing production:

3 0
2 141

Hi All,

If I remember it correctly there is a functionality in IRIS to make this possible.

I've got two incoming Business Services of files from different sources.

BS1: An Ens.StreamContainer with some info and metadata which point to a specific file. Ens.StreamContainer will be send to a BP.

BS2: The files where the metadata points to. It's in the Ens.StreamContainer

But dependent on the flow the file could be later available on BS2. So I want the BPL to wait for the file to arrive at BS2.

0 4
0 141

Hi All,

We're doing our first babysteps with embedded Python and IRIS with an interoperability solution. We want to convert a CSV file to an Excel xlt file.

As service we've got a EnsLib.File.PassthroughService which picks up a csv file

As operation we've got a EnsLib.File.PassthroughOperation which writes the Excel file.

In the middle:

We've created an Business Process with an %Stream.GlobalCharacter in the Request and a %Stream.GlobalCharacter in the Response.

0 3
0 272

Hi,

Using Interoperability, I can't figure out how to create separate XML's files from a CSV-file using the GUI-features Record Maps/Complex Record Mapper -> Data Transformations. I'm familiar with reading/writing the files using File Service/Operation, but don't understand the processing-steps.
The preferred method by my colleagues is to do this without any Objectscript or Embedded Python coding, but if this can only be done by some coding that's fine as well.

See example below.
Any help is appreciated!

Kind regards,
Ties Voskamp

0 2
0 190

When creating custom Business Hosts, it's often necessary to add properties to the class for additional settings that will be used in the initialization or operation of the host. The property name itself isn't always very descriptive, so it's an advantage to have a custom caption display with the field.

In Caché, it was fairly straightforward:

8 4
3 267