¡Hola comunidad!
Nos alegra compartir un nuevo vídeo de nuestro YouTube de InterSystems Developers:
⏯ Eliminando el miedo a FHIR: acelerando la preparación de la organización para FHIR @ Ready 2025
InterSystems HealthShare es una plataforma informática de servicios médicos para hospitales, sistemas de suministro integrados (IDN) e intercambios de información sobre la salud regional y nacional (HIE). HealthShare incluye el intercambio de información sobre salud, en el que se agregan datos, flujos de trabajo, análisis de texto y tecnologías para realizar análisis.
¡Hola comunidad!
Nos alegra compartir un nuevo vídeo de nuestro YouTube de InterSystems Developers:
⏯ Eliminando el miedo a FHIR: acelerando la preparación de la organización para FHIR @ 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.
Este paquete es un kit de utilidades orientado al desarrollador, diseñado para proporcionar wrappers de ObjectScript de alto nivel, sintaxis familiar y manejo robusto de errores para Python
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.
En mi artículo anterior en el que presentaba gj :: configExplorer señalé cómo un aparente error en los elementos de Windows de la API nativa para Node.js hace que actualmente no sea posible ejecutarlo en VS Code en un escritorio Windows. En un comentario a ese artículo ofrecí una solución alternativa, pero esta requiere un host Linux con Docker al que podáis conectaros por SSH.
Si no tenéis un destino adecuado, ahora es posible aprovechar vuestro Docker Desktop local de Windows. Aquí os explico cómo:
Los pasos originales del 2 al 9 pueden simplificars
.png)
Resumen
Esta versión introduce el FHIR Server 2025.10.0, que ofrece las últimas mejoras en cumplimiento de estándares y rendimiento. También mejora el proceso de actualización de Health Connect Cloud (HCC) para una mayor fiabilidad y añade nueva flexibilidad a Network Connect mediante la compatibilidad con listas de prefijos en las configuraciones de VPN.
Nuevas características y mejoras
|
Categoría |
Característica / Mejora |
Detalles |
|
FHIR Server |
Lanzamiento de FHIR Server 2025.10.0 |
Introduce la última versión del FHIR Server de InterSystems, con mayor escalabilidad, |
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.
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)),!gj :: configExplorer es una nueva extensión de VS Code que se integra con Server Manager y aprovecha Structurizr para generar diagramas de configuración de vuestros servidores.
Aquí tenéis un breve video introductorio.
Al usar la API Nativa de InterSystems IRIS para Node.js se evita la necesidad de instalar cualquier código de soporte en los servidores. Esta elección tecnológica también le permite participar en el concurso actual de la Comunidad de Desarrolladores.
La versión inicial se centra en dos aspectos de la configuración del servidor:
Empezar con ObjectScript es realmente emocionante, pero también puede resultar un poco extraño si estáis acostumbrados a otros lenguajes. Muchos principiantes tropiezan con los mismos obstáculos, así que aquí tenéis algunas "trampas” a las que debéis prestar atención. (Y también algunos consejos para evitarlas)
PONER NOMBRES AL AZAR
Todos hemos caído en la tentación de llamar a algo Test1 o MyClass solo para avanzar rápido. Pero una vez que vuestro proyecto crece, esos nombres se convierten en una pesadilla.
➡ Elegid nombres claros y coherentes desde el principio. Pensad en ello como si d
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.
El problema: ObjectScript/IRIS viene con
Aviso: el siguiente tutorial requiere instalar qpdf-12.2.0 y libreoffice-25.2.5 para HSCV2025.2
# 1. Descargad qpdf-12.2.0 AppImage de forma programática o manual desde https://github.com/qpdf/qpdf/releases/tag/v12.2.0
wget -O qpdf-12.2.0.AppImage https://github.com/qpdf/qpdf/releases/download/v12.2.0/qpdf-12.2.0-x86_64.AppImage
# 2. Haced que el AppImage sea ejecutable
chmod +x qpdf-12.2.0.AppImage
# 3. Añadid el ejecutable al PATH del sistema como “qpdf”
sudo mv qpdf-12.2.0.AppImage /usr/local/bin/qpdf
# 4. Verificad que estáis ejecutando la versAl 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:
Los objetos dinámicos (%DynamicObject y %DynamicArray) permiten a los desarrolladores manipular estructuras similares a JSON directamente en ObjectScript. Son especia
¡Saludos estimados miembros de la comunidad!
Muchos recordaréis las capacidades NLP disponibles en IRIS con el nombre de iKnow y que fueron deprecadas hará no mucho tiempo. Pero...¿Deprecado todo? ¡NO! Una pequeña aldea resiste a la deprecación, ¡los índices iFind!
Y os preguntaréis, ¿para qué valen estos magníficos índices? Pues muy sencillo, sirven para indexar los textos presentes en las columnas de tipo String y Stream y acelerar dramáticamente la velocidad de consulta sobre las mismas.
Son un tipo de índices basados en mapas de bits, estos índices mapean
.png)
IRIS admite transformaciones CCDA y FHIR de forma nativa, pero acceder y visualizar estas funcionalidades requiere tiempo de configuración y conocimiento del producto. La aplicación IRIS Interop DevTools fue diseñada para cerrar esa brecha, permitiendo a los implementadores comenzar de inmediato y explorar las capacidades de transformación integradas del producto.
Además del entorno de transformación IRIS XML, XPath y CCDA, el paquete Interop DevTools ahora proporciona:
.png)
Perfilando Documentos CCD con la Herramienta CCD Data Profiler de LEAD North
¿Alguna vez has abierto un CCD y te has encontrado con una pared de XML enredada? No estás solo. Aunque los CCD son un formato central para el intercambio de datos clínicos, son notoriamente densos, prolijos y poco amigables para la vista humana. Para los desarrolladores y analistas que intentan validar su estructura o extraer información significativa, navegar estos documentos puede sentirse más como arqueología que como ingeniería.
Presentamos el CCD Data Profiler
El CCD Data Profiler de LEAD North es una herramienta
¿A quién no le ha pasado que está desarrollando un precioso ejemplo usando una imagen de IRIS de Docker y le ha fallado el proceso de generación de la imagen en el Dockerfile porque la licencia con la que se creo la imagen no contiene determinados privilegios?
En mi caso lo que estaba desplegando en Docker es una pequeña aplicación que utiliza el tipo de datos Vectorial. Con la versión Community esto no es un problema porque ya incluye el Vector Search y el almacenamiento vectorial, pero al cambiar la imagen de IRIS por un IRIS convencional (el latest-cd) me encontré que en el momento de cons
Función: Arquitecto principal e ingeniero de integración
Tipo de empleo: Jornada completa
Nota: Es obligatorio tener experiencia en Rhapsody/Intersystems.
Responsabilidades principales
19 de febrero de 2025 – Alerta: Consultas SQL que están devolviendo resultados incorrectos
InterSystems ha corregido dos problemas que pueden hacer que un pequeño número de consultas SQL devuelvan resultados incorrectos. Además, ha solucionado una inconsistencia en el manejo de los tipos de datos de fecha y hora, lo que podría provocar que algunas aplicaciones existentes que dependían del comportamiento anterior e inconsistente obtengan resultados diferentes e inesperados, aunque correctos.
DP-436825: Algunas consultas SQL con Lateral Join pueden devolver resultados incorrectos
El primer pr
Es posible que hayáis notado que, para configurar un mirror en InterSystems IRIS for Health™ y HealthShare® Health Connect, hay un requisito especial. En este artículo, quiero guiaros paso a paso por el proceso.
Esto supone que ya habéis configurado el segundo miembro de conmutación por error y habéis confirmado un estado exitoso de dicho miembro en el monitor del mirror:
Paso 1: Activad el usuario HS_Services (en el servidor de respaldo y en el principal).
Paso 2: Cambiad al espacio de nombres HSSYS y dirigíos a Interoperabilidad > Configurar > Credenciales. Introducid la contraseña p
.png)
Los ISCLOGs son una herramienta útil de depuración proporcionada con IRIS que os puede ayudar a solucionar muchos tipos de problemas. Para obtener más información sobre cómo generar estos registros, consultad la siguiente documentación de IRIS: "Logging".
Este registro se escribe en el global ^ISCLOG almacenado en el espacio de nombres %SYS. Cada nodo de esta global representa un evento independiente, y en algunos casos, se registra información adicional en los subnodos.
Cada entrada consiste en una lista con los siguientes campos: ID, Categoría, Nivel de Registro (LogLevel), Mensaje, Espa

Podéis encontrar errores en cualquier punto de la ejecución del programa, y hay varias formas de generarlos y manejarlos en IRIS. En este artículo, exploraremos cómo gestionar excepciones de manera eficiente.
Uno de los tipos de retorno más utilizados es %Status, que los métodos emplean para indicar éxito o fallo. Vamos a empezar hablando de los valores de %Status.
El tipo %Status representa errores o éxito. Muchos métodos del sistema devuelven %Status cuando ocurre un error. Podéis crear una estructura similar para errores en vuestra aplicación o convertir excepcione
Estimada comunidad,
Quería comentarles que hoy publique en OpenExchange un acelerador de APIs muy simple de implementar (con algún parecido a Redis, pero más funcional) y con resultados bastante buenos, a continuación está la publicación del README, espero les sea de ayuda!
https://openexchange.intersystems.com/package/memoria
Esta aplicación permite almacenar el resultado de una llamada a la API GET de forma permanente o por un periodo de tiempo, reduciendo los tiempos de respuesta al cliente final.
En el ejemplo a continuación se utiliza la API pública de Rick & Morty para realizar v

No estoy seguro de que haya muchos que se conecten a MS SQL para ejecutar consultas, procedimientos almacenados, etc., pero nuestro sistema de salud tiene muchas bases de datos diferentes basadas en MS SQL que usamos en el entorno de interoperabilidad por diversas razones.
Con el impulso de movernos de on-premises a la nube, nos encontramos con algunas dificultades con nuestras conexiones SQL Gateway y cómo configurarlas para usar Microsoft Entra para la autenticación de Active Directory.
Hay muchos artículos en la web, pero ninguno nos dio la respuesta completa sobre lo que necesitábamos ha
.png)
Si queréis averiguar qué versión exacta tiene vuestra imagen (y dado que con el último esquema de etiquetado de imágenes no podéis confiar únicamente en la etiqueta de la imagen; y suponiendo que no queréis ejecutarla solo para averiguarlo), podéis ejecutar este comando de Docker:
Hola Comunidad,
¿Necesitáis encontrar la orientación más relevante para la incorporación de vuestro equipo de HealthShare Unified Care Record®? Maximizad el conocimiento y el éxito de vuestro equipo explorando esta lista seleccionada de recursos de InterSystems Learning Services, que incluye formación en línea y presencial para una variedad de roles en vuestra organización.on.

InterSystems ha corregido un defecto que provoca la introducción de registros no válidos en la base de datos y en los ficheros de journal al utilizar una sintaxis específica de $LIST. La probabilidad de encontrar este defecto es muy baja, pero los impactos operativos pueden ser significativos.
Productos afectados
Hola colegas,
Hace unos días me surgio el requerimiento de cargar un archivo parquet, tal y como viene a una tabla en IRIS, así que desarrolló este classmethod que gatilla la carga solo indicando la ruta y nombre del archivo y el nombre de la tabla destino (en el mismo espacio de nombres). Para esto, escribí un pequeño código en Python que requiere las librerías: Pandas, pyarrow y fastparquet, las cuales deben instalar en el directorio de instalación de IRIS según su instalación, en mi caso el comando es:
instalación de pip3 --target /usr/irissys/mgr/python/ pandas pyarrow fastparquet
Para car
Buenos días,
Muchas gracias por leerme y sobre todo gracias por su ayuda al responder.
He estado indagando sobre cómo enviar alertas cuando en una Producción de Interoperabilidad, el tamaño de la cola y/o el tiempo de espera son excesivos.
He visto que en las Operaciones y los Procesos, existe el apartado de "Control de Alertas" en la Configuración:
He probado a poner "Alerta sobre el tamaño de la cola" a 1, he desactivado la operación, he reenviado 2 mensajes, he comprobado que se encolan:
Sin embargo, no veo que al "Gestor de notificaciones de alerta" de la Producción: "Ens.A
.png)
Hola a todos,
Estoy buscando alguna herramienta que se pueda utilizar como base para crear una interfaz que permita a un usuario no técnico reenviar mensajes de manera sencilla. La idea es que el usuario pueda encontrar un mensaje HL7 ya enviado y reenviarlo modificando campos específicos del mensaje sin necesidad de tener ningún conocimiento técnico.
Un ejemplo sería algo similar al buscador de Ensemble, pero con un enfoque menos técnico y mucho más intuitivo y que solo permita cambiar 1 o 2 campos. ¿Existe alguna solución en la comunidad o algo que pueda adaptar para este propósito? Algo t
¿Preferís no leer? Echad un vistazo al vídeo demo: