Announcement Timothy Leavitt · Nov 8, 2021

If you're building solutions on IRIS and want to use Git, that's great! Just use VSCode with a local git repo and push your changes out to the server - it's that easy.

But what if:

  • You're collaborating with other developers on a shared, remote development environment and want to avoid concurrent editing of the same file
  • You're using editors based in the management portal for BPL, DTL, pivots, dashboards, etc. and want straightforward source control for your work
  • You're still using Studio for some things and/or occasionally jump back there from VSCode - or, your team has not yet fully
50
15 5222
Article Hiroshi Sato · Jun 27, 2024 1m read

InterSystems FAQ rubric

You can use the List query of the %SYS.Audit to output audit logs programmatically.

The sample code is as follows:

Set statement=##class(%SQL.Statement).%New()  
 Set status=statement.%PrepareClassQuery("%SYS.Audit","List")
 Set rs=statement.%Execute()  
 Set tab = $char(9)
 While rs.%Next() {    
   Write rs.%Get("TimeStamp")_tab_rs.%Get("Event")_tab_rs.%Get("Username"),!      
 }
0
0 279
Article Robert Cemper · Mar 21, 2024 2m read

This is an attempt to run a vector search demo completely in IRIS
There are no external tools and all you need is a Terminal / Console and the management portal.
Special thanks to Alvin Ryanputra as his package iris-vector-search that was the base
of inspiration and the source for test data.
My package is based on IRIS 2024.1 release and requires attention to your processor capabilities.

I attempted to write the demo in pure ObjectScript.
Only the calculation of the description_vectoris done in embedded Python
Calculation of a vector with 384 dimensions over 2247 records takes time.
In my Docker

11
2 575
Discussion Robert Barbiaux · Jun 27, 2024

When using VS Code client-side editing in combination with a file-based revision control system such as git, I find activities such as branch switching and moving/renaming classes and packages a bit tedious, since you to maintain the connected namespace in sync manually.
I am not aware of a built-in way to do this with VS Code Extension. Just added an idea to the portal that is about adding some kind of mechanism to do this automatically, please do not hesitate to comment, amend and vote for idea DPI-I-608  😊

0
0 206
Question Rich Taylor · Jun 27, 2024

The SYS.Mirror CatchupDB() method requires a System File Number/Inode value as a parameter.   I have not yet found a suitable internal method to get this value.  Is anyone aware of a utility method that would do this?   I do know I can get this value with a small amount of Python or by calling out to the OS.  However I wanted to stick with pure Objectscript in this project if possible.  

Failing in this I will use embedded python to run the line or two of Python needed to get this value.

Thank you for any hints

5
0 180
Question Kurt Hofman · Oct 6, 2023

I've created a succesfull connection to Caché from SQL Server.

But when I run a SELECT on a table it gives an error on for example PrijsAkCatV.

Probably a datatype-error.

Does someone has a solution for this problem ?

Caché Table :

Property PrijsAkCatVm As Asci.Getal(CAPTION = "Aankoopprijs VM", HINT = "Bruto aankoopprijs in vreemde munt|De bruto aankoopprijs (catalogusprijs) in vreemde munt per eenheid van aankoop.#Prix d'achat brute en devise|Le prix d'achat brute en devise par unité d'achat.", SCALE = 4);
 

Class Asci.Getal Extends %Library.Numeric
{Parameter HINT;Parameter VIEW = 1;Parameter

4
0 475
Announcement Olga Zavrazhnova · Jun 27, 2024

Hi Community, 

Watch this video to learn about the Monitoring and Alerting Capabilities of InterSystems IRIS.

🗣  Presenter: @Mark BolinskyPrincipal Technology Architect, InterSystems

This demo was prepared for one of our past online developer roundtables. We encourage you to ask your specific questions about this topic in the comments section, and we will invite our experts to answer them!

Useful Links:

0
1 218
Question Julian Matthews · Nov 3, 2021

Hey everyone.

I was wondering if anyone had come across a way of reformatting ObjectScript within VSCode.

I have the various Intersystems Extensions installed (InterSystems Language Pack,  InterSystems ObjectScript,  InterSystems ObjectScript Extension Pack,  InterSystems Server Manager) but a formatter does not seem to be something included within this variety of extensions.

20
0 1115
Question Phillip Wu · Jun 18, 2024

Hi,

I want to refresh the data in the databases from the data that exists in the production system.

The IRIS system in both test and production are in a mirror arrangement

Can the refresh be done by doing a backup on the production system and restore the same backup to test?
Could the refresh be customised so that certain databases can be excluded?

5
0 288
Question Lynn Lantz · Jun 25, 2024

I'm trying to keep all writes in local memory.

If you have    S %A="""HI THERE"",!,#,33.33,"" "",$ZTIMESTAMP"

and you         O 2 U 2 W @%A C 2 ZW ^SPOOL                    
^SPOOL(1,1)="HI THERE"_$c(13,10)
^SPOOL(1,2)=$c(13,12)
^SPOOL(1,3)="33.33 67016,59246.6188873"

It works just fine and the output is in the ^SPOOL global. 

However, I'm trying to avoid writing to disk.

I can't find anything besides using the SPOOL device that will allow the use of the "@" indirection.

I tried using streams but it will not allow @indirection.  Neither will set, or execute, or anything.

Is there any easy way to just

4
0 250
Announcement Anastasia Dyubaylo · Jun 26, 2024

Hi Developers,

Watch this video to learn how UC Davis Health is implementing a centralized operations-monitoring and alerting framework to handle notifications across its InterSystems IRIS infrastructure using ServiceNow, an IT service management platform:

⏯ Advanced Integration Monitoring & Alerting at UC Davis Interfaced with ServiceNow @ Global Summit 2023

0
1 174
Question William Liu · Jun 26, 2024

Each DTL calls “ConstructClone” to make a copy of the message before making any changes to it. There will be hundreds of cloned-objects in case of hundreds of DTLs

It is expected to run the rules chain by using Rule Editor without DTL, namely against a SINGLE cloned-object (for example HL7 2.3, ORU_R01) with a FunctionSet in case of hundreds or thousand of rules under same protocol

Question is how to pass the cloned-object from one rule 1 to rule 2, and send the modified object to target Process or Operation in Rule Editor?
 

0
0 120
Announcement Laurel James (GJS) · Jun 26, 2024

Migrate to VS Code this summer with our comprehensive Basics and Advanced Features training courses.

George James Software is offering migration strategies and training to support the adoption of VS Code with InterSystems IRIS, IRIS for Health, HealthShare, and Caché. We're in the unique position of having deep knowledge and understanding of both InterSystems platforms and VS Code, through our regular contributions to VS Code itself.
 

Studio to VS Code Migration - The Basics (2.5 hours)
An interactive training webinar for those who currently use Studio and wish to migrate to VS Code.

0
1 211
Question Joe Jones · Mar 13, 2023

Hi Community,

I am receiving a JSON file as input in ensemble and i need to convert the JSON message to HL7 message.

Can anyone share few points how to read a JSON file into Ensemble production by creating a Custom Business service?

I have created a custom business service as below but i am not aware which parameters i need to pass in OnProcessInput method?

Method OnProcessInput(pInput As Ens.Request, Output pOutput As %RegisteredObject) As %Status

Do i need to Ens.Request or RegisteredObject or Ens.StreamContainer?

Thanks,

Joe

14
0 1470
Article Xintong Li · Jun 26, 2024 8m read

Integrating frontend React applications with backend services like IRIS database via REST APIs can be a powerful way to build robust web applications. However, one common hurdle developers often encounter is the Cross-Origin Resource Sharing (CORS) issue, which can prevent the frontend from accessing resources on the backend due to security restrictions enforced by web browsers. In this article, we'll explore how to tackle CORS issues when integrating React web apps with IRIS backend services.

Creating the Schema

We start by defining a simple schema named Patients:

Class Prototype.DB.Patients
5
8 644
Question Carl (booz Allen) Deitrich · Jun 25, 2024

Given a properly formatted ISO 8601 date time of 2024-06-23T06:03:00Z using SQL DatePart results in an error:

  [SQLCODE: <-400>:<Fatal error occurred>]

  [%msg: <Invalid input to DATEPART() function: datepart='ss', datetime value='2024-06-23T06:03:00Z')>]

If I remove the trailing Z (for Zulu / UTC time) and leave the T, DatePart works fine.

I have also tried various ± offsets from UTC e.g. +0400 and that also results in the same SQL error

I can Trim the trailing "Z", but I would hope that DatePart would work with an acceptably formatted ISO 8601 date time string without having to go through the

2
0 265
Question David.Satorres6134 · Jun 24, 2024

Hi everyone,

We have successfully configured the Patient Index and are now looking to bring it to upper environments. Our plan is to export the Linkage Definition and import it into higher environments to avoid any manual work. However, I am having trouble finding an export option in the Linkage Definition Designer and locating the globals that hold this setup.

I would greatly appreciate any tips or guidance on how to export/import the Patient Index configuration between environments.

Thank you in advance!

4
0 183
Question Yone Moreno · Jun 25, 2024

Hello,

Thanks for reading this question.

We need to remove the line feeds and carriage returns from start and end, but not from the middle of a string

We have tested the following ways:

set output = $ZStrip("[line feed](carriage return) str [line feed](carriage return) ing [line feed](carriage return)","<>C")

But it removes also control characters which we need to preserve...

Also we have tested:

set output = $REPLACE("[line feed](carriage return) str [line feed](carriage return) ing [line feed](carriage return)",$C(13,10),"")

But it deletes line feed and carriage return at the middle of the

7
0 527
Question Oliver Wilms · Jun 23, 2024

I am working on JSON and want to be prepared to handle large Objects. I try this code:

ClassMethod MaxLen() As %Status

{

    set longStr=""

    for i=1:1:$SYSTEM.SYS.MaxLocalLength() { set longStr = longStr_"x" }

    write "Maximum string length = "_$LENGTH(longStr)

    ;

    set longObject = {"a":(longStr),"b":(longStr)}

    set file=##class(%File).%New("/tmp/longObjectFile.txt")

    do file.Open("WSN")

    do longObject.%ToJSON(file)

    do file.Close()

    ;

    do file.Open("RS")

    set newObject = {}.%FromJSONFile(file)

    write !,"Property newObject.a is "_$LENGTH(newObject.a)_" characters long."

5
0 362
Question Oliver Wilms · Jun 23, 2024

I have JSON object which contains file references. I need to replace the file reference with base64 encoded file which is up to 10MB.

I tried the following but it did not work as expected:

do dynObj.%Set("data",pStream.ReadLineIntoStream(.tSC))

9
0 217
Question Alin Soare · Jun 20, 2024

Hi,

I would like to ask whether there is some option to stop auto-formatting when I compile.  The code is sometimes well formatted but the auto-formatter does not work correctly in some situations. I am talking about the compilation in the Studio editor in this image, not about Visual Studio Code.

Thank you in advance,

Alin C Soare.

6
0 255
Question Ditmar Tybussek · Jun 23, 2024

I try to get a vector from calling GetEmbedding, but i failed to convert it into a vector 

Here is a simplyfied sample class: 

Class User.myclass Extends %Persistent
{Property myVECTOR As %Vector(CAPTION = "Vector");

Property myProperty As %String(MAXLEN = 40) [ Required ];

}

here the GetEmbedding part from User.mymethods:

...
ClassMethod GetEmbedding(sentences As %String) As %String [ Language = python ]
{
  import sentence_transformers   model sentence_transformers.SentenceTransformer('C:/InterSystems/IRIS/lib/python/Lib/site-packages/sentence_transformers/models/all-MiniLM-L6-v2')
  embeddings mo

4
0 253