Hey Community!
We're happy to share the next video in the "Code to Care" series on our InterSystems Developers YouTube:
InterSystems IRIS for Health™ is the world’s first and only data platform engineered specifically for the rapid development of healthcare applications to manage the world’s most critical data. It includes powerful out-of-the-box features: transaction processing and analytics, an extensible healthcare data model, FHIR-based solution development, support for healthcare interoperability standards, and more. All enabling developers to realize value and build breakthrough applications, fast. Learn more.
Hey Community!
We're happy to share the next video in the "Code to Care" series on our InterSystems Developers YouTube:
I'm creating a Business Process that:
The Business Process is created with BPL, and objects are stored in BP context. When I execute this Process, in the 3rd point the object obtained in first transformation doesn't exist. It's empty.
i got a particular application where i want that a user could only write to a DB without the reading permission. is this possible?
Hi all,
I'm exited to announce a GitHub Action to do direct deploy code from a github repository direct to a IRIS Instance.
Pleas visit https://openexchange.intersystems.com/package/Github-Action-IRIS-Deployer
Over the past couple of months, I have been working on the SMART on FHIR EHR Launch to test the capabilities of IRIS for Health using two open-source apps from CSIRO: SMART-EHR-Launcher and SMART Forms App. This journey has been incredibly interesting, and I’m truly grateful for the opportunity to work on this task and explore more of IRIS for Health’s potential.
After successfully demonstrating the seamless launch of multiple external SMART apps at the HL7 AU FHIR Connectathon, I’m excited to share what I’ve learned with the community.
For background, I've developed code that relies on %JSON.Adaptor functionality across an entire package of classes in our codebase. In regenerating these classes with %JSON.Adaptor as a superclass, I've encountered compilation errors from the JSON adaptor generators in certain classes, triggered by certain property types or parameters that are incompatible.
There are two causes for these compilation errors: either 1) the property is computed, and therefore certain property methods in the code generated by the JSON adaptor, such as .
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
Business Process is adding control characters.
Input HL7 shows no control characters in Notepad ++
.png)
Output
.png)
.png)
Code:
{
#dim tStatus As %Status = $$$OK
#dim eException As %Exception.AbstractException
#dim tOBXText As %String
#dim tItemNumberCount As %Integer = 0
#dim tItemNumberProcessed As %Integer = 0
#dim tTotalCostSegment As %Integer = 0
#dim tOrderType As %String
#dim i As %Interger = 0
#dim tOBXKey As %Integer = 0
#dim tOBXTextChanged As %String
////
Set pOutput = pRequest.
Developing with InterSystems Objects and SQL – In Person June 9-13, 2025
We are attempting to send HL7 messages over to CBOARD NetMenu over HTTP using SSL. We set this up using the EnsLib.HL7.Operation.HTTPOperation adapter. When we attempt to send the message we are receiving
MSH|^~\&|||DIETOE|A6M0|202505131437||ACK^HTTP^415|00|P|2.1 MSA|AE|9165602|HTTP (N)ACK 'HTTP/1.1 415 Unsupported Media Type'
The vendor mentioned something about putting a SOAP/XML wrapper around the HL7 message but isn't that what the HTTPOperation adapter does? Why would we be getting Unsupported Media Type. How would we go about setting the Media Type for the HTTP HL7 message?
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!
Introducing Smart Clinical Sidechick — the intelligent, no-drama partner your EHR wishes it could be. She reads FHIR data in real time, interprets lab results without ghosting, and explains clinical alerts like she actually cares. Built with GPT-4 brains and YAML sass, she’s not here to replace your main EHR—just to make it look bad. Tired of irrelevant alerts and cryptic warnings? Sidechick serves up real, explainable insights, not vague “elevated risk” vibes. And when your backend crashes, she doesn’t panic—she self-heals.
Hi Community,
I recently needed to interrogate some folders/sub-folders to retrieve filenames using cache object script(COS) and I implemented it in the following way.
ClassMethod ListDir(
path = "",
wildchar = "*",
recursive As %String(VALUELIST=",y,n") = "y",
ByRef dirlist)
{
i path'=""{
i ##class(%File).DirectoryExists(path){
s rs=##class(%ResultSet).%New("%File:FileSet")
s sc=rs.I am running into an issue where a JSON response is missing keys...
{
"count": 0,
"pageInformation": {
"offset": 0,
"size": 10
},
"items": []
}Within the JSON response I am only looking for two fields portalUrl and portalId. I have tried using $LENGTH and %IsDefined to check if they are valued but neither work.
If ((tHttpResponseIsObject) && ($ZCONVERT(tHttpResponseContentType,"L") [ "application/json"))
{
set responseData = {}.%FromJSON(tHTTPResponse.Data)
set pResponse = ##class(osuwmc.COM.Response.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) .
I'm trying to use the assign option within a ruleset. I can trace the value with no issues but when I try to assign the same value to a variable of Namespace I get an error.
Ideally I would like to use a variable instead of repeating the Piece repeatedly throughout the rules.
Ruleset.png)
And this is the error that I am getting.
ERROR <Ens>ErrException: <PROPERTY DOES NOT EXIST>zevaluateRuleDefinition+14^SFT.RoutingRules.AlertManCreationRule.1 *Namespace,Ens.Alerting.Context.CreateAlert -- logged as '-' number - @' set pContext.Namespace=##class(Ens.Rule.FunctionSet).Piece((pContext.AlertRequest.
When AMD published the x86-64 standard in 1999, little did they know they were inventing what would become the de-facto architecture for server CPUs. But the CPUs of today aren’t the same as ones produced 20 years back – as they have extensions for everything from Advanced Vector Extensions (AVX) to Hardware-Assisted Virtualization (VT-d).
InterSystems would like to take better advantage of these new extensions in upcoming versions of InterSystems IRIS. While our compilers are smart enough to create optimized code for many situations, some optimizations can only be turned on by explicitly cutting off support for processors that do not have that instruction set. Additionally, we are finding it increasingly difficult to maintain older CPU models to test on.
Hey Community!
We're happy to share the next video in the "Code to Care" series on our InterSystems Developers YouTube:
⏯ How Project BEST Transforms FDA Adverse Event Reporting with FHIR
We are receiving an ORU message and the vendor is requesting that we append a new OBX segment at the end of the message and I wanted to reach out to see what options might be available.
So far, I tried the append action in the DTL editor with a single OBX-3 field but it seems to be appending to the field directly instead of creating a new OBX. I've started looking into if whether I could use a function but wanted to first check with the experts on the Discussion here in case there's an easier way to accomplish this. Thank you.
I am trying to replicate a REST call that I am able to make via a Postman call within a EnsLib.REST.GenericOperation.
It's been a while since I have messed around with trying to make external REST calls. When I execute my REST call, tSC is coming back with an error and I am trying to pinpoint why. I tried turning on ISCLOG = 5 but when calling the REST Operation from the Testing tool it is not logging anything to the ISC log.
How do we see the RAW request being sent out to verify that my request is formatted properly?
It helps to remove special characters, such as non-utf-8 characters either control characters or unicode characters from text that is not printable or can't be parsed by downstream systems.
There is also $C(32) in this condition; sometimes NBSP appears in the text and it will not be recognized by TIE, but downstream it displays as "?".
In order to avoid the NBSP issue, the if condition is replaced with a space in order to prevent the error.
Unicode characters only Remove:
Epic had changed some of their logic on their Incoming Radiology Results which now require an Ordering Provider even though it is supposed to account for it within the Epic Interface settings.
I was wondering if we are using a custom schema if there was a way to default a value into OBR:16 if it was not valued without having to modify all the DTL's for these Results.
Is there a way to set this via the schema editor or in the background so we don't have to create/update DTL's or create a custom TCP Operation Class??
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
Hi all,
I'm reviewing an older Cache routine and came across this line of code: from file ^ZDBKCRON
S $ZT="^%ETSDK"
Error trap
/home/oper/script/cache_db_backup -t # Daily CacheDB Backup
produced the following output:
<NOROUTINE> *%ETSDK
<ERRTRAP>
-----------
From what I understand, this is setting up an error trap, but I'm not entirely clear on how it works, especially in modern InterSystems IRIS environments.
Could someone please help explain:
%ETSDK a standard system routine? I can't find it in our environment.I cloned @Yuri Marx's langchain-iris-tool repo and modified docker-compose yaml per this post:
Can anyone please help me which function i can use to handle this error.
In a project I'm working on we need to store some arbitrary XML in the database. This XML does not have any corresponding class in IRIS, we just need to store it as a string (it's relatively small and can fit in a string).
Since there are MANY (millions!) of records in the database I decided to reduce as much as possible the size without compressing. I know that some XML to be stored is indented, some not, it varies.
To reduce the size I decided to minify the XML, but how do I minify an XML document in IRIS?
One of the challenges of creating a DICOM message is how to implement putting data in the correct place. Part of it is by inserting the data in the specific DICOM tags, while the other is to insert binary data such as a picture - In this article I will explain both.
To create a DICOM message, you can either use the EnsLib.DICOM.File class (to create a DICOM file) or the EnsLib.DICOM.Document class (to create a message that can be sent to PACS directly). In either case, the SetValueAt method will allow you to add your data to the DICOM tags.
Hi, Community!
🐍Great news—you can now use Python to customize your productions and add custom code!
Hello IRIS community,
InterSystems Certification is developing a certification exam for InterSystems IRIS Developer professionals, and if you match the exam candidate description given below, we would like you to beta test the exam.