¡Hola, Comunidad!
¿Trabajáis con grandes volúmenes de datos? Descubrid cómo los streams pueden ayudar:
Almacenamiento de grandes cantidades de datos con Streams en ObjectScript
InterSystems IRIS es una Plataforma completa de datos.
InterSystems IRIS le proporciona todo lo que necesita para capturar, compartir, comprender y actuar sobre el activo más valioso de su organización, sus datos.
Dado que es una plataforma completa, InterSystems IRIS elimina la necesidad de integrar varias tecnologías de desarrollo. Las aplicaciones necesitan una menor cantidad de código, menos recursos del sistema y poco mantenimiento.
¡Hola, Comunidad!
¿Trabajáis con grandes volúmenes de datos? Descubrid cómo los streams pueden ayudar:
Almacenamiento de grandes cantidades de datos con Streams en ObjectScript
¡Hola, Comunidad!
Estamos muy emocionados de compartir que acabamos de lanzar un nuevo tutorial interactivo y gratuito, diseñado especialmente para quienes son nuevos en InterSystems IRIS y buscan una introducción clara y práctica a sus conceptos fundamentales.
🧑🏫 Modelos de datos de InterSystems IRIS🧑💻

El reconocimiento facial se ha convertido en el método más popular para validar la identidad de las personas, permitiendo así el acceso a sistemas, la confirmación de datos personales y documentales, y la aprobación de acciones y documentos.
Los desafíos están relacionados con el rendimiento cuando la base de datos es muy grande, la precisión y, especialmente, la privacidad de los datos biométricos faciales.
Hola:
La migración de datos a menudo suena como una simple “tarea de mover datos de A a B” hasta que te pones a ello. En realidad, es un proceso complejo que combina planificación, validación, pruebas y precisión técnica.
A lo largo de varios proyectos en los que gestioné la migración de datos a un HIS que funciona sobre IRIS (TrakCare), me di cuenta de que el éxito proviene de una mezcla de disciplina y automatización.
Aquí tenéis algunos puntos que quiero destacar.
1. Empezad con un formato de datos definido.
Antes incluso de abrir vuestro primer archivo, aseguraos de que todos, especialmente los proveedores de datos, entienden claramente el formato exacto de datos que esperáis. Definir plantillas desde el principio evita idas y venidas innecesarias y retrabajos más adelante.
Aunque los formatos Excel o CSV son comunes, personalmente considero que usar un archivo de texto delimitado por tabuladores (.txt) para la carga de datos es lo mejor. Es ligero, consistente y evita problemas con comas dentro de los campos de texto.
PatID DOB Gender AdmDate
10001 2000-01-02 M 2025-10-01
10002 1998-01-05 F 2025-10-05
10005 1980-08-23 M 2025-10-15Aseguraos de que los formatos de fecha que aparecen en el archivo son correctos y constantes en todo el documento, porque normalmente todos estos archivos se convierten desde un Excel y un usuario básico de Excel puede cometer errores al daros los formatos de fecha incorrectos. Los formatos de fecha erróneos pueden desesperaros al convertirlos a horolog.
El comando $ZF(-100) se utiliza en el siguiente formato.
$ZF(-100, flags, command name, command arguments)El argumento "/shell" es requerido al ejecutar comandos del sistema operativo (OS).
Por ejemplo, usad mkdir así:
// mkdir C:\temp\newdir
Write $ZF(-100, "/shell", "mkdir", "C:\temp\newdir")
Si un comando tiene múltiples argumentos, ponedlos entre comillas y separadlos con comas, como en este ejemplo.
// move C:\temp\a.txt C:\temp\a2.txt
Write $ZF(-100, "/shell", "move", "C:\temp\a.txt", "C:\ temp\a2.Este recurso gratuito te puede ayudar en tu preparación 👇
Las certificaciones de InterSystems no son sencillas: necesitas practicar con preguntas alineadas a los objetivos reales del examen.
https://exam-prep.es es una plataforma creada para eso: practicar, detectar puntos débiles y llegar mejor preparado al examen.
🧠 ¿Qué encontrarás?
En este artículo, pretendo demostrar un par de métodos para añadir fácilmente validación a las APIs REST en InterSystems IRIS Data Platform. Creo que un enfoque specification-first es una idea excelente para el desarrollo de APIs. IRIS ya dispone de funcionalidades para generar un esqueleto de implementación a partir de una especificación y publicar esa especificación para desarrolladores externos (usadlo junto con iris-web-swagger-ui para obtener los mejores resultados). Lo único importante que aún no está implementado en la plataforma es el validador de solicitudes. ¡Vamos a solucionarlo!
PEP 578 añadió hooks de auditoría de Python. Una gran variedad de eventos (carga de módulos, interacciones con el sistema operativo, etc.) generan eventos de auditoría a los que podéis suscribiros.
Así es como se hace. Primero, cread un hook de Python embebido:
Class User.Python
{
/// do ##class(User.Python).Audit()
ClassMethod Audit() [ Language = python ]
{
import sys
import time
def logger(event,args):
if event=='import':
module = args[0]
print(f"Loading {module}")
if module == "numpy":
print(f"Module {module} forbidden.En este video les comparto un pequeño laboratorio donde integramos la potencia de una Base de Datos Vectorial nativa con la inteligencia de GPT-4. 🛠️ ¿Qué estamos viendo en acción?
Almacenamiento Vectorial Nativo: Guardamos documentos y sus "embeddings" directamente en IRIS, permitiendo búsquedas de similitud matemática ultra eficientes.
SQL Estándar: Ejecutamos consultas complejas que combinan datos relacionales con vectores, manteniendo la simplicidad del lenguaje que ya conocemos.
¡Hola!
En mi último artículo, hice una guía paso a paso sobre cómo podéis probar a desplegar InterSystems IRIS Community Edition, o IRIS for Health Community Edition, gratis en AWS. En este seguimiento, os mostraré lo mismo para el siguiente mayor proveedor de nube, Microsoft Azure.
Al igual que con AWS, Azure también ofrece una opción gratuita al registraros, aunque es un poco menos generosa: recibís 200 $ de crédito gratis para gastar en el primer mes.
Las versiones de mantenimiento 2025.1.3 de la plataforma de datos InterSystems IRIS®, InterSystems IRIS®for Health™ y HealthShare®Health Connect ya están disponibles de manera general (GA).
La tercera vista previa para desarrolladores de la plataforma de datos InterSystems IRIS®, InterSystems IRIS® for Health y HealthShare® Health Connect 2026.1 se ha publicado en el sitio de vistas previas para desarrolladores WRC. Los contenedores se pueden encontrar en nuestro registro de contenedores y están etiquetados como latest-preview.
Estas vistas previas para desarrolladores incluyen la eliminación del soporte para Mac Intel a partir de la versión 2026.1.0, y la reincorporación del soporte para Windows Server 2019 en la versión 2026.1.0.
A medida que las aplicaciones crecen, todas las bases de datos acaban alcanzando límites de escalado. Ya sea por capacidad de almacenamiento, usuarios concurrentes, rendimiento de las consultas o ancho de banda de E/S, las arquitecturas de un solo servidor tienen limitaciones inherentes. Esta guía explica los enfoques fundamentales para la escalabilidad de bases de datos y muestra cómo InterSystems IRIS implementa estos patrones para dar soporte a cargas de trabajo a escala empresarial.
Exploraremos dos estrategias de escalado complementarias: escalado horizontal para el volumen de usuarios (distribuyendo la carga computacional) y sharding para el volumen de datos (particionando los conjuntos de datos). Comprender los principios generales que hay detrás de estos enfoques os ayudará a tomar decisiones fundamentadas sobre cuándo y cómo escalar vuestras aplicaciones IRIS.
Los ejemplos de esta guía utilizan InterSystems IRIS en contenedores Docker.
ObjectScript permite definir métodos que aceptan un número variable de argumentos usando la sintaxis `args...`. En lugar de fijar cuántos parámetros recibe un método, dejas que el llamante decida cuántos enviar.
Se pueden invocar de dos formas:
1. Con argumentos individuales: `metodo(val1, val2, val3)`
2. Expandiendo un array: `metodo(args...)`
Puedes definir un método con un parámetro fijo y un número variable de extras:
ClassMethod MiMetodo(fijo As %String,Laboratorio de Integración con InterSystems IRIS, Wear OS y Ollama En los últimos días estuve trabajando en un proyecto personal para gestionar la creación de pacientes desde un dispositivo Wear OS conectado a mi servidor local de InterSystems IRIS Community. La aplicación funciona de la siguiente forma:
✅ Desde el reloj inteligente envío la información del paciente mediante voz o texto.
✅ Un servidor local procesa la solicitud usando Ollama y el modelo Qwen, que interpreta el texto y genera el JSON estructurado con los datos del paciente.
🚀 Migración de Datos Clínicos: InterSystems IRIS + Google Cloud Healthcare
En mi laboratorio de integración, he logrado vincular InterSystems IRIS con la API de Google Cloud Healthcare para habilitar un flujo completo de migración y almacenamiento de datos clínicos en formato FHIR R4.
🔹 Pasos clave del proceso:
1️⃣ Creación de proyecto y habilitación de facturación en Google Cloud.
2️⃣ Activación de la API de Cloud Healthcare.
3️⃣ Creación de un dataset y un FHIR Store (iris-fhir-store) en us-central1.
4️⃣ Configuración de permisos IAM e implementación de una Service Account exclusiva para IRIS.
Control gestual sobre InterSystems IRIS Community: 3D y UI sin contacto 🧩 Hoy muestro un laboratorio/prototipo donde uso InterSystems IRIS Community como interfaz base y un overlay transparente que me permite operar el sistema únicamente moviendo las manos frente a la webcam.
La idea: que el/la profesional explique y navegue modelos virtuales (no análogos) y la propia UI… sin tocar nada.
¿Qué hace?
✅ Puntero por gestos: la mano mueve el cursor con suavizado para que no “salte”.
✅ Acciones naturales: click, doble-click y arrastre con el índice/pinza.
🚀Laboratorio: InterSystems IRIS Community + PHP (Laravel) vía ODBC
Esta semana estuve trabajando en un laboratorio personal donde integré InterSystems IRIS Community con PHP Laravel utilizando conexión ODBC, y lo llevé un paso más allá: construí un paquete de instalación tipo “wizard” guiado para que cualquier usuario pueda configurar el entorno de forma sencilla (sin pelear con drivers, DSN, variables y ajustes). ✅¿Qué logré en este laboratorio?
Desde IRIS 2024, InterSystems IRIS soporta el protocolo XOAuth2, una extensión a OAuth2 que permite autenticación con OAuth2 para enviar y recibir mensajes de email. Google Mail y Google Workspace (el uso empresarial del mail de google con una dirección de empresa) requieren el uso de XOAuth2 si se desea integrar las funciones de correo desde una aplicación externa.
En este ejemplo, me centraré en una aplicación IRIS que usa el Gmail empresarial para el envio de correos.
¡Hola, comunidad!
Estamos encantados de compartir un nuevo vídeo de nuestro YouTube de InterSystems Developers:
⏯ Multihilo en una interfaz HL7 y escalado más allá de las limitaciones FIFO @ Ready 2025
Visión general
Embedded Python es un cambio radical para InterSystems IRIS, ya que ofrece acceso al vasto ecosistema de Python directamente dentro de la base de datos. Sin embargo, salvar la brecha entre ObjectScript y Python a veces puede parecer bastante complicado.
Para hacer que esta transición sea fluida, podéis usar embeddedpy-bridge.
¿Cuantas veces habéis tenido que recibir o generar un JSON y habéis añorado el poder trabajar sobre él haciendo uso de DTLs y sin tener que ir manejando DynamicObjects intentando recordar cual era el nombre de cada campo?
¿Deseas trocear y hacer más digerible tu gigantesco JSON?

En mi caso, nunca, pero he pensado que a alguien le podría resultar de utilidad una funcionalidad que capture tu JSON y lo descomponga en una serie de clases de ObjectScript con las que puedas trabajar de forma más cómoda y sencilla.
Pues bien...¡contemplad el JSON2Class en toda su gloria!
¡Hola, desarrolladores!
Sois expertos en IRIS y conocéis todos los trucos.
Las funcionalidades $ZF() y CPIPE no son nuevas para vosotros.
Así que también conocéis los límites de estas funcionalidades.
Ambos dan acceso a su entorno de servidor local. Y este es el final.
Hola desarrolladores,
Nos alegra anunciar el primer concurso de programación online de InterSystems del año:
🏆 Concurso Full Stack de InterSystems 🏆
Duración: del 2 de febrero al 1 de marzo de 2026
Bolsa de premios: 12.000 $
.jpg)
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 o #DIM?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.
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:
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? 🙄
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.
Hola Comunidad!
¿Necesitas un modo de almacenar de forma segura tus passwords, API keys y otras credenciales? Mira como el Secure Wallet en InterSystems IRIS® data platform te puede ayudar: