#InterSystems IRIS

4 Seguidores · 1.4K Publicaciones

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.

Nueva
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 6
Nueva
Pregunta Bismar Vargas Arias · feb 14

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. Conectividad con OpenAI: A través de ObjectScript, establecemos un puente directo con la API de GPT para obtener

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

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.

0
0 16
Nueva
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 16
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
Nueva
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.✅ Este JSON se almacena directamente en la base de datos

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

🚀 Migración de Datos Clínicos: InterSystems IRIS + Google Cloud HealthcareEn 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.5️⃣

0
0 21
Nueva
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.✅ Control 3D bimanual: mover/rotar modelos GLB

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

🚀Laboratorio: InterSystems IRIS Community + PHP (Laravel) vía ODBCEsta 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?* Conexión estable IRIS ↔ ODBC ↔ Laravel (PHP)* Wizard de instalación para facilitar la puesta en marcha (paso a paso)* Capa que permite ejecutar CRUDs

0
0 18
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. El ejemplo cubre todo el circuito desde:

0
1 18
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 25
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 JSON2Class?

0
0 29
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 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 31
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 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 · 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.

0
0 26
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 28
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 23
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