#Interoperability

7 Followers · 573 Posts

In healthcare, interoperability is the ability of different information technology systems and software applications to communicate, exchange data, and use the information that has been exchanged.

Question Colin Brough · May 9, 2024

We have a custom business service that is triggered by a scheduled task. The service queries a table, iterates over the result set and sends a message on to a business process for each result. Happy path functionality is all fine.

However, when there is an error detected in the business service code, neither throwing an exception nor returning an error %Status behaves as we'd expect.

Our error handling scheme, which is working for the other business processes and operations, is to throw an exception on error.

1
0 193
Article Vadim Aniskin · May 8, 2024 4m read

The OpenAPI Specification (OAS) defines a standard, language-agnostic interface to HTTP APIs which allows both humans and computers to discover and understand the capabilities of the service without access to source code, documentation, or through network traffic inspection. When properly defined, a consumer can understand and interact with the remote service with a minimal amount of implementation logic. While for SOAP based APIs there is a special wizard in InterSystems IRIS that cuts down orchestrations development time, not all APIs used in integrations are SOAP. That's why @Jaime Lerga suggested to add a wizard similar to the SOAP wizard to generate a REST client from OpenAPI specification. Implementation of this idea cuts down the development time of the REST API orchestrations with InterSystems IRIS. This idea is one of most popular ideas on the InterSystems ideas. This article, the third in the "Implemented Ideas" series, focuses on the OpenAPI Suite solution developed by @Lorenzo Scalese.
 

0
1 436
Question Pravin Barton · Apr 25, 2024

Is there a way to exclude specific members from a class when exporting to an XML or UDL file? Bonus question: is there a way to import from that file without overwriting those members that were excluded?

The use case is to export an interoperability production class without the ProductionDefinition XDATA. We plan to source control the production items through the Ensemble Deployment Manager, but we still need to export any custom code in the class definition itself.

3
0 207
Article Yuri Marx · Apr 23, 2024 8m read

The InterSystems IRIS has a series of facilitators to capture, persist, interoperate, and generate analytical information from data in XML format. This article will demonstrate how to do the following:

  1. Capture XML (via a file in our example);
  2. Process the data captured in interoperability;
  3. Persist XML in persistent entities/tables;
  4. Create analytical views for the captured XML data.

Capture XML data

The InterSystems IRIS has many built-in adapters to capture data, including the next ones:

  1. File Adapter: used to get files from network folders.
0
1 442
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 536
Article Ewan Whyte · Mar 19, 2024 3m read

Introduction

There is a Link Procedure Wizard option within the Management Portal (System > SQL >Wizards > Link Procedure) which I had reliability issues with so I decided to use this solution instead.

Problem

You need to query an external SQL database to use the response within a namespace. This guide is assuming that you already have a working stored procedure in SSMS although you could instead use a SQL block within the operation. Stored procedures in SSMS are preferred to maintain integrity, Embedded SQL can get very confusing if you have a complicated SQL statement.

2
1 524
Discussion Andre Ribera · Mar 27, 2024

I was reading this article and I started to get lost in the sauce since I'm new to CCDA. I was wondering if you all had some recommendations for digging into some of the basics needed in order to assimilate this? For instance where it says "Some of the built-in logic for handling CCDAs is controlled by the IHE header....There is little visibility into this process in the product documentation." Are there examples or places where you have been able to find some insight into this sort of thing or maybe this is something that comes with experience?

0
0 170
Article Hiroshi Sato · Mar 14, 2024 1m read

InterSystems FAQ rubric

Record maps are used to efficiently map files containing delimited records or fixed-width records to message classes used by the interoperability function, and to map files from interoperability function message classes to text files.

Record map mapping definitions can be created using the Management Portal, and we also provide a CSV record wizard that allows you to define while reading a CSV file.

To use a record map in production, just add a record map business service or business operation and specify the record map definition class you created.

0
1 543
Question Scott Roth · Jul 19, 2022

When I try to run Interoperability -> Interface Maps in 2022.1 on a very large namespace, I keep getting timeout errors. Even though I add filtering by Category, Text Search, etc... it still errors out no matter what. However if it is ran in one of our smaller namespaces it runs just fine. WRC told us the namespace is too big, however that should not matter on how many services, processes, and operations you have running. 

  • Has anyone had this issue with Interoperability - Interface Maps timing out because of the size of the namespace?
  • Does anyone have a way around
18
0 892
Article Guillaume Rongier · Feb 29, 2024 26m read

The objective of the article is to provide the reader with the following informations:

  • Configure and use the FHIR server
  • Create an OAuth2 Authorization Server
  • Bind the FHIR server to the OAuth2 Authorization Server for support of SMART on FHIR
  • Use the interoperability capabilities of IRIS for Health to filter FHIR resources
  • Create a custom operation on the FHIR server

Schema of the article:

Schema

3
6 518
Announcement Derek Robinson · Feb 27, 2024

Hi All! We have a new online course that those of you who do integration work / create data transformations may be interested in: Editing Data Transformations via Code. This course is meant to build familiarity with the code behind data transformations in InterSystems products, enabling you to identify their class structures, logical elements, and more. Directly editing code can provide an efficient way of updating DTLs in some scenarios, but building expertise with it is key, since you lose the guardrails that the UI provides if you go straight to code.

0
0 146
Article Heloisa Paiva · Feb 6, 2024 7m read

Introduction

Not so long ago, I came across the idea of using Python Class Definition Syntax to create IRIS classes on the InterSystems Ideas Portal. It caught my attention since integrating as many syntaxes as possible gives visibility to InterSystems’s products for programmers with experience in many languages.

The author of that idea pointed out the possibility of creating classes using Python’s syntax, in addition to the currently available ones on IRIS. This concept inspired me to write this article, exploring the possibilities of accessing the full InterSystems power employing only Python.

3
0 600
Question Minoru Horita · Feb 13, 2024

I am trying to create a program to upload blob files from IRIS to Azure Blog Storage, but with no luck.

 

First, I am trying the APIs, but  ##class(%Net.Cloud.Storage.Client).CreateClient() fails with the message "Cannot establish connection". Following the documentation, the parameters are like: CreateClient(, 1, credfile, , .tSC) where credfile specifies a file containing:

 

DefaultEndpointsProtocol=https
AccountName=aihpocsadicom
AccountKey=RealAccountKeyHere
EndpointSuffix=core.windows.net

 

Am I missing something?

1
0 366
Announcement Emily Geary · Feb 6, 2024

Hello Everyone,

The Certification Team of InterSystems Learning Services is in the process of developing an exam focusing on creating and working with TrakCare Integration, and we need input from our InterSystems TrakCare community. Your input will be used to evaluate and establish the contents of the exam.

How do I provide my input? We will provide a list of job tasks. You will rate them on their importance as well as other factors.

How much effort is involved? It takes about 15-20 minutes to fill out the survey.

How can I access the survey?

0
1 253
Article Rob Ellis · Jan 31, 2024 2m read

Do you ever spend an age entering criteria in the message viewer page, trying to find a message just to realise you're in the wrong instance of IRIS? 

Or get lost in a sea of message tabs struggling to spot that Visual Trace page your were JUST looking at?

Well, have you tried the IRIS WHIZ browser extension and its suite of tools designed to help you avoid such unpleasantness?

1
2 317
Announcement Anastasia Dyubaylo · Dec 21, 2023

Hi Developers,

We have exciting news! The new InterSystems online programming contest dedicated to all things health-related will start very soon! 

🏆 InterSystems FHIR and Digital Health Interoperability Contest 🏆

Duration: January 15 - February 4, 2024

Prize pool: $14,000

 

10
1 1705
Article Muhammad Waseem · Jan 22, 2024 2m read


All FHIR resources have a Meta element containing metadata about the resource. Some attributes are updated by the server, others are populated by the app constructing the resource.


Here are the 3 common attributes of FHIR’s Meta element: 

1. versionId
This is an ID that identifies a saved version of the resource on the FHIR server. Many servers use a GUID here, others use an integer. But it’s a string value, so don’t write code against this assuming a sequential integer, regardless of what the server does.

2. lastUpdated
The date and time that the resource was last updated, populated by the server.

0
0 600
Question Prasanth Annamreddy · Oct 24, 2023

We are running Batch job in scheduled task and the messages are picking in single session and it is not easy to trace the record.

I used the Set ..%SessionId= "" at before sending the message to BP but I see the session Id is '1' created for each message.

Is there anyother way to create new session for each message sending to BP?

Thanks,

2
0 488
Article Muhammad Waseem · Jan 16, 2024 2m read

In the context of HL7 FHIR (Fast Healthcare Interoperability Resources), the terms "id" and "identifier" refer to specific elements used for identifying resources within the FHIR data model. For a newbie, these terms can be confusingly similar, but they serve distinct purposes.  

Look at the below Patient resource for August T. Faulkner:

The resource has an id of “1” — generated by the FHIR server when the resource was created.
Patient August T. Faulkner also has a identifier (Medical Record Number) — possibly provided by the hospital — of 78510398960

0
0 1126
Article Anssi Kauppi · Jun 30, 2020 3m read
Many organisations implement centralised log management systems to separate and centralise the log data in order to e.g. automate threat detection (and response) and to comply with regulatory requirements. The primary systems of interest are the various user facing applications, but increasingly also other kinds of systems including integration platforms.

What comes to the data platform (not the user facing application) most of the the events of interest/required are available as predefined system audit events in audit log - out of the box. They just need to be enabled.

2
2 529
Announcement Evgeny Shvarov · Jan 14, 2024

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-><--break->

2
0 306
Announcement David hay · Jan 14, 2024

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.

0
0 436