Find

Question
· Aug 21

Reply Action Codes Won't Suspend Message

Hello,

I'm trying to get the Reply Action Code to work with the error message text.

I have this ACK:

MSH|^~\&|APP|FACIL|||20250821143621||ACK|CUEACK_20250821143621|P|2.4
MSA|AE||Failed to queue message

This is some of the Action Codes I've tried:

  • E*Failed to queue message=S
  • E*Failed=S
  • E*"Failed to queue message"=S
  • :E*Failed to queue message=S
  • :?E*Failed to queue message=S

It's not suspending the message however.

What am I doing wrong?

Thank you

2 Comments
Discussion (2)2
Log in or sign up to continue
Article
· Aug 21 3m read

Migrating InterSystems Studio/Caché and Visual Studio Code Setup to a new Windows PC

Recently, I replaced my old laptop with a new one and had to migrate all my data. I was looking for a guide but couldn’t find anything that explained in detail how to migrate server connections from InterSystems Studio and Visual Studio Code from one PC to another. Simply reinstalling the tools is not enough, and migrating all the connections manually seemed like a waste of time. In the end, I managed to solve the problem, and this article explains how.

InterSystems Studio

Exporting Server Connections

Migrating Studio connections was the most challenging part. Server connections are stored in the Windows Registry, which can be opened from PowerShell by running:

regedit

This allows you to explore all registry keys through a graphical interface.

Depending on the version installed, Studio connections can be found in one of the following locations:

  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Intersystems
  • HKEY_CURRENT_USER\Software\InterSystems\Cache\Servers

In my case, most connections were stored in the second path.

If you browse the Registry Editor, you will find connection information under the Servers folder, with one entry for each connection.

To export all the connections directly from the registry into a file, run this command in PowerShell:

reg export "HKCU\Software\InterSystems\Cache\Servers" "$env:USERPROFILE\Desktop\IRIS_Studio_Connections.reg" /y
  • This creates a .reg file containing all your Studio connections.
  • The file is saved to your Desktop.
  • The /y flag overwrites the file if it already exists.

Importing on the New PC

To import the connections, copy the .reg file to the new PC and run this command in PowerShell:

reg import "C:\Path\To\IRIS_Studio_Connections.reg" 

Alternatively, double-click the .reg file to import it manually.

At this point, InterSystems Studio on your new PC will contain the same server connections you had on the old one.

Note: passwords are not migrated, so you will need to re-enter them the first time you connect.

Visual Studio Code

Exporting Server Connections

Migrating server connections in Visual Studio Code is more straightforward than in Studio since connections are all stored in the settings.json file.

To open it:

  • Click on the InterSystems extension icon in the sidebar
  • Click the three dots icon (“More Actions...”), and select Edit Settings.

  •  Click now on settings.json:

  • All connections are stored under the "intersystems.servers" property of the JSON:

  • Copy these entries and paste them into the settings.json file on the new PC.

Exporting the Whole Profile

Another option is to export your entire VS Code profile.

  • Click on the gear icon in the bottom-left corner.
  • Navigate to Profiles → Profiles.

  • Select the desired profile and choose Export.

  • A code profile file will be generated. 
  • You can copy this file to the new PC and import it into VS Code. From the same Profiles screen, click the arrow next to New Profile, then select Import Profile. This will restore all settings, including server connections.

Discussion (0)2
Log in or sign up to continue
Question
· Aug 21

custom operation on patient type that will receive a business identifier and will search them and for each paient it will return a $everything for all the found patients

Hi,

I need a custom operation on patient type that will receive a business identifier and will search them and for each paient it will return a $everything for all the found patients written with object script

1 Comment
Discussion (1)2
Log in or sign up to continue
Digest
· Aug 21

New Demos Added — Keep Voting in the InterSystems Demo Games!

Dear Community Member,

A fresh batch of demo videos has just been released as part of the InterSystems Demo Games! This contest is your chance to explore how our Sales Engineers use InterSystems technologies to solve real-world problems — and to help choose the winners by voting for your favorites.

👉 To cast your vote

🔗 Full details here

New demos are added throughout the contest — don’t miss your chance to discover and support your favorites.

The Demo Games are on – and may the best demo win!

Article
· Aug 21 3m read

Dejad un rastro de migas de pan en el código en ObjectScript

ObjectScript puede parecer solo otro lenguaje de programación, pero aquí está el giro:

Vuestro código aquí puede vivir para siempre (sí, incluso después de que os hayáis pasado a otro proyecto). Por eso es importante mantenerlo ordenado, fácil de leer y a salvo de errores misteriosos.

(Una guía para principiantes para mantener vuestro código ordenado, amigable y preparado para el futuro)

Bienvenidos a la jungla de ObjectScript, donde vuestro código puede tener un alcance global y ser persistente por naturaleza.
Mantengamos las cosas limpias, legibles y resistentes a errores.

1️⃣ Nombra como si lo dijeras en serio

Las variables y globales deberían tener nombres como si tuvieran un perfil en LinkedIn.
Saltad las x, y, z; id por patientID, invoiceTotal, ^MyApp("Users",...).

Set patientID = 1023
Set ^Hospital("Patients",patientID,"Name") = "Marshmallow"

💡 Por qué: cuando volváis a esto en 6 meses, “Marshmallow” seguirá teniendo sentido, ^H(1,"N") no.

2️⃣ Conciencia sobre el "calentamiento global" 🌍

Los globales son potentes, pero no arrojéis datos ahí como si fuera un cesto de ropa sucia.

Poned un prefijo con el nombre de vuestra aplicación para evitar colisiones.
Mantened el orden de las claves lógico: la categoría más grande primero, los detalles al final.

Set ^PetStore("Cats","Persian",1,"Name") = "Luna"

💡 Consejo: si no etiquetaríais una caja como “Cosas”, no llaméis a un global ^DATA.

3️⃣ El tamaño de los métodos importa 🐹

Si vuestro método es más largo que la paciencia de un hámster, divididlo.
Los métodos pequeños y enfocados son más fáciles de probar, reutilizar y mantener.


ClassMethod GetPatientName(patientID As %Integer) As %String
{
    Quit ^Hospital("Patients",patientID,"Name")
}

4️⃣ Atrapad esos errores escurridizos 🎣

No dejéis que vuestro código tenga un problema en producción. Envolved las operaciones peligrosas en Try/Catch.

Try {
    Write ^Hospital("Patients",9999,"Name")
}
Catch ex {
    Write "Error: ", ex.DisplayString(), !
}

💡 Por qué: porque los fallos silenciosos son como los gatos, esconden el desastre hasta que es demasiado tarde.

5️⃣ Comentad como si os importara 💌

Los comentarios son cartas de amor para vuestro yo futuro. Mantenedlos cortos, relevantes y actualizados.

// Assign the patients therapy cat
Set ^Hospital("Patients",patientID,"Pet") = "Mittens"

Los buenos hábitos de programación van más allá de cualquier lenguaje; son universales.
Quizás sois campeones de los nombres claros para variables, maestros en el manejo de errores sólido, creyentes en el desarrollo guiado por tests, o tenéis algún truquito peculiar que hace que vuestro código brille.
Sea lo que sea, ¡compartidlo! Publicad vuestras mejores prácticas, lecciones aprendidas o sabiduría en pequeñas dosis en los comentarios, y creemos juntos un tesoro de consejos para ayudar tanto a principiantes como a desarrolladores experimentados a escribir código más limpio, inteligente y eficiente. 🚀

Discussion (0)1
Log in or sign up to continue