Nueva
Artículo Ricardo Paiva · mar 13 2m read

En el panorama sanitario moderno, encontrar pacientes clínicamente similares a menudo es como buscar una aguja en un pajar. Las búsquedas tradicionales por palabras clave suelen fallar porque el lenguaje médico es muy matizado; una búsqueda de "Heart Failure" podría no encontrar un registro que contenga "Congestive Cardiac Failure".

Me complace compartir iris-medmatch, un motor de emparejamiento de pacientes impulsado por IA y desarrollado sobre InterSystems IRIS for Health.

0
0 4
InterSystems Developer Community is a community of 26,276 amazing developers
¡Somos un lugar donde los programadores de InterSystems IRIS aprenden y comparten, se mantienen actualizados, crecen juntos y se divierten!
Nueva
Artículo Tomo Okuyama · mar 9 7m read

Por qué esta integración es importante

InterSystems sigue impulsando las capacidades de IA de forma nativa en IRIS — búsqueda vectorial, compatibilidad con MCP y capacidades de IA agéntica. Esa hoja de ruta es importante y no hay ninguna intención de dar un paso atrás en ella.

Pero el panorama de la IA también está evolucionando de una manera que hace que la integración con el ecosistema sea cada vez más esencial. Herramientas como Dify — una plataforma de orquestación de LLM de código abierto y lista para producción — se han convertido en una parte importante de los stacks de IA empresariales.

0
0 14
Nueva
Artículo Jose-Tomas Salvador · mar 3 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 12
Nueva
Artículo Yuri Marx · mar 3 4m read

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.

0
0 15
Nueva
Artículo Luis Angel Pérez Ramos · mar 3 4m read

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-15

Aseguraos 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.

0
0 13
Nueva
Artículo Ricardo Paiva · mar 2 1m read

Preguntas frecuentes de InterSystems

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.
0
0 22
Artículo Jose-Tomas Salvador · feb 24 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 18
Artículo Silvia Schoch Alvarado · feb 23 1m read

El pasado 19 de febrero celebramos un Meetup muy especial, una jornada llena de creatividad, comunidad y mucha diversión.

Además, la zona developer se convirtió en uno de los puntos más animados del evento, donde muchos disfrutaron jugando a las máquinas recreativas y construyendo LEGO, aportando un toque divertido y nostálgico a la jornada.

Uno de los momentos más esperados fue la presentación de los ganadores del concurso de LEGO, que destacó por el nivel y la originalidad de las propuestas.

0
0 30
Artículo Luis Angel Pérez Ramos · feb 20 16m read

¿Se te hiela la sangre al oír hablar de OpenEHR? ¿Te ponen los pelos de punta los arquetipos?

¡Supera tus miedos con este artículo y domina OpenEHR con las capacidades de InterSystems IRIS for Health!

¿Qué es openEHR?

openEHR es una especificación abierta e independiente del proveedor, diseñada para representar, almacenar e intercambiar información clínica de forma semánticamente rica y sostenible a largo plazo.

0
0 25
Artículo Alberto Fuentes · feb 19 11m read

10:47 AM — Los resultados de creatinina de José García llegan al servidor FHIR del hospital. 2.1 mg/dL — un aumento del 35% frente al mes pasado.

¿Qué pasa después?

  • En un sistema típico: ❌ El resultado queda en una cola hasta que un clínico lo revise manualmente, horas o días después.
  • Este sistema de ejemplo: 👍 Un agente de IA evalúa la tendencia, consulta guías clínicas y genera recomendaciones basadas en evidencia, en segundos y de forma automática.

Sin chatbot. Sin prompts manuales. Sin razonamiento de caja negra.

Esto es soporte a la decisión clínica impulsado por eventos con trazabilidad completa:

image

Activado automáticamente por eventos FHIR ✅ Razonamiento multiagente (contexto, guías, recomendaciones) ✅ Trazabilidad completa en SQL (cada decisión, cada fuente de evidencia) ✅ Salidas nativas FHIR (DiagnosticReport publicado en el servidor)

Construido con:

  • InterSystems IRIS for Health — Orquestación, FHIR, persistencia, búsqueda vectorial
  • CrewAI — Framework multiagente para razonamiento estructurado

Aprenderás: 🖋️ Cómo orquestar flujos de IA agéntica dentro de sistemas de interoperabilidad listos para producción, y por qué la explicabilidad importa más que la precisión por sí sola.

<iframe width="560" height="315" src="https://www.youtube.com/embed/43Vl7cU_uNY?si=o3NZ3AqPOdFkCn9w" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
0
0 30
Artículo Ricardo Paiva · feb 18 7m read

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!

0
0 20
Artículo Alberto Fuentes · feb 17 3m read

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.
0
0 38
Artículo Ricardo Paiva · feb 13 7m read

 

¡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.

0
0 19
Artículo Alberto Fuentes · feb 9 21m read

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.

0
0 25
Artículo Pierre-Yves Duquesnoy · feb 9 4m read

¿Qué son los parámetros variádicos?

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...)`

 


 

Crea tus propios métodos variádicos

Puedes definir un método con un parámetro fijo y un número variable de extras:

ClassMethod MiMetodo(fijo As %String,
0
0 38
Artículo Bismar Vargas Arias · feb 8 1m read

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.

0
0 19
Artículo Bismar Vargas Arias · feb 8 1m read

🚀 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.

0
0 27
Artículo Bismar Vargas Arias · feb 8 1m read

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.

0
0 23
Artículo Bismar Vargas Arias · feb 8 1m read

🚀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?

0
0 24
Artículo Pierre-Yves Duquesnoy · feb 2 12m read

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.

0
1 21
Artículo Ricardo Paiva · ene 29 3m read

Durante el último año, el equipo de desarrollo de CCR ha priorizado cambios en la aplicación CCR para mostrar y fomentar mejores prácticas en su uso. Este artículo destaca algunas de las áreas en las que nos hemos centrado:

  • Panel de organización
  • Alertas del sistema
  • Higiene de ramas

En cada una de estas áreas, hemos aumentado la visibilidad de posibles problemas en el uso de CCR y proporcionado herramientas para que los usuarios los aborden de manera proactiva.

Panel de organización

Hemos seguido ampliando la información disponible en la página de detalles de la organización.

0
0 20
Artículo Luis Angel Pérez Ramos · ene 29 3m read

Embeddedpy-bridge: Un kit de herramientas para Embedded Python

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.

0
0 29
Artículo Luis Angel Pérez Ramos · ene 28 5m read

¿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!

¿Cómo funciona

0
0 38
Artículo Jose-Tomas Salvador · ene 28 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 29
Artículo Jose-Tomas Salvador · ene 27 2m 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.

1
0 28
Artículo Robert Cemper · ene 26 2m read

Durante los últimos 9 años, he publicado más de 90 paquetes en OEX.
Y durante todo este tiempo, las condiciones y los entornos cambiaron.
Al principio, 

  • no había Docker
  • no había PM/ZPM
  • no había Python embebido, no había AI
  • el Caché, Ensemble, CSP, ZEN, ... dominaban

A medida que pasó el tiempo, también cambiaron las versiones de los productos y los lenguajes externos.
Ajustar unos pocos paquetes no era un problema al principio,
y era una cuestión de calidad de soporte para vuestros “consumidores”.

Con el volumen actual, no veo forma de mantener este objetivo para todos mis

1
0 25
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 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 Pierre-Yves Duquesnoy · ene 18 1m read

¿Estás preparando las certificaciones de InterSystems?

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?

  • Más de 1.
1
1 45