#Ensemble

2 Seguidores · 203 Publicaciones

InterSystems Ensemble es una plataforma de integración completa y fácil de utilizar la cual permite que los usuarios se conecten con personas, procesos y aplicaciones en un tiempo

récord.

Aprende más

Documentación

Artículo Jose-Tomas Salvador · ene 19 2m read

Enviáis una petición HTTP y recibís un error HTTP, pero con una página de error HTML que no esperabais… ¿qué está pasando? 🤔

Por ejemplo, puede que hayáis intentado LEER un recurso FHIR (por ejemplo, /Patient/123) y recibáis una página de error 404, aunque con otros IDs de Patient sí obtenéis la carga útil del recurso. Es decir, “la página” definitivamente existe… ¿por qué os está devolviendo una página de error 404? 🙄

0
0 33
Artículo Jose-Tomas Salvador · ene 13 3m read

Al trabajar con InterSystems Interoperability (IRIS / Health Connect / Ensemble), los datos de configuración a menudo están distribuidos en muchos elementos de producción: servicios, procesos, operaciones, adaptadores y sus configuraciones.

Una necesidad operativa o de seguridad común es responder preguntas como:

  • ¿Qué interfaces hacen referencia a rutas del sistema de archivos?
  • ¿Dónde están configurados directorios, recursos de red o rutas absolutas?
  • ¿Puedo auditar o documentar rápidamente esta información en todas mis producciones?
0
0 25
Artículo Luis Angel Pérez Ramos · ene 13 3m read

Probablemente os suene esta situación:

Hace tiempo encontraste una función muy especial, $ZU, para un tipo de problema muy concreto. Como una especie de fórmula mística. Esta se popularizó y muchos desarrolladores la utilizaron en su código.

Tras varias versiones y actualizaciones, ISC informa de que vuestro mágico $ZU está obsoleto y ya no es soportado. Se os recomienda reemplazarlo por un nuevo $loquesea().

Entonces, ¿cómo podrías localizar y documentar el uso de este mágico $ZU? Puede estar en clases, en código MAC, INT o INC o incluso distribuido en múltiples namespaces.

0
0 34
Artículo Ricardo Paiva · dic 3, 2025 2m read

Rúbrica de preguntas frecuentes de InterSystems

Al exportar usando el método Export() de la clase %Library.Global, si el formato de exportación (cuarto argumento: OutputFormat) está establecido en 7, “Block format/Caché block format (%GOF)”, no se pueden exportar globals mapeadas (solo se exportan las globals de la base de datos global predeterminada del espacio de nombres). Para exportar globals mapeadas en “Block format/Caché block format (%GOF)”, especificad el directorio de la base de datos a la que queréis mapearlas en el primer parámetro de %Library.Global.Export().

0
0 48
Artículo Ricardo Paiva · nov 18, 2025 3m read

En mi artículo anterior en el que presentaba gj :: configExplorer señalé cómo un aparente error en los elementos de Windows de la API nativa para Node.js hace que actualmente no sea posible ejecutarlo en VS Code en un escritorio Windows. En un comentario a ese artículo ofrecí una solución alternativa, pero esta requiere un host Linux con Docker al que podáis conectaros por SSH.

Si no tenéis un destino adecuado, ahora es posible aprovechar vuestro Docker Desktop local de Windows. Aquí os explico cómo:

  1. Abrid una nueva ventana de VS Code.
0
0 42
Artículo Jose-Tomas Salvador · oct 16, 2025 3m read

Para gestionar la acumulación de datos de producción, InterSystems IRIS permite a los usuarios controlar el tamaño de la base de datos purgando periódicamente los datos. Esta purga puede aplicarse a mensajes, registros, procesos de negocio y alertas gestionadas.

Consultad la documentación para obtener más detalles sobre la configuración de la tarea de purga:
https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=EGMG_purge#EGMG_purge_settings

0
0 51
Artículo Ricardo Paiva · oct 8, 2025 1m read

gj :: configExplorer es una nueva extensión de VS Code que se integra con Server Manager y aprovecha Structurizr para generar diagramas de configuración de vuestros servidores.

Aquí tenéis un breve video introductorio.

0
0 63
Artículo Vachan C Rannore · oct 2, 2025 3m read

Empezar con ObjectScript es realmente emocionante, pero también puede resultar un poco extraño si estáis acostumbrados a otros lenguajes. Muchos principiantes tropiezan con los mismos obstáculos, así que aquí tenéis algunas "trampas” a las que debéis prestar atención. (Y también algunos consejos para evitarlas)

PONER NOMBRES AL AZAR

Todos hemos caído en la tentación de llamar a algo Test1 o MyClass solo para avanzar rápido. Pero una vez que vuestro proyecto crece, esos nombres se convierten en una pesadilla.

0
0 55
Artículo Alberto Fuentes · ago 20, 2025 6m read

Si alguna vez habéis observado a un verdadero artesano—ya sea un alfarero que convierte barro en una obra maestra o un luthier que transforma madera en una guitarra maravillosa—sabéis que la magia no está en los materiales, sino en el cuidado, el oficio y el proceso. Lo sé por experiencia propia: mi guitarra eléctrica hecha a mano es una fuente diaria de inspiración, pero lo admito—crear algo así es un talento que no poseo.

0
0 51
Artículo Harshitha · ago 5, 2025 2m read

Trabajar en TI para el sector salud como un desarrollador joven, especialmente en InterSystems TrakCare, te hace darte cuenta rápidamente de una cosa: no se trata solo de mensajes HL7 o integraciones backend. Una gran parte de lograr que TrakCare funcione sin problemas en los hospitales depende de cómo se configura, personaliza y da soporte desde el lado de la aplicación.

Ahí es donde entramos personas como yo: desarrolladores tecno-funcionales que entendemos tanto la tecnología como su impacto en los flujos de trabajo reales del hospital.

No somos solo técnicos (ni consultores funcionales)

0
0 67
Artículo Jose-Tomas Salvador · mayo 19, 2025 3m read

Uno de los desafíos al crear un mensaje DICOM es cómo poner los datos en el lugar correcto. Parte de ello es insertar los datos en las etiquetas específicas de DICOM, mientras que la otra parte es insertar datos binarios como una imagen. En este artículo explicaré ambos.

Para crear un mensaje DICOM, podéis usar la clase EnsLib.DICOM.File (para crear un archivo DICOM) o la clase EnsLib.DICOM.Document (para crear un mensaje que se pueda enviar directamente a PACS). En ambos casos, el método SetValueAt os permitirá añadir vuestros datos a las etiquetas DICOM.

0
0 74
InterSystems Official Jose-Tomas Salvador · abr 1, 2025 5m read

La interfaz de usuario de Interoperabilidad ahora incluye experiencias modernizadas para las aplicacionesDTL Editory Production Configuration, las cuales están disponibles para su activación en todos los productos de interoperabilidad. Podéis alternar entre las vistas moderna y tradicional. Todas las demás pantallas de interoperabilidad permanecen en la interfaz de usuario estándar. Tenéis que tener en cuenta que los cambios se limitan a estas dos aplicaciones, y a continuación se identifica la funcionalidad que está disponible actualmente.

0
0 64
Artículo Jose-Tomas Salvador · mar 25, 2025 1m read

Rúbrica de preguntas frecuentes de InterSystems

Esto puede hacerse con TRY-CATCH:

#dim ex As%Exception.AbstractExceptionTRY {
    //Code that causes an error
  }
  CATCH ex {
     do ex.Log()
  }

Si utilizáis ^%ETN, llamadlo desde la entrada BACK (BACK^%ETN).

Echad también un vistazo al artículo relacionado: Cómo obtener errores de aplicación (^ERRORS) utilizando un comando

0
1 54
Artículo Jose-Tomas Salvador · mar 10, 2025 5m read

Hola

Este artículo es el resultado de la pregunta que había hecho a la comunidad: Adaptador UDP no funciona

En este artículo, voy a presentaros

1) ¿Qué es "UDP"?
2) El estado actual de Iris con UDP
3) Mi solución con el adaptador UDP


1) ¿Qué es "UDP"?

UDP significa User Datagram Protocol. Es uno de los protocolos fundamentales del conjunto de protocolos de Internet (IP) y se utiliza para transmitir datos a través de una red. Aquí tenéis algunas características clave de UDP:

0
0 96
InterSystems Official Jose-Tomas Salvador · mar 5, 2025

A partir de la versión 2025.1 de la plataforma de datos IRIS® de InterSystems, InterSystems deja oficialmente de utilizar MultiValue y lo incluye en la lista de funciones obsoletas y descatalogadas. Aunque InterSystems seguirá dando soporte a los clientes actuales que utilicen MultiValue, no se recomienda para nuevas aplicaciones.

Qué significa esto para vosotros:

0
0 57
Artículo Robert Cemper · feb 3, 2025 3m read

Variables de host son una característica de programación bastante común en muchas implementaciones de SQL.
Una pregunta reciente en DC me hizo darme cuenta de que en IRIS, Caché, Ensemble,... 
las variables del host simplemente existen dentro del embedded SQL.

>  You can supply host variables for Embedded SQL queries only. <
Se incluyen ejemplos relacionados en la documentación disponible.

A continuación se incluye una descripción de una solución alternativa si no utiliza o no puede utilizar embedded SQL.

1
0 60
Artículo Jose-Tomas Salvador · ene 7, 2025 4m read

Recientemente me encontré con un problema muy antiguo relacionado con el mantenimiento de código:

Tenéis acceso a vuestro servidor IRIS solo a través de ODBC/JDBC:

  • Sin acceso a VSCode
  • Sin acceso a Studio
  • Sin acceso a (Web-)Terminal

¡Pero necesitáis revisar Clases, Rutinas o Globals!

De cualquier forma, SQL es vuestro aliado.

  • Primero, necesitáis una tabla sencilla como almacén temporal de texto.
CREATEGLOBALTEMPORARYTABLE  arcc.txt (line VARCHAR(32000))
  • A continuación, exportad vuestro código a un archivo local e importadlo a vuestra tabla.
0
0 86
Pregunta David Robson · dic 23, 2024

Hola a todos,

Estoy buscando alguna herramienta que se pueda utilizar como base para crear una interfaz que permita a un usuario no técnico reenviar mensajes de manera sencilla. La idea es que el usuario pueda encontrar un mensaje HL7 ya enviado y reenviarlo modificando campos específicos del mensaje sin necesidad de tener ningún conocimiento técnico.

2
0 71
Artículo Ricardo Paiva · nov 29, 2024 1m read

Rúbrica de preguntas frecuentes de InterSystems

Se puede obtener con una consulta de lista de la clase %SYS.Namespace.  

1. Creáis una rutina como esta:

getnsp
   set statement=##class(%SQL.Statement).%New()
   set status=statement.%PrepareClassQuery("%SYS.Namespace","List")
   set resultset=statement.%Execute()
   while resultset.%Next() {
       write resultset.%Get("Nsp"),!
   }
   quit

2. Ejecutadla en vuestro terminal.

USER>do ^getnsp
%SYS
DOCBOOK
SAMPLES
USER

El método para ejecutar consultas de clase presentado en este artículo se puede aplicar en una variedad de casos.

0
0 76
Artículo Ricardo Paiva · nov 22, 2024 1m read

Rúbrica de Preguntas Frecuentes de InterSystems

La replicación o mirroring solo sincroniza archivos de base de datos.

Para sincronizar otros archivos necesarios para vuestra aplicación (archivos CSP, imágenes, documentos, etc.) entre los dos servidores que forman el conjunto de réplica, seguid uno de los siguientes enfoques:

  1. Colocad esos archivos en un disco compartido introduciendo un NAS u otro dispositivo similar.
  2. O utilizad software de sincronización de archivos para sincronizar los archivos entre los dos servidores.
0
0 55
Artículo Luis Angel Pérez Ramos · nov 19, 2024 1m read

Preguntas frecuentes de InterSystems

Por defecto, el orden de las columnas en una tabla lo determina automáticamente el sistema. Para cambiar el orden, estableced explícitamente el orden de cada propiedad utilizando la palabra clave SqlColumnNumber al definir la clase.

Ejemplo:

Property Name As %String [SqlColumnNumber = 2];

Por favor, consultad la documentación a continuación.

SqlColumnNumber

Si queréis cambiar el nombre de la tabla SQL, especificad SqlTableName. Si queréis cambiar el nombre de la columna (nombre del campo), especificad SqlFieldName.  

0
0 65
Artículo Ricardo Paiva · nov 19, 2024 2m read

Preguntas frecuentes de InterSystems

Si el archivo de journal es demasiado grande para buscarlo o filtrarlo mediante el Portal de administración, podemos consultarlo mediante los dos métodos siguientes.

① Usando la utilidad ^JRNDUMP
② Usandolo en código

================================================== ========== 

① Usando la utilidad ^JRNDUMP. Por ejemplo, si deseamos seleccionar todos los registros del archivo de journal que incluyen la referencia global ^ABC, hagamos lo siguiente:

*Ejecuta todos los comandos a continuación en el espacio de nombres %SYS.

0
0 67