Article Jim Liu · May 14, 2025 7m read

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".

 

  • Code Embedding model 

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.  While none of these models were pre-trained for the ObjectScripts language, they still outperformed

0
1 307
Question Flávio Lúcio Naves Júnior · Nov 7, 2023

Hello everyone,

I am attempting to implement continuous integration using Docker with Caché 2018.1, and I am in the process of creating an image for our client. I have already installed Caché 2018.1 on the RedHat server, but I am working on a script to create the database and namespace. For the database, I used the following code:

do ##class(SYS.Database).CreateDatabase("/usr/cachepoc/cache2018/mgr/poc/")

However, I have encountered some issues with this code. For instance, I am unable to view this local database in the portal's list:

In the end, I have tried various approaches to create the

4
0 588
Announcement Sergio Farago · May 13, 2025

Hello Community!

The big challenge you've all been waiting for is finally here: The fourth InterSystems technical article writing contest in Spanish is here!

🏆 4th Spanish Technical Article Contest 🏆

Contest description: Write an article in Spanish in the Developer Community on any topic related to InterSystems technology.

Duration: May 12 – June 8, 2025.

Prizes for all participants: Everyone who publishes an article in Spanish during the contest period will receive a prize.

Main prize: Apple Watch SE / 10th generation iPad

0
0 89
Question Ashok Kumar T · May 8, 2025

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(SELECTcount(*) INTO :Cnt FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE'")
 Write "SQLTablecount : "_Cnt,!
 Set tResultSet = ##class(%SQL.Statement).%ExecDirect(,"SELECTcount(*) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE'")
 Do tResultSet.%Display()

Thanks!

4
0 100
Question Anthony Decorte · May 12, 2025

Hello,

I have a problem with the deployment. When I deploy using the Ens.Deployment.Deploy class, I no longer receive the logs in the terminal. However, the deployment went well, I see it in the history on the portal.

It works on our environment, but not on the client's.

Set tSC = ##class(Ens.Deployment.Deploy).DeployCode(chemin_"GESL_SVCCLI_DEPLOY_CPT-243_V4_0.xml","SVCCLI.ProdClient",1,chemin_"GESL_SVCCLI_DEPLOY_CPT-243_V4_0_rb.xml","L",chemin_"GESL_SVCCLI_DEPLOY_CPT-243_V4_0.log",1,1)

Thank you 🙂

0
0 85
Question Julius Kavay · Apr 29, 2025

According to documentation, quotation: "$THIS contains the current class context.
The class context for an instance method is the current object reference (OREF).
The class context for a class method is the current classname as a string value."
 
As my example below shows, either the documentation or the implementation (or both) is wrong, I always call a class method (Value) and expected the class name as the return value but got either the class name or an OREF. Moreover, if I repeat the call, I get another values. But why?
Does anyone have a clear explanation (for an aging brain) or have I

4
0 161
Question Norman W. Freeman · May 7, 2025

I use the following code to protect some code for being called by multiple processes at same time :

lock +^TEMP("FOO"):0//don't waitquit:'$test//critical section//...lock -^TEMP("FOO")

This works between processes but it does not prevent the same process entering critical section twice.

How to do that, is there any lock option ? I would like it to behave as the lock in C# or Java.

It's OK for me to use something else than LOCK instruction (eg : signals)

8
0 190
Announcement Evgeny Shvarov · May 12, 2025

Hi Developers!

Here are the technology bonuses for the InterSystems FHIR and Digital Health Interoperability Contest 2025 that will give you extra points in the voting:

  • InterSystems FHIR usage - 3
  • Digital Health Interoperability - 4
  • Vector Search - 3
  • LLM AI or LangChain usage: Chat GPT, Gemini and others - 3
  • Embedded Python - 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
0
0 141
Article Kunal Pandey · May 12, 2025 1m read

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.

0
1 202
Question Tony Alexander · Nov 22, 2021

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.Execute(path
9
0 1476
Article Seisuke Nakahashi · Aug 16, 2024 1m read

There are a lot of great community articles regarding "vector search on IRIS", and samples in OpenExchange. Everytime I see these, I'm so excited to know that so many developers already try vectors on IRIS!

But if you've not tried "Vector Search on IRIS" yet, please give me one minute 😄 I create one IRIS class - and with only one IRIS class you can see how you put vector data in your IRIS database and how you compare these in your application.

2
3 343
Article sween · Mar 4, 2024 8m read

If you are a customer of the new InterSystems IRIS® Cloud SQL and InterSystems IRIS® Cloud IntegratedML® cloud offerings and want access to the metrics of your deployments and send them to your own Observability platform, here is a quick and dirty way to get it done by sending the metrics to Google Cloud Platform Monitoring (formerly StackDriver).

1
2 381
Question Scott Roth · May 9, 2025

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.StringResponse).%New()
    if%IsDefined
2
0 107
Article Sam Ferguson · May 9, 2025 10m read

Regardless of whether an instance of IRIS is in the cloud or not, high availability and disaster recovery are always important considerations.While IKO already allows for the use of NodeSelectors to enforce the scheduling of IRISCluster nodes across multiple zones, multi-region k8s clusters are generally not recommended or even supported in the major CSP's managed Kubernetes solutions.However, when discussing HA and DR for IRIS, we may want to have an async member in a completely separate region, or even in a different cloud provider altogether.

0
4 328
Question Ashok Kumar T · May 7, 2025

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) .Since both streams are not stored in the database, is there a specific reason for using one over the

5
0 166
Question Ewan Whyte · May 8, 2025

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


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

4
0 173
Announcement Derek Robinson · May 8, 2025

Hi, Community!

Looking to modernize the way you build interoperability screens in InterSystems® products? Take a tour of some recent UI improvements.

Building Integrations: A New User Experience

<iframe allowfullscreen="" frameborder="0" height="360" src="https://www.youtube.com/embed/zupj1P7Plgo?utm_source=youtube&utm_medium=social&utm_campaign=zupj1P7Plgo" width="640"></iframe>

0
0 137
InterSystems Official Bob Kuszewski · Nov 9, 2023

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.

10
6 1752
Question MikeC · May 4, 2025

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. 

2
0 222