Artículo Vachan C Rannore · ene 22 1m read

SETasigna un valor a la variable en TIEMPO DE EJECUCIÓN.

#DIM declara la variable y su tipo de datos en TIEMPO DE COMPILACIÓN.







SET #DIM

Hace que las variables sean dinámicas.

Mejora la legibilidad.

Sin declaración de tipo de datos.

Permite la autocompletación en el IDE.

Tiempo de ejecución

Útil para referencias a objetos.


#DIM name As %String
Set name = "Micheal Scott"
#DIM age As %Numeric
Set age = 36
#DIM employer As App.Employer               ; compile time
Set employer = ##class(App.Employer).%New() ; runtime 

 

SET #DIM?

0
0 33
Artículo Ricardo Paiva · ene 21 7m read

InterSystems API Manager (IAM) es un componente clave de la plataforma de datos InterSystems IRIS y ofrece una gestión centralizada de APIs con un fuerte enfoque en la seguridad. IAM simplifica todo el ciclo de vida de las APIs, desde su creación hasta su retirada, y proporciona un portal de desarrolladores para facilitar el descubrimiento y la integración de APIs. Las funciones de control de acceso permiten a los administradores definir permisos precisos, y IAM se integra de forma fluida con la plataforma de datos IRIS, mejorando las capacidades de gestión e integración de datos.

0
0 32
Artículo Alberto Fuentes · ene 12 9m read

Existen numerosas herramientas excelentes para probar vuestras APIs REST, especialmente cuando están en funcionamiento. Postman, distintas extensiones de navegador e incluso código personalizado en ObjectScript usando objetos %Net.HttpRequest pueden hacer el trabajo. Sin embargo, a menudo resulta complicado probar únicamente la API REST sin involucrar, sin querer, el esquema de autenticación, la configuración de la aplicación web o incluso la conectividad de red. Son muchos obstáculos solo para probar el código dentro de vuestra clase dispatch.

La buena noticia es que, si nos tomamos el tiempo para comprender cómo funciona internamente la clase %CSP.REST, encontraremos una alternativa que permite probar únicamente el contenido de la clase dispatch. Podemos configurar los objetos de request y response para invocar los métodos directamente.

1
0 44
Anuncio Jose-Tomas Salvador · ene 19

IPM versión 0.10.5 se ha lanzado el 15 de enero de 2026. Esta nueva versión incluye un montón de mejoras y correcciones de errores, así que aseguraos de echarle un vistazo, ya sea directamente desde la página de GitHub o desde el Registro de la Comunidad.

Los cambios más importantes incluyen lo siguiente:

  • Una reescritura de la resolución de dependencias que mejora drásticamente el rendimiento, incluyendo un aumento de velocidad de 200 veces en casos muy complicados.
0
0 36
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 48
Artículo Alberto Fuentes · ene 15 3m read

Si queréis generar JWT a partir de un certificado/clave x509, cualquier operación (incluida la lectura) sobre %SYS.X509Credentials requiere el permiso U en el recurso %Admin_Secure. Esto se debe a que %SYS.X509Credentials es persistente y está implementado así para evitar que todos los usuarios tengan acceso a las claves privadas.

Si el recurso %Admin_Secure no está disponible en tiempo de ejecución, podéis usar la siguiente solución alternativa.

Revisándo el código de generación de JWT, descubrí que sólo utiliza %SYS.

0
0 27
Artículo Ricardo Paiva · ene 15 4m read

InterSystems IRIS se basa en una arquitectura que separa la organización lógica de los datos (namespaces - espacios de nombres) de su ubicación física de almacenamiento (bases de datos). Comprender esta separación y la distinción entre espacios de nombres y bases de datos es fundamental para una gestión de datos eficaz, la seguridad y, especialmente, para compartir datos con alto rendimiento.

En este artículo, explicaré estos componentes fundamentales y ofreceré una guía práctica sobre cómo aprovechar los mapeos de globals para compartir estructuras de datos nativas (globals) entre diferentes entornos lógicos.

Bases de datos: la realidad física

Una base de datos representa la realidad física de dónde se almacenan los datos en el disco. Antes que nada, es un archivo en un sistema de archivos llamado IRIS.dat (por ejemplo, <carpeta de instalación>\mgr\user\IRIS.DAT). El tamaño máximo de este archivo es de 32 TB. Es el contenedor de todos los datos y del código. Las bases de datos son gestionadas por el núcleo de IRIS, que se encarga del caché, el registro en diario (journaling) y el registro de transacciones a nivel de archivo físico.

Al instalar el DBMS de InterSystems IRIS, se crean automáticamente las siguientes bases de datos:

0
0 41
Anuncio Silvia Schoch Alvarado · ene 15
  • InterSystems EMPI (anteriormente HealthShare Patient Index) – Virtual Del 3 al 5 de febrero de 2026

    • Configurad, ajustad y trabajad con InterSystems EMPI, un Índice Maestro Empresarial de Personas.
    • Este curso de 3 días enseña la instalación, configuración y uso de InterSystems EMPI™ (anteriormente HealthShare® Patient Index). A partir de la versión 2025.1, HealthShare Patient Index ha pasado a llamarse InterSystems EMPI, pero la funcionalidad principal sigue siendo la misma.
0
0 28
Anuncio Silvia Schoch Alvarado · ene 14
Os traemos un resumen de todo lo que hemos publicado en 2025 en la Comunidad en español. ¡Seguid leyendo y no os lo perdáis!
Estadísticas generales:
349 contenidos publicados durante el 2025:
 190 artículos
 142 anuncios
 16 preguntas
 1 debate

149 miembros se unieron a la Comunidad de desarrolladores durante el 2025
2,306 los mensajes publicados todo el tiempo en total
872 de miembros unidos todo el tiempo en total

0
1 26
Anuncio Silvia Schoch Alvarado · ene 13

¡Hola, comunidad!

A partir de enero de 2026, los desarrolladores que conviertan ideas de producto del Portal de Ideas en soluciones reales y funcionales serán premiados con 7.000 puntos en Global Masters y una insignia.

Lo que obtenéis:
🧙‍♂️ Insignia Idea to Reality Wizard
— otorgada una sola vez a los miembros de la comunidad que implementen una idea de producto propuesta en el Portal de Ideas.
7.000 puntos de Global Masters — otorgados por cada idea implementada de la lista «Community Opportunity».


 

Detalles: 

0
0 32
Artículo Ricardo Paiva · ene 13 7m read

A veces es más conveniente, más eficiente y más seguro limitar las búsquedas FHIR a "listas" de recursos predefinidas.

Desde la versión v2025.1, soportamos varias funcionalidades relacionadas con listas en nuestro servidor FHIR.

Aquí las destacaré y os proporcionaré algunos ejemplos.

0
0 36
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 28
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 40
Artículo Ricardo Paiva · ene 12 3m read

También en versiones anteriores podíais definir vuestro servidor FHIR para aceptar solicitudes mediante OAuth 2.0 (por ejemplo, para un cliente SMART on FHIR), pero hoy en día, con la versión v2024.3, que se lanzó hace ya un tiempo, existe una nueva funcionalidad que permite hacerlo de forma más sencilla: el OAuth FHIR Client QuickStart.

0
0 43
Artículo Jose-Tomas Salvador · ene 12 1m read

Si uno de vuestros paquetes en OEX recibe una reseña, OEX os notificará únicamente sobre vuestro propio paquete. La valoración refleja la experiencia del revisor con el estado del paquete en el momento de la reseña.
Es como una “fotografía” del estado en ese momento y podría haber cambiado desde entonces. Las reseñas realizadas por otros miembros de la comunidad se marcan con un * en la última columna.

Además, el revisor puede enviar Pull Requests en GitHub cuando encuentra un problema que se puede solucionar. Algunas puden ser aceptadas y fusionadas, y otras simplemente ignoradas.

0
0 23
Anuncio Silvia Schoch Alvarado · ene 12
Hola y bienvenidos al resumen de diciembre de 2025 de la Comunidad de Desarrolladores en YouTube.
0
0 20
Artículo Evandro Wendt · ene 6 1m read

Las capacidades integradas de búsqueda vectorial de InterSystems IRIS nos permiten buscar datos no estructurados y semiestructurados. Los datos se convierten en vectores (también llamados “embeddings”) y luego se almacenan e indexan en InterSystems IRIS para búsqueda semántica, generación aumentada por recuperación (RAG), análisis de texto, motores de recomendación y otros casos de uso.

Esta es una demostración sencilla de IRIS siendo utilizado como una base de datos vectorial y para búsquedas por similitud en IRIS.

0
0 40
Artículo Evandro Wendt · ene 4 1m read

Este código muestra los elementos de producción configurados e indica si están habilitados o deshabilitados.

 

Include (Ensemble, EnsUI, EnsUtil)

Class Test.ProductionConfig
{

ClassMethod GetConfigItems() As %Status
{
Set tStatement = ##class(%SQL.Statement).%New()
Set tSC = tStatement.%PrepareClassQuery("Ens.Config.Production","EnumerateConfigItems")
Write tSC,!
Write "ConfigItemName"," ","Enabled",!
#Dim exp As %Exception.SystemException
#Dim rset As %SQL.StatementResult
Set rset = tStatement.%Execute()
Write rset,!
Write rset.%SQLCODE,!
While rset.%Next() {
Try {
Set tConfigName = rset.

0
0 29
Anuncio Sergio Farago · dic 19, 2025

Como parte de nuestra celebración de 10 años, nos complace reconocer a ciertos miembros cuyas contribuciones a largo plazo han dado forma de manera significativa a la Comunidad de Desarrolladores de InterSystems.

Durante la última década, estas personas han compartido conocimiento, apoyado a sus compañeros y contribuido a fortalecer el espíritu de colaboración que define nuestra Comunidad.

Para honrar su impacto, estamos presentando un conjunto especial de premios de la Edición del 10.º Aniversario y medallas de Global Masters:

0
0 67
Anuncio Sergio Farago · dic 19, 2025

¡Ya está disponible la agenda de READY 2026!

 

Como sabéis, InterSystems Iberia READY 2026 nace con la intención de mostrar hacia dónde avanza el futuro de los datos, la interoperabilidad y la inteligencia artificial. Una oportunidad perfecta para aprender, conectar y hacer crecer el sector. Estáis todos invitadísimos, por si no lo sabíais. Poco a poco vamos descubriendo más de un evento que será un antes y un después para nosotros. Os lo vamos contando. De momento tenemos la agenda ¿qué os parece? Creemos que será una sesión muy entretenida.

0
0 67
Artículo Jose-Tomas Salvador · dic 18, 2025 1m read

Fue alentador ver a más personas creando extensiones de VS Code para el concurso reciente. Sin embargo, noté que de las tres extensiones que requieren credenciales para realizar sus conexiones, solo la de @John Murraygj :: dataLoader, aprovecha la extensión InterSystems Server Manager, ampliamente establecida y oficialmente soportada, para obtener las definiciones de conexión y gestionar las credenciales de manera segura.

0
0 52
Anuncio Sergio Farago · dic 18, 2025

Hola, comunidad:

✨ Mientras cerramos otro año increíble en la comunidad de desarrolladores, es el momento de echar la vista atrás y repasar todo lo que habéis conseguido en 2025. Vuestro resumen personal de 2025 ya está disponible: una visión a medida de vuestra actividad, vuestros logros y el valor que habéis aportado a la comunidad este año.

Desde los artículos que compartisteis hasta los debates que impulsasteis, vuestras contribuciones ayudaron a dar forma al conocimiento y a la colaboración en nuestra plataforma. Ahora podéis revisarlo todo en un solo lugar.

0
0 25
Artículo Dmitry Maslennikov · dic 18, 2025 5m read

La idea más votada en el InterSystems Ideas Portal —con 74 votos— pide una versión ligera de IRIS. Aunque la plataforma ha crecido hasta convertirse en un potente motor de datos, muchos proyectos solo necesitan sus capacidades de base de datos SQL. Este artículo muestra cómo crear una imagen no oficial y compacta de IRIS Community Edition centrada únicamente en la funcionalidad básica de base de datos, reduciendo el tamaño de la imagen en más de un 80%.

⚠️ Aviso

Este proyecto genera una imagen no oficial y experimental de InterSystems IRIS Community Edition.

  • No está soportada ni avalada por InterSystems.
  • Usadla bajo vuestra propia responsabilidad. Las modificaciones eliminan funciones esenciales de la plataforma y pueden romper la compatibilidad con herramientas, APIs y comportamientos esperados.
  • No se aplican garantías de ningún tipo, incluida su idoneidad para uso en producción.
  • Está pensada solo para fines educativos y experimentales por parte de usuarios avanzados.

¿Por qué un IRIS ligero?

Aunque IRIS incluye hoy funciones muy completas —interoperabilidad, analítica, machine learning, gestión del sistema, etc.— muchos proyectos solo requieren sus capacidades SQL básicas. La imagen oficial Docker de Community Edition ocupa aproximadamente:

  • Uso en disco: 3,5–3,8 GB
  • Tamaño comprimido: ~1,1 GB

IRIS Light reduce eso a:

  • Uso en disco: ~575–583 MB
  • Tamaño comprimido: ~144–148 MB

Esto lo hace adecuado para:

  • Uso SQL en microservicios o contenedores
  • Pipelines de CI con arranque y descarga más rápidos
  • Escalado horizontal donde no se necesitan todas las funcionalidades
0
0 39