Hi Community,
An error occurs during the analysis process in the FHIR SQL Builder. How can I identify the exact cause of the error?
Hi Community,
An error occurs during the analysis process in the FHIR SQL Builder. How can I identify the exact cause of the error?
In the modern healthcare landscape, finding clinically similar patients often feels like looking for a needle in a haystack. Traditional keyword searches often fail because medical language is highly nuanced; a search for "Heart Failure" might miss a record containing "Congestive Cardiac Failure."
I am excited to share iris-medmatch, an AI-powered patient matching engine built on InterSystems IRIS for Health. By leveraging Vector Search, this tool understands clinical intent rather than just matching literal strings.
This is an excellent candidate for a developer community post (like Dev.to, Medium, or the InterSystems Community). It bridges the gap between high-level architecture and hands-on implementation.
Here is the summarized article format.
As applications scale, handling heavy computational tasks synchronously becomes a bottleneck. Whether it's processing large data sets, sending high-volume emails, or managing API integrations, a decoupled architecture is essential.
What is a FHIR Profile?
A FHIR profile is a collection of rules and constraints used to customize and refine a base Fast Healthcare Interoperability Resources (FHIR) resource. Profiling is a vital process that adapts the base FHIR resource standard to satisfy the unique requirements of a specific use case, geographic region, medical institution, or clinical workflow.
While the base FHIR specification provides generic, flexible definitions for resources (such as Patient, Observation, or Medication), profiles transform these generic resources into more precise ones. This ensures consistent and interoperable data exchange tailored for a particular community or implementation.
FHIR is designed to cover various healthcare scenarios globally. Profiles allow implementers to adapt this general platform without losing the benefits of standardization.
Overview
Embedded Python is a game-changer for InterSystems IRIS, offering access to the vast Python ecosystem directly within the database. However, bridging the gap between ObjectScript and Python can sometimes feel like translating between two different worlds.
To make this transition seamless using embeddedpy-bridge.
This package is a developer-centric utility kit designed to provide high-level ObjectScript wrappers, familiar syntax, and robust error handling for Embedded Python.
Hello Community,
What is the correct way to import and compile .dfi files when using zpm load? Do .dfi files need to be defined in module.xml?
I have code that imports the .dfi file successfully; however, when I runzpm "load /home/irisowner/dev/ -v"
I get the message: Unknown file type. Skipping file: .pivot.DFI
zpm "install isc-dev"
do ##class(dev.code).workdir(dir)
do ##class(dev.code).import("*.DFI")Thank you!
Validating JSON data against JSON Schema is a common requirement for modern applications. FastJsonSchema brings this capability natively to InterSystems IRIS, combining speed, simplicity, and full schema compliance.
Unlike traditional validation approaches, FastJsonSchema generates native ObjectScript code from your JSON Schemas and compiles it directly to iris object code, enabling idiomatic performance without relying on external libraries or runtimes.
IRIS offers a dedicated feature for storing and retrieving JSON documents using DocDB, without requiring a predefined schema.
Developers often need a quick and intuitive way to browse, create, and edit documents without switching between multiple tools or writing repetitive code. To solve this, I created iris-docdb-ui — a CSP-based open-source application that provides a clean, responsive interface for interacting with DocDB effortlessly.
What is XML?
XML(eXtensible Markup Language) is a flexible, text-based, andplatform-independentformat used to store and transport data in a well-structured way that is both human- and machine-readable. XML permits users to define custom tags to describe the meaning and organization of their data. For example: <book><title>The Hitchhiker's Guide</title></book>.
An XML document is self-descriptive and structured as a hierarchical tree of elements. Every document has a single root element that encapsulates all other content.
Hello Community,
When I compile the Sample.User class for the first time, and include an ObjectGenerator method intended to run certain logic during each compilation, it throws a <CLASS DOES NOT EXIST> error. However, recompiling the same class works as expected.
I understand this happens because the class hasn’t been fully compiled yet during the first pass. To overcome this issue, are there any specific callback methods available that can safely be used after the class is fully compiled?
Hello Community
The InitialExpression keyword values does not to set default values for properties in classes that extend %CSP.Page, unlike in other class types such as %Persistent or %RegisteredObject, where it works as expected during object instantiation (typically via %New()).
Thank you!
FHIR Server
A FHIR Server is a software application that implements the FHIR (Fast Healthcare Interoperability Resources) standard, enabling healthcare systems to store, access, exchange, and manage healthcare data in a standardized manner.
Intersystems IRIS can store and retrieve the following FHIR resources:
Fast Healthcare Interoperability Resources (FHIR) is a standardized framework created by HL7 International to facilitate the exchange of healthcare data in a flexible, developer-friendly, and modern way. It leverages contemporary web technologies to ensure seamless integration and communication across various healthcare systems.
IrisTest is a light weight, powerful, user-friendly tool designed to simplify unit test report generation. It includes an interactive shell and API to facilitate communication, allowing developers to easily manage and generate reports for their test runs in various formats. Whether you're debugging or creating detailed reports for analysis, IrisTest makes the process smooth and efficient!
Hello Community
I was running code in the terminal and attempted to interrupt its execution. During that process, I encountered an application error with a log entry dated 01/06/1841, the date seems unusual..png)
Error <INTERRUPT>ErrST+6^%ETN occurred within %ETN itself. Detailed information cannot be logged.
This article is a continuation of the IRIS JSON project and features additional methods and insights.
Let's continue with the instance methods
This instance method is used to determine the JSON data type of the %DynamicObject or %DynamicArray.
It returns one of the following strings:
|
|
USER>Set array = [1,"test",true,12.JSON
JSON (JavaScript Object Notation) is a lightweight, text-based format designed for structured data interchange. It represents data objects consisting of key–value pairs and arrays, and it is entirely language-independent.
Hello Community
The InterSystems IRIS Community License for Iris version 2024.1 is about to expire. I would like to know if there’s a way to extend this license, or if I need to upgrade to the latest version of Iris.
Thanks!
Hello Community,
I got below error while connecting the IRIS studio. However, executes Write ##class(%File).DirectoryExists("c:\intersystems\irishealthcomm\mgr\hscustom")returns true and terminal and SMP works
.png)
thanks!
Overview
Fast Healthcare Interoperability Resources (FHIR) is a standardized framework developed by HL7 International to facilitate the exchange of healthcare data in a flexible, developer-friendly, and modern way. It leverages contemporary web technologies to ensure seamless integration and communication across healthcare systems.
Key FHIR Technologies
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="/test" Method="POST" Call="User.Sample:Test" Cors="true"/> ),
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!
Hello Community,
I encountered the following errors while installing the ZPM module on version 2025.1. The ZPM install command failed on the Community Edition of IRIS for Health.
Skipping installation of python wheel 'attrs-25.1.0-py3-none-any.whl' due to error: '0 ;«WCould not find a suitable pip caller. Consider setting UseStandalonePip and PipCallerÓUSERÇ'e^OnAsStatus+1^%Exception.General.1^1/e^AsStatus+1^%Exception.AbstractException.1^15e^OnPhase+28^%IPM.ResourceProcessor.PythonWheel.1^1)e^%Initialize+8^%IPM.Lifecycle.Base.1^1-e^ExecutePhases+163^%IPM.Storage.Module.Hello Community,
When I run the following code with x undefined in terminal, it throws a syntax error and returns control to the program stack. After issuing a GO command, execution continues, and setting the global variable ^zz1.
code 1:
test.mac
if $Data(@x@(a,b,c)) {
set ^zz1=1212
}
write !,1212,!
//
//or
if $Data(@x@(a,b,c)) set ^zz1=1212
write !,1212,! if I assign the result of $D(@x@(a,b,c)) to a local variable like d using set d=$D(@x@(a,b,c)), and then use if d { ... }, the code fails(global is not set) working as expected.
Code 2
Hello Community,
Is it possible to retrieve/find all the names of subroutines, procedures, or functions from a deployed routine?. in the routine below, how can I extract names like x2 and execsql? I’ve just tried using openId on %RoutineMgr but it didn’t help.
xdeploy.mac
xdeploy
quit
x2 ; test1
write 123
q
execsql(sql) ; test2
Set tResult = ##Class(%SQL.Statement).%ExecDirect(,sql)
Return tResult
Thanks
Hello Community,
I executed the below query in the %ZLANGC00.mac routine. It returns results when using dynamic SQL, but not with embedded SQL(returns 0).
&SQL(SELECT count(*) INTO :Cnt FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE'")
Write "SQL Table count : "_Cnt,!
Set tResultSet = ##class(%SQL.Statement).%ExecDirect(,"SELECT count(*) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE'")
Do tResultSet.%Display()Thanks!
Hello Community,
When retrieving strings from the DAO, if the string exceeds the capacity of an ObjectScript string variable, it returns <MAXSTRING>. To prevent this, use dao.%Get(key, default, "stream") to retrieve the value as a stream (%Stream.DynamicBinary). However, Why can't we use other stream objects such as %Stream.TmpCharacter instead of %Stream.DynamicBinary/%Stream.DynamicCharacter (I understand It is not possible to create a direct object instance for %Stream.Dynamic* classes) .
Hello Community,
I have a queue that I need to traverse and perform operations on. To distribute the workload across multiple processes, I used a Work Queue Manager do process and I'm not expecting any status from it So, I skipped Sync / WaitForComplete in my implementation
Hello Team,
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
import intersystems_iris as iris
args = {'hostname':'127.0.0.1', 'port':1972,'namespace':'LEARNING', 'username':'_SYSTEM', 'password':'SYS'}
try:
conn = iris.Hello Community,
The subroutine ^routine is not executed while the queue is being processed in WorkMgr. However, it works when defined as a function. Is it mandatory to define subroutine^routine as a function for it to execute properly?
testwqm.mac
set wqm = ##class(%SYSTEM.WorkMgr).%New()
set sc=wqm.Queue("subr1^testwqm") ; not executing the subr1
set sc=wqm.Queue("subr2^testwqm") ; executing the subr2 properly
set sc=wqm.