
Now that we have a good understanding of Python and its features, let's explore how we can leverage Python within IRIS.
Application Programming Interface (API) is a set of subroutine definitions, protocols, and tools for building application software. In general terms, it is a set of clearly defined methods of communication between various software components.

Now that we have a good understanding of Python and its features, let's explore how we can leverage Python within IRIS.
In this 3-part series of articles, is shown how you can use IAM to simply add security, according to OAuth 2.0 standards, to a previously unauthenticated service deployed in IRIS.
In the first part, was provided some OAuth 2.0 background together with some IRIS and IAM initial definitions and configurations in order to facilitate the understanding of the whole process of securing your services.
REST API (Representational State Transfer Application Programming Interface) is a standardized way for web applications to communicate with each other using HTTP methods like GET, POST, PUT, DELETE, etc. It's designed around resources, which can be anything from a user to a file. Each resource is identified by a unique URL, and interactions with these resources are stateless, meaning each request from a client to a server must contain all the information needed to understand and process the request.
Dear community, I have a confession to make. I have not gotten over Zen yet. Alas, all good things must come to an EOF, so I am currently learning about Angular. I am working on proving to myself that with the right back end and Angular components, I can deliver to myself and my team a very Zen-like experience in this environment. Since this is my first attempt, here is a fair warning: I will be providing some rather large code samples before discussing them. Please warm up your mouse and hand for extensive upcoming scrolling!
Hello Community,
Is there a programmatic method or specific property to differentiate system-defined (/csp/altelier , /api/mgmnt and so on) or user-defined web applications in IRIS?
Thanks!
Hello Community,
When handling a %CSP.REST API response for a custom endpoint, how can I capture or access the response content before it is written to the output buffer and sent through the Web Gateway to the UI?
In manually created REST services (for example, with a route like:<Route Url= ),
the response is typically written from within any class method in the execution flow.
Is there a way to intercept or log the response content before it is sent to the client?
Thanks!
Hi community,
A few weeks ago I published an API accelerator call Memoria, Is a very simple way to minimize the time and network traffic to and end-point, I hope could be useful.
The link in openexchange: https://openexchange.intersystems.com/package/memoria
Regards!
I'm using a %Net.HttpRequest which had been successful in the past, but started failing at some point with a SSL/TLS protocol error.
ERROR #6085: Unable to write to socket with SSL/TLS configuration 'groundca', error reported 'SSL/TLS error in SSL_connect(), SSL_ERROR_SSL: protocol error, error:14077102:SSL routines:SSL23_GET_SERVER_HELLO:unsupported protocol'
The SSL/TLS configuration:
.png)
The request's SSLConfig is set to the "groundca" config when making the request.
A request using the same URL, API key, and CA file through Curl receives the desired response from the API at "https://osrd.
For a long time I have wanted to learn the Django framework, but another more pressing project has always taken priority. Like many developers, I use python when it comes to machine learning, but when I first learned web programming PHP was still enjoying primacy, and so when it was time for me to pick up a new complicated framework for creating web applications to publish my machine learning work, I still turned to PHP.
IRIS supports CCDA and FHIR transformations out-of-the-box, yet the ability to access and view those features requires considerable setup time and product knowledge. The IRIS Interop DevTools application was designed to bridge that gap, allowing implementers to immediately jump in and view the built-in transformation capabilities of the product.
.png)
Hi Community,
In this article, I will introduce my application iris-fhir-bridge
IRIS-FHIR-Bridge is a robust interoperability engine built on InterSystems IRIS for Health, designed to transform healthcare data across multiple formats into FHIR and vice versa. It leverages the InterSystems FHIR Object Model (HS.FHIRModel.R4.*) to enable smooth data standardization and exchange across modern and legacy healthcare systems.
Google Forms is the most popular solution on the market for collecting data, answering questionnaires and quizzes. So, it is the ideal solution for collecting patient data and responses in a practical way, without the need to expand or develop systems. In this article, I will detail how to create an account on Google Cloud, register the application that will consume the Google Forms API, generate the service user necessary to consume the API and finally perform actions to create new forms and collect data filled in them in an automated way in embedded Python and IRIS.
Hi community.
I was wondering if it was possible to use something like EnsLib.SQL.InboundAdapter with tables in IRIS.
This library monitors when a record has been inserted into a table in an external database, so it requires a DSN to connect to that database.
My goal is to make a call to an external API that takes a long time, it could spend nearly an hour (or more) completing its processes, but I don't want to block the main process.
This article presents a potential solution for semantic code search in TrakCare using IRIS Vector Search.
Here's a brief overview of results from the TrakCare Semantic code search for the query: "Validation before database object save".
There are numerous embedding models designed for sentences and paragraphs, but they are not ideal for code specific embeddings.
Three code-specific embedding models were evaluated: voyage-code-2, CodeBERT, GraphCodeBERT
# IRIS-Intelligent Butler
IRIS Intelligent Butler is an AI intelligent butler system built on the InterSystems IRIS data platform, aimed at providing users with comprehensive intelligent life and work assistance through data intelligence, automated decision-making, and natural interaction.
## Application scenarios
adding services, initializing configurations, etc.
Hi all,
As part of the development an API to know what is the instance of IRIS is connected, I've found some methods to know information about the server that can help you.
Get the server name: $SYSTEM.INetInfo.LocalHostName()
Get the server IP: $SYSTEM.INetInfo.HostNameToAddr($SYSTEM.INetInfo.LocalHostName())
Get the instance name: $PIECE($SYSTEM,":",2)
So, I have created the following code as BS class:
ClassExtends%CSP.RESTCalling the method:
localhost:52773/common/api/check
{
"ServerName": "LAPTOP-KURRO-3",
"ServerIP": "11.52.197.99",
"Instance": "HEALTHCONNECT"
}Hi,
i'm with a trouble to take the api/monitor/alerts using prometheus.
i'm using prometheus 3.2.1 with IRIS 2022.1, the api metrics is working fine, but with the alerts, i'm receiving the following error:
.png)
and this is the answer in the request:
it apears the iris is not using the right way to answer the OpenMetrics the way Prometheus want.
Someone already see this?
In 2023, according to IDC, Salesforce's market share in CRM reached 21.7%. This company owns a substantial amount of critical corporate business processes and data, so the InterSystems IRIS must have an interoperability connector to fetch data from the Salesforce data catalog. This article will show you how to get any data hosted by Salesforce and create an interoperation production to get data and send it to such targets as files and relational databases.
1. Go to https://developer.salesforce.com/signup:
In the world of APIs, REST is very extended. But what happens when you need more flexibility in your data-fetching strategies? For instance letting the client to choose what fields is going to receive. Enter GraphQL, a query language for your APIs that provides a flexible alternative to REST.
In this post, we will:
Hello all,
We are currently developing a set of cubes in Unified Care Report (UCR) for data analysis purposes. However, we are encountering issues with cube dependencies, where certain cubes rely on others to be compiled beforehand. The complexity of these dependencies is becoming increasingly difficult to manage, particularly when attempting to deploy the cubes.
The problem arises when trying to compile a cube that depends on another cube, which may also have its own dependencies. For instance, when compiling the Test.Cube.EncounterHealthPlans
As you might have heard, we just introduced the InterSystems API Manager (IAM); a new feature of the InterSystems IRIS Data Platform™, enabling you to monitor, control and govern traffic to and from web-based APIs within your IT infrastructure. In case you missed it, here is the link to the announcement.
In this article, I will show you how to set up IAM and highlight some of the many capabilities IAM allows you to leverage.
I have a scenario where I send a GET request to a broker and receive a FHIR response. When I attempted to use the built-in InterSystems functions to convert this FHIR response into SDA, the transformation failed—likely because it is not a standard FHIR request.
How should I handle this situation? Is there a recommended approach to processing FHIR responses in this context?
Additionally, if I manage to convert the FHIR response into a request format, I noticed that the broker sends a Task resource.
I understand that InterSystems provides functions to facilitate transactions between FHIR and HL7 via the SDA segment. My question is:
What would be the best approach in this scenario?
Hello, I have a problem with a call and I would need some help.
When I call an API with the SendFormDataArray method of the EnsLib.HTTP.OutboundAdapter adapter, I pass it a %Net.HttpRequest object and I receive the following error:
ERROR #5002: ObjectScript error: <SUBSCRIPT>MatchSuffix+1^%Net.HttpRequest.1 ^%qPublicSuffix("")
I have correctly entered the url in my business operation and I pass it in the last parameter of the SendFormDataArray method. Do you have any idea, please?
Method XRPUAuthentification(pInput AsAsHi, I am currently setting up a new API using %CSP.REST - I've gotten swagger spec generation to work like such:
ClassExtends%CSP.REST%CSP.RESTThis correctly reads all the endpoints inside the TestController based on the UrlMap, but it does not know the return type
I would like to be able to add additional info to each individual endpoint, for starters to manually define the possible return types/objects, as well as parameters from the %request, directly inside a comment above the ClassMethod.
Hello everyone,
I’m facing issues with replicating data from my Caché 2016 database to a PostgreSQL database. I need to handle around 300 data updates per minute, and whenever certain tables are modified, those changes must be reflected in other databases.
So far, I’ve tried various approaches, including:
However, each of these solutions has led to performance bottlenecks and system lockups.
Everytime I try to send a POST FHIR bundle I'm getting the following response: 404 Not Found. I'm not really sure why, although it works fine with a GET!
This is an example:
.png)
Response:
It might be something related to request path but not really sure.
And this is the HTTP service I'm using
I tried this with Postman and it's working as expected
Am I missing something ?
Hello Community,
Is there any built in methods available to generate the both HTTP message format(request/response) from %Net.HttpRequest and it's response.
Thanks!
Last Chapter: Creating a REST client to get Tracks from Spotify REST API - Part4 Save the Search Result
Git link: https://github.com/ecelg/InterSystems-IRIS-as-a-Spotify-REST-client
OK.... based on what I have done.... I am able to
1. Query Track information by making use of the Spotify API
2. Store the necessary data into my own album, artists, and track table
so.... what next?🤔 How about I set up my own REST API service on my IRIS for the other people to query my table?🤔🤨