Every so often, I would encounter a request for some GPG support, so I had several code samples written for a while, and I thought to combine all of them and add missing GPG functionality for a fairly complete coverage. That said, this Business Operation primarily covers data actions, skipping management actions such as key generation, export, and retrieval as they are usually one-off and performed manually anyways. However, this implementation does support key imports for obvious reasons. Well, let's get into it.
I have MacBook Pro M3 and I'm new to the IRIS for Health setup / installation with all pre-requisite / requirements so someone could please help me with detailed instructions on how to setup IRIS for Health (HL7 & FHIR) from scratch along with SQL Server? I have Windows 11 installed in parallel desktop if that's required and complete installation / setup is not possible on MacBook.
InterSystems IRIS 2025.2.0 introduces several features to improve the user experience of configuring OAuth2.
- OAuth2 is now a native authentication type and can be easily enabled for your services and web applications. Previously, OAuth2 was a type of delegated authentication.
- You can now create resource servers with the new OAuth2.ResourceServer class, which simplifies resource server configuration significantly. Previously, resource servers were instances of OAuth2.Client.
Surely you wanted to use the OpenAPI Specification (OAS) JSON you used for your spec class on the iris-web-swagger-ui iris package. The generated OAS from the ##class(%REST.API).GetWebRESTApplication(...) method is very crude, with no description on the parameters or the expected response structure.
So after creating your REST application from an OAS you should have:
https://www.youtube.com/embed/08uvm1zjC7Y [This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]
I need to connect to a SFTP server and I seem to connect and timeout have tested the connection using File-zilla and the connection was successful but the problem is when I try to connect using the FTP in bound adapter service I get the following errors.
ERROR <Ens>ErrOutConnectExpired: FTP Connect timeout period (120) expired for ***************.com:990/******/SSL='********* + ERROR <Ens>ErrFTPConnectFailed: FTP: Failed to connect to server ***************.com:990/******/SSL='********* (msg='Timeout waiting for response',code=529)
I noticed today that when adding a namespace (localhost) to the Workplace in VS Code, it is being created as read-only.
I haven’t encountered this issue before - previously, I was able to add the namespace with full access and could edit files without any problems. The settings appear to be the same as before.
https://www.youtube.com/embed/e1nLoI5apGg [This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]
I know that people who are completely new to VS Code, Git, Docker, FHIR, and other tools can sometimes struggle with setting up the environment. So I decided to write an article that walks through the entire setup process step by step to make it easier to get started.
I’d really appreciate it if you could leave a comment at the end - let me know if the instructions were clear, if anything was missing, or if there’s anything else you'd find helpful.
The setup includes:
✅ VS Code – Code editor ✅ Git – Version control system ✅ Docker – Runs an instance of IRIS for Health Community ✅ VS Code REST Client Extension – For running FHIR API queries ✅ Python – For writing FHIR-based scripts ✅ Jupyter Notebooks – For AI and FHIR assignments
Before you begin: Ensure you have administrator privileges on your system.
In addition to reading the guide, you can also follow the steps in the videos:
For Windows
https://www.youtube.com/embed/IyvuHbxCwCY [This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]
Say I have an ObjectScript object called Book. It has 2 properties title and author. It extends JSON.%Adaptor, so I can call book.%JSONExport() and get this output:
{ "title": "For Whom the Bell Tolls", "author": "Hemmingway" }
In my web service I want to have a search function that returns an array of Books along with the total number of responses, like this:
I got the PROTECT error while running functions. But, I could able to call the classmethods and methods in class definition with classMethodObject, classMethodValue etc.. from python. without any errors python code
I got xDBC protocol is not compatible while executing python script. How to fix this error
C:\Users\ak\Desktop\lpyth\iris>C:/Users/ak/AppData/Local/Programs/Python/Python312/python.exe c:/Users/ak/Desktop/lpyth/iris/irisconn.py An error occurred: connection failed: IRIS xDBC protocol is not compatible
py -m pip list Package Version ------------------ --------- intersystems-iris 3.9.2
We are pretty new to Ensemble and we are considering on using a default setup for our production. Let me explain the situation. We have one sender that sends HL7 ADT messages to our system. We have 60+ other systems that need to recieve ADT messages. We where thinking on a few ways on how to do the setup.
I have the class ConfigUtils.ConfigSettingsTable, which is a persistent object. I know I need to map packages from the original namespace. In this case, I have mapped ConfigUtils.ConfigSettingsTable from the originating namespace (IRISTST database) across all other namespaces.
If you're solving complex problems in ObjectScript, you probably have a lot of code that works with %Status values. If you have interacted with persistent classes from an object perspective (%Save, %OpenId, etc.), you have almost certainly seen them. A %Status provides a wrapper around a localizable error message in InterSystems' platforms. An OK status ($$$OK) is just equal to 1, whereas a bad status ($$$ERROR(errorcode,arguments...)) is represented as a 0 followed by a space followed by a $ListBuild list with structured information about the error. $System.Status (see class reference) provides several handy APIs for working with %Status values; the class reference is helpful and I won't bother duplicating it here. There have been a few other useful articles/questions on the topic as well (see links at the end). My focus in this article will be on a few debugging tricks techniques rather than coding best practices (again, if you're looking for those, see links at the end).
Our software commonly returns a full result set to the client and we use the DataTables plugin to display table data. This has worked well, but at datasets grow larger, we are trying to move some of these requests server-side so the server handles the bulk of the work rather than the client. This has had me scratching my head in so many ways.
I'm hoping I can get a mix of general best practice advice but also maybe some IRIS specific ideas.