2 Seguidores · 179 Publicaciones

SQL is un lenguaje estándar para el almacenamiento, manipulación y recuperación de datos en bases de datos relacionales.

Nueva
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 10
Nueva
InterSystems Official Jose-Tomas Salvador · feb 11

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). Estas versiones incluyen correcciones para varias alertas y avisos emitidos recientemente, incluyendo los siguientes:

0
0 22
Nueva
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:

0
0 26
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%StringSet name = "Micheal Scott"#DIM age As%NumericSet age = 36#DIM employer As App.Employer               ; compile timeSet employer = ##class(App.Employer).%New() ; runtime 

 

SET#DIM? Vuestro diseño, vuestras reglas.

0
0 29
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?

0
1 31
Artículo Alberto Fuentes · dic 17, 2025 3m read

🚀 Un ejemplo práctico integrando REST, CSV, bases de datos y servicios SOAP

En el día a día de cualquier organización, la información fluye entre aplicaciones, servicios y sistemas muy distintos entre sí. Integrarlos de forma eficiente puede ser un reto... a menos que uses InterSystems IRIS.

En este nuevo vídeo te muestro cómo construir un flujo completo de integración combinando múltiples tecnologías —APIs REST, ficheros CSV, bases de datos y servicios SOAP— todo dentro del entorno visual que ofrece el motor de interoperabilidad de IRIS.

👉 Puedes ver el vídeo aquí:

<iframe width="560" height="315" src="https://www.youtube.com/embed/82xA51nThqQ?si=CzRfwyLSwcKvOGGH" 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 48
Artículo Jose-Tomas Salvador · dic 15, 2025 3m read

Hola a todos. De nuevo, me gustaría compartir lo que estoy estudiando recientemente: crear tablas externas usando SQL a través de JDBC.

Como estoy aprendiendo sobre IRIS BI al mismo tiempo, empecé con este entorno docker de Sample-BI.

https://github.com/intersystems/Samples-BI

Después de iniciar el entorno, iniciad sesión en el portal de administración en http://localhost:52773/csp/sys/UtilHome.csp con el usuario Superuser.

Cambiad el namespace a IRISAPP.

0
0 41
Artículo John Murray · dic 5, 2025 1m read

Me complace anunciar la publicación de gj :: dataLoader, una nueva extensión de VS Code que simplifica la tarea de cargar datos desde archivos CSV locales en tablas SQL de vuestros servidores InterSystems IRIS.

Aquí tenéis un vídeo introductorio:

gj :: dataLoader ya está disponible en Marketplace para su instalación directa en VS Code. Es mi propuesta para el concurso “Bringing Ideas to Reality” 2025 y lleva a la práctica esta idea: https://ideas.intersystems.com/ideas/DPI-I-667

Se agradecen vuestros comentarios.

0
1 54
Artículo Ricardo Paiva · nov 26, 2025 1m read

Hola,

Cuando abrimos un terminal en IRIS, entramos en el shell de ObjectScript. Dentro de este shell, podemos ejecutar comandos de IRIS, como:

En otras palabras, el comando ObjectScript se ejecuta en el shell actual. Pero siempre es bueno recordar que IRIS tiene otros shells.

  • SQL
  • Python
  • TSQL
  • MDX

Un aspecto muy interesante son los atajos. Podemos acceder a estos shells mediante sus llamadas o a través de atajos, como se muestra en la tabla siguiente:

0
0 54
Artículo Luis Angel Pérez Ramos · oct 30, 2025 3m read

Hola comunidad,

Quería compartir mi experiencia trabajando en proyectos con grandes volúmenes de datos. A lo largo de los años, he tenido la oportunidad de manejar enormes cantidades de datos de pacientes, datos de aseguradoras y registros transaccionales mientras trabajaba en la industria hospitalaria. He tenido la oportunidad de crear informes muy extensos que requerían usar lógicas avanzadas para obtener datos de múltiples tablas, cuyos índices no me ayudaban a escribir un código eficiente.

Esto es lo que he aprendido sobre cómo gestionar grandes volúmenes de datos de manera eficiente.

Elegir el método de acceso a datos adecuado

Como todos sabemos en esta comunidad, IRIS ofrece múltiples formas de acceder a los datos. Elegir el método correcto dependerá de lo que necesitemos.

  • Acceso directo a los Globales: el más rápido para operaciones masivas de lectura/escritura. Por ejemplo, si tengo que recorrer índices y obtener datos de pacientes, puedo iterar sobre los globales para procesar millones de registros. Esto ahorra mucho tiempo.
Set ToDate=+HSet FromDate=+$H-1ForSet FromDate=$O(^PatientD("Date",FromDate)) Quit:FromDate>ToDate  Do
. Set PatId=""ForSet PatId=$Order(^PatientD("Date",FromDate,PatID)) Quit:PatId=""Do
. . Write$Get(^PatientD("Date",FromDate,PatID)),!
  • Uso de SQL: útil para requisitos de generación de informes o análisis, aunque más lento para conjuntos de datos muy grandes.
0
0 48
Artículo Arsh Hasan · oct 29, 2025 2m read

Tuve el mismo problema que contaba Jerry en el siguiente enlace al conectar IRIS con el servidor SQL. Mi conexión ODBC está configurada para autenticarse mediante autenticación nativa de Windows.

Configurad la conexión ODBC de IRIS con autenticación de Windows utilizando una cuenta de dominio específica en lugar de la cuenta predeterminada del servidor IRIS

¿Cómo lo solucioné yo?

La raíz del problema

0
0 51
Artículo Beatrice Zorzoli · sep 29, 2025 5m read

Me uní a InterSystems hace menos de un año. Sumergirme en ObjectScript e IRIS fue emocionante, pero también estuvo lleno de pequeñas sorpresas que me hicieron tropezar al principio. En este artículo recojo los errores más comunes que yo, y muchos compañeros nuevos, cometemos, explico por qué ocurren y muestro ejemplos concretos junto con soluciones prácticas. Mi objetivo es ayudar a otros desarrolladores que empiezan a ahorrar tiempo y evitar los mismos obstáculos en el camino.

1. Perderse entre las clases del sistema y no saber por dónde empezar

0
0 58
Artículo Luis Angel Pérez Ramos · sep 29, 2025 3m read

¡Hola a todos!

Es muy fácil importar datos CSV en IRIS. Pero, ¿qué pasa si queremos preservar los IDs originales del CSV?

Recientemente me encontré con la situación en la que necesitaba importar dos CSVs en IRIS que estaban vinculados por una columna que hacía referencia a la columna de otro CSV: una situación típica de clave primaria y clave externa, donde csv1 contiene esta columna como clave primaria, y csv2 como clave externa con IDs relacionados con csv1.

La imagen fue generada por ChatGPT, así que no lo culpéis: hizo lo mejor que pudo al generar países como claves primarias con una relación countries.csv–cities.csv :)

0
0 46
Artículo Ricardo Paiva · sep 15, 2025 3m read

Algo que he aprendido a lo largo de los años es que, por muy pulida que esté vuestra lógica de aplicación, el rendimiento de la base de datos acabará haciendo o deshaciendo la experiencia de usuario. Trabajando con InterSystems IRIS, recientemente me topé con esto de primera mano. Un cliente nuestro estaba construyendo un panel de informes que funcionaba a la perfección en las pruebas, pero cuando el conjunto de datos de producción creció hasta millones de registros, los tiempos de respuesta se arrastraban.

0
0 58
Artículo Alberto Fuentes · sep 12, 2025 5m read

En el artículo anterior vimos cómo construir un agente de IA de atención al cliente con smolagents e InterSystems IRIS, combinando SQL, RAG con búsquedas vectoriales e interoperabilidad.

En ese caso, utilizamos modelos en la nube (OpenAI) para el LLM y los embeddings.

En esta ocasión daremos un paso más: ejecutar el mismo agente, pero con modelos locales gracias a Ollama.

0
0 78
Artículo Alberto Fuentes · sep 1, 2025 7m read

Las preguntas de atención al cliente pueden abarcar datos estructurados (pedidos, productos 🗃️), conocimiento no estructurado (docs/FAQs 📚) y otros sistemas integrados (actualizaciones de envío 🚚). En este post vamos a construir un agente de IA compacto que cubre los tres—usando:

  • 🧠 Python + smolagents para orquestar el “cerebro” del agente
  • 🧰 InterSystems IRIS para SQL, Búsqueda Semántica (RAG) e Interoperabilidad (una API de seguimiento de envío simulada)
1
1 99
Artículo Ricardo Paiva · sep 1, 2025 3m read

Al comenzar con InterSystems IRIS o Caché, los desarrolladores a menudo se encuentran con tres conceptos fundamentales: Dynamic Objects, Globals y Relational Table. Cada uno tiene su papel en la construcción de soluciones escalables y mantenibles. En este artículo recorreremos ejemplos prácticos de código, destacaremos buenas prácticas y mostraremos cómo estos conceptos se relacionan entre sí.

1. Trabajando con Dynamic Objects:

0
0 68
Artículo Iryna Mykhailova · ago 28, 2025 4m read

El artículo de la August Article Bounty en Global Masters llamó mi atención, y uno de los temas propuestos me pareció bastante interesante para tratarlo. Así que esto es lo que me gustaría contarles a mis estudiantes sobre las tablas en IRIS y cómo se relacionan con el modelo de objetos.

Ante todo, InterSystems IRIS cuenta con un modelo de datos unificado. Esto significa que, cuando trabajáis con datos, no estáis atados a un único paradigma. Los mismos datos pueden ser accedidos y manipulados como una tabla SQL tradicional, como un objeto nativo o incluso como un array multidimensional (un global).

Esto quiere decir que, cuando creáis una tabla en SQL, IRIS genera automáticamente una clase de objeto correspondiente. Y, cuando definís una clase de objeto, IRIS la pone automáticamente a disposición como una tabla SQL. Los datos en sí mismos se almacenan una sola vez en el motor de almacenamiento multidimensional de IRIS, que es muy eficiente. El motor SQL y el motor de objetos son simplemente diferentes “lentes” para ver y trabajar con los mismos datos.

Primero, veamos la correlación entre el modelo relacional y el modelo de objetos:

Relacional Objeto
Tabla Clase
Columna Propiedad
Fila Objeto
Clave primaria Identificador de objeto

No siempre hay una correlación 1:1, ya que podéis tener varias tablas que representen una misma clase, por ejemplo. Pero es una regla general.

0
1 47
Artículo Ricardo Paiva · ago 1, 2025 3m read

La inyección SQL sigue siendo una de las vulnerabilidades más críticas en las aplicaciones basadas en bases de datos, ya que permite a los atacantes manipular consultas y, potencialmente, acceder o comprometer datos sensibles. En InterSystems IRIS, los desarrolladores tienen acceso tanto a SQL Dinámico como a SQL Embebido, cada uno con características distintas. Comprender cómo usarlos de forma segura es esencial para prevenir la inyección SQL.

El problema: SQL Dinámico y la inyección SQL

0
0 53
Artículo Marco Bahamondes · jun 30, 2025 3m read

Introducción

InterSystems IRIS permite crear APIs REST utilizando clases ObjectScript y el framework %CSP.REST. Esta funcionalidad permite desarrollar servicios modernos para exponer datos a aplicaciones web, móviles o integraciones externas.

En este artículo aprenderás cómo crear una API REST básica en InterSystems IRIS, incluyendo:

  • Clase de datos persistente
  • Clase REST con métodos GET y POST
  • Web application para exponer la API
  • Demostración completa con Docker

Paso 1: Crear la clase de datos Demo.Producto

0
0 105
Anuncio Sergio Farago · jun 17, 2025

¡Hola desarrolladores!

El Cuarto Concurso de Artículos Técnicos ha terminado. ¡Gracias a todos los participantes!

🤩 Habéis aportado 10 ARTÍCULOS INCREÍBLES, y ya podemos anunciar los ganadores.

   

Un fuerte aplauso para estos desarrolladores y sus artículos:

🏆 Nominación de los expertos - los ganadores han sido elegidos por un jurado especialmente formado para el concurso:

🥇 1er puesto: Carlos Castro con ¡POLICIA POLICIA! ¡¡Hay un intruso!! (Notificaciones Telegram y manejo URLs OAUTH2)

🥈 2º puesto: Miguelio con Persistencia de sesión Oauth con token OpenID en cookie

2
0 73
Artículo Alberto Fuentes · jun 11, 2025 3m read

Si estáis migrando de Oracle a InterSystems IRIS, como muchos de mis clientes, podríais encontraros con patrones SQL específicos de Oracle que necesitan ser traducidos.

Tomad este ejemplo:

SELECT (TO_DATE('2023-05-12','YYYY-MM-DD') - LEVEL + 1) AS gap_date
FROM dual
CONNECT BY LEVEL <= (TO_DATE('2023-05-12','YYYY-MM-DD') - TO_DATE('2023-05-02','YYYY-MM-DD') + 1);

En Oracle:

0
0 41
Artículo Katherine Duran · mayo 27, 2025 7m read

InterSystems IRIS permite ejecutar consultas SQL directamente desde ObjectScript mediante:

  • SQL Embebido (Embedded SQL): consultas SQL compiladas en tiempo de desarrollo, con chequeo de tipos y mayor eficiencia.
  • SQL Dinámico (Dynamic SQL): permite construir y ejecutar sentencias SQL en tiempo de ejecución, ideal para casos flexibles o condicionales.

Que es SQL (Structured Query Language) es un lenguaje estándar utilizado para interactuar con bases de datos relacionales. Permite realizar operaciones como:

3
7 201
Artículo Julio Esquerdo · jun 5, 2025 18m read

Uso de Python en InterSystems Iris

Hola

En este artículo veremos el uso de python como lenguaje de programación en InterSystems Iris. Para ello, utilizaremos como referencia la versión de Community 2025.1 que está disponible para ser descargada en https:// download.intersystems.com iniciando sesión en el entorno. Para obtener más información sobre cómo descargar e instalar Iris, consulte el enlace de la comunidad https://community.intersystems.com/post/how-download-and-install-intersystems-iris

0
0 74
Pregunta Kurro Lopez · mayo 28, 2025

Hola comunidad,

Me preguntaba si sería posible usar algo como EnsLib.SQL.InboundAdapter con tablas en IRIS.

Esta biblioteca monitoriza cuándo se inserta un registro en una tabla de una base de datos externa, por lo que requiere un DSN para conectarse a dicha base de datos.

Mi objetivo es realizar una llamada a una API externa que tarda mucho tiempo, podría tardar casi una hora (o más) en completar sus procesos, pero no quiero bloquear el proceso principal.

4
0 45
Artículo Ricardo Paiva · abr 29, 2025 4m read

Cuando trabajáis con InterSystems IRIS, los desarrolladores y arquitectos de bases de datos a menudo se enfrentan a una decisión crítica: si usar SQL Dinámico o SQL Embebido para consultar y actualizar datos. Ambos métodos tienen sus propias fortalezas y casos de uso, pero comprender sus implicaciones en el rendimiento es esencial para tomar la decisión correcta. El tiempo de respuesta, una métrica clave en la evaluación del rendimiento de las aplicaciones, puede variar significativamente dependiendo del enfoque de SQL que utilicéis. El SQL Dinámico ofrece flexibilidad, ya que las consultas pueden construirse y ejecutarse en tiempo de ejecución, lo que lo hace ideal para escenarios con necesidades de consulta impredecibles o altamente variables. Por el contrario, el SQL Embebido enfatiza la estabilidad y eficiencia al integrar el código SQL directamente en la lógica de la aplicación, ofreciendo tiempos de respuesta optimizados para patrones de consulta predefinidos.

En este artículo, exploraré los tiempos de respuesta al usar estos dos tipos de SQL y cómo dependen de las diferentes estructuras de clases y del uso de parámetros. Para ello, voy a utilizar las siguientes clases del diagrama:

0
0 68
InterSystems Official Jose-Tomas Salvador · abr 24, 2025

Las versiones de mantenimiento 2024.1.4 y 2023.1.6 de la plataforma de datos InterSystems IRIS®, InterSystems IRIS® for Health™ y HealthShare®Health Connect ya están disponibles de forma general (GA). Estas versiones incluyen las correcciones para la siguiente alerta emitida recientemente: Alerta: Consultas SQL que devuelven resultados incorrectos | InterSystems. Por favor, compartid vuestros comentarios a través de la Comunidad de Desarrolladores para que podamos construir un mejor producto juntos.

Documentación

0
0 86