En nuestro artículo anterior vimos como podíamos capturar ficheros de tipo DICOM ubicados en una carpeta de nuestro servidor y como los enviábamos a un PACS (en nuestro caso la solución open source ORTHANC) para su almacenamiento y consulta. Pues bien, en este artículo vamos a tratar el movimiento opuesto.
Bienvenidos miembros de la comunidad a un nuevo artículo, en esta ocasión trataremos las capacidades de interoperabilidad que nos proporciona IRIS for Health para trabajar con ficheros DICOM.
Para ello vamos a montar un pequeño ejemplo haciendo uso de Docker. Al final del artículo podréis encontrar la URL de acceso a GitHub por si queréis verlo en acción en vuestros propios equipos.
Pero antes de empezar vamos a explicar que es DICOM:
¡Hola Comunidad!
Muchísimas gracias a todos los que habéis participado, de una forma u otra, en el 4º Concurso de Artículos Técnicos en Inglés: Tutoriales de InterSystems IRIS. Hemos recibido
Y... ¡llegó el momento de anunciar los mejores!
Estos son los ganadores y sus artículos:
¡Hola Comunidad!
En este artículo configuraremos mediante programación un Apache Web Gateway con Docker, utilizando:
- El Protocolo HTTPS.
- TLS\SSL para asegurar la comunicación entre el Web Gateway y la instancia de IRIS.
Utilizaremos dos imágenes: una para el Web Gateway y la segunda para la instancia de IRIS.
Todos los archivos necesarios están disponibles en este repositorio de GitHub.
Comencemos clonando el proyecto de git:
git clone https://github.com/lscalese/docker-webgateway-sample.git
cd docker-webgateway-sample
Preparación del sistema
En primer lugar, ¿qué es la anonimización de datos?
Según la Wikipedia:
La anonimización es un tipo de sanitización de información cuya intención es la protección de la privacidad. Es el proceso de eliminar información personal de los conjuntos de datos, de modo que las personas que son descritas por los datos permanecen en el anonimato.
– 15 artículos
– 16 anuncios
– 3 preguntas
– 1 debate
¡Hola Comunidad!
Hemos grabado el webinar que hicimos ayer y lo hemos subido al canal de YouTube de la Comunidad de Desarrolladores en español. Si os perdisteis el webinar o lo queréis volver a ver con más detalle, ya está disponible la grabación!
¡Hola Comunidad!
Os traemos las últimas novedades de InterSystems Ideas, el Portal de Sugerencias de InterSystems. Éstas han sido:
✓ Salón de la fama (Hall of fame) - una nueva página en el Portal de Ideas
✓ Integración con Global Masters - obtención de puntos por vuestras ideas
✓ Lista de ideas que están planeadas para implementación
![]()
Los parámetros nombrados se pueden conseguir con SQLAlchemy :
from sqlalchemy import create_engine, text,types,engine
_engine = create_engine('iris+emb:///')
with _engine.connect() as conn:
rs = conn.execute(text("select :some_private_name"), {"some_private_name": 1})
print(rs.all())
o con api nativa
from sqlalchemy import create_engine, text,types,engine
# set URL for SQLAlchemy
url = engine.url.URL.create('iris', username='SuperUser', password='SYS', host='localhost', port=33782, database='FHIRSERVER')
_engine = create_engine(url)
with _engine.connect() as conn:
rs = conn.execute(text("select :some_private_name"), {"some_private_name": 1})
print(rs.all())
¡Hola desarrolladores!
Nos gustaría invitaros a un nuevo concurso de programación, dedicado a crear soluciones de Inteligencia Artificial (IA)/Machine Learning (ML) que utilicen Cloud SQL para trabajar con los datos:
🏆 Concurso de Programación: InterSystems IRIS Cloud SQL con IntegratedML🏆
Duración: del 3 al 23 de abril, 2023
Total en premios: $13,500
Estoy seguro de que os habéis encontrado esta situación:
- Hay un bug en un sistema que no puedes reproducir por ti mismo localmente
- Necesitas ejecutar unas pocas líneas en la instancia afectada
- Tienes acceso completo al Portal de Gestión
- Pero no hay terminal, ni consola, ni acceso con Studio, Atelier o VSCode
- ¿Cómo ejecutar tus pocas líneas para probar???
¡Hola Comunidad!
Acabamos de subir los títulos de 65 sesiones a la página web del Global Summit -- y hay planeadas algunas más.
Llevo siete años trabajando en el Global Summit y creo que el programa de este año es el mejor de todos hasta ahora -- principalmente porque os hemos pedido a vosotros que nos sugiráis temas.
Más abajo podéis leer los títulos de las ponencias:
¡Hola desarrolladores!
Os invitamos a un nuevo webinar en español: "Configuración y ejemplo de uso del EMPI", el jueves 30 de marzo, a las 4:00 PM (CEST).
El webinar está dirigido a técnicos y responsables de gestión de datos de pacientes en organizaciones de salud y a todo el personal técnico interesado.
Durante el webinar, aprenderemos a realizar una configuración básica de la solución de InterSystems para la gestión de un índice de pacientes (EMPI) en modo standalone. También realizaremos un pequeño ejemplo de utilización del mismo, basándonos en un problema de la vida real.
¡Os esperamos!
¡Hola Comunidad!
Recientemente tuve que configurar un servidor FHIR local usando IRIS for Health y creo que encontré la forma más sencilla y simple de hacerlo.
Simplemente ejecuta estas dos líneas en el terminal:
docker run --rm --name my-iris -d --publish 9091:1972 --publish 9092:52773 intersystemsdc/irishealth-communityy
docker exec -it my-iris iris session iris -U "USER" '##class(%ZPM.PackageManager).Shell("install fhir-server")'Y tendrás un servidor FHIR ejecutándose localmente en http://localhost:9092/fhir/r4.
¡Y eso es todo!
El servidor FHIR usará la última versión de InterSystems IRIS for Health Community Edition y desplegará el servidor FHIR desde esta app a través del paquete IPM en el namespace FHIRSERVER.
InterSystems anuncia la Versión de Mantenimiento (Maintenance Release, MR) 2018.1.8 de Caché, Ensemble y HSAP. Es una versión de mantenimiento con muchas actualizaciones en una gran variedad de áreas.
Caché y Ensemble
Los kits completos de instalación de producto se pueden descargar de la página de distribución de software del Centro de Soporte Internacional (WRC):
InterSystems está comprometida con ofrecer un soporte de alta calidad de todos sus productos, nuevos y antiguos. A medida que los productos envejecen – Caché tiene ahora 25 años – ese soporte va evolucionando.
InterSystems IRIS fue lanzado en 2018 y es el sucesor de Caché y Ensemble. Muchos clientes de Caché/Ensemble han migrado a IRIS o tienen planes de hacerlo en los próximos años. Los clientes que siguen usando Caché o Ensemble deben tener en cuenta este anuncio importante:
¡Hola a todos!
En este artículo, me gustaría revisar las extensiones de VS Code que uso para trabajar con InterSystems y que hacen mi trabajo mucho más cómodo. Estoy segura de que este artículo será útil para aquellos que acaban de empezar su viaje aprendiendo las tecnologías de InterSystems. Y también espero que pueda resultar útil para los desarrolladores más experimentados, con muchos años de experiencia, y les descubra nuevas posibilidades cuando usen VS Code para desarrollo.
Os recomiendo a todos los que trabajáis con InterSystems que instaléis estas extensiones y en este artículo os mostraré cómo usar algunas de ellas.
He sufrido la experiencia de que mi servidor de IRIS se perdió por actualizar la versión de Docker.
Basándome en esa experiencia, me gustaría mostraros cómo hacer un backup del servidor de IRIS antes de actualizar la plataforma o docker; y el proceso de recreación de IRIS en un nuevo entorno.
###Proceso de backup del servidor de IRIS
Cuando hayas terminado de crear el servidor IRIS, hay que hacer un backup.
Yo recomiendo hacer el backup antes de la actualización si se tienen clases, rutinas y globals que se quieren mantener en la recreación el entorno.
Desarrolladores, compartimos con vosotros las últimas mejoras que hemos realizado en la Comunidad.
![]()
En esta ocasión, los cambios son para mejorar la experiencia a la hora de redactar las publicaciones:
- nuevos lenguajes de programación disponibles en el editor
- guía para crear una publicación
¡Seguid leyendo para saber más!
Buenas,
Estoy intentando instalar en una nueva instancia de IRIS el ZPM para poder importar paquetes de utilidades en nuestro servidor de desarrollo.
Al importar el fichero zpm-0.5.3.xml me está dando este error.
¿Alguien puede ayudar?
Gracias
¡Hola Comunidad!
Ya podemos anunciar los autores que más han contribuido en la Comunidad de Desarrolladores de InterSystems durante 2022 🎉
Dividimos en cuatro categorías a los autores más activos en el total de Comunidades (EN, ES, PT, JP, CN y FR):
- Categoría Top Authors - Autores más leídos
- Categoría Top Experts - Autores expertos
- Categoría Top Opinion Makers - Autores líderes de opinión
- Y una nueva categoría... Breakthrough of the year! - ¡Revelación del año!
¿Lo sabíais? ¡Ya estamos en primavera!
Y este invierno (o verano, para los que estáis en el hemisferio sur) han pasado un montón decosas en la Comunidad de Desarrolladores.
Y como sabemos que no podéis entrar en la Comunidad todo lo que os gustaría, hemos preparado un resumen con lo más destacado que ha pasado por aquí en los últimos tres meses, para que no os perdáis nada!
.jpg)
¡Hola Comunidad!
Ya hay más de 700 aplicaciones disponibles en Open Exchange.
Y ha llegado el momento de anunciar las apps más descargadas y los mejores desarrolladores de 2022!
Estos son los héroes y sus apps:
Python se ha convertido en el lenguaje de programación más utilizado del mundo (fuente: https://www.tiobe.com/tiobe-index/) y SQL sigue siendo el líder como lenguaje para las bases de datos. ¿No sería genial que Python y SQL trabajaran juntos para ofrecer nuevas funcionalidades que SQL por sí mismo no puede? Después de todo, Python tiene más de 380.000 librerías publicadas (fuente: https://pypi.org/) con funciones muy interesantes para ampliar las consultas SQL dentro de Python.
En este artículo detallo cómo crear nuevos Procedimientos Almacenados de SQL en la base de datos de InterSystems IRIS usando Embedded Python.
¡Hola Comunidad!
Hemos realizado una integración entre Open Exchange y Global Masters. Ahora, cuando hagáis una reseña de una aplicación en Open Exchange, conseguiréis puntos e insignias automáticamente, no tenéis que hacer nada más! Conseguiréis:
💰 200 puntos automáticamente por cada reseña publicada en Open Exchange
🏆 Puntos extra e insignias por número de reseñas:
.png)
Una de las razones por las que me encantan Cache e IRIS es que no solo puedes hacer cualquier cosa que puedas imaginar, sino que también puedes hacerlas de un montón de maneras diferentes!!
Imagina que tienes una integración con IRIS (o Cache) funcionando conectada por ODBC. Probablemente solo uses consultas SQL, pero puedes usar también procedimientos almacenados y dentro de su código puedes hacer cualquier cosa que puedas imaginar.
Voy a darte algunos ejemplos, pero el límite está en tu imaginación!
Quizás te estés diciendo... ¡espera!! Yo no sé como crear un procedimiento almacenado en IRIS... Pero eso no es cierto, sabes crearlo! Lo que pasa que todavía no lo sabes...
¡Hola Comunidad!
Estamos encantados de invitar de nuevo a todos nuestros clientes, partners, desarrolladores y miembros de la Comunidad a nuestra Convención Anual: InterSystems Global Summit 2023!
Asistiendo al Global Summit tendréis la oportunidad de conectar con los desarrolladores de producto más innovadores, los usuarios más activos que impulsan nuestra tecnología a nuevos límites, las personas con las mentes más creativas que están sacudiendo las universidades y los Consejos de Administración... Todo en el mismo sitio. ¡Y ya os podéis inscribir!
➡️ InterSystems Global Summit 2023
🗓 Fechas: 4-7 junio, 2023
📍 Dónde: The Diplomat Beach Resort, Hollywood, Florida (EEUU)
Buenos días
Realizando una integración en la que se transforma un XML en un JSON que representa un recurso FHIR; ¿por favor podrían ayudarnos con lo siguiente?
Conocemos que se puede crear un JSON "a mano" que represente una estructura FHIR, e incluso añadir llamadas a funciones tales como:
"display": (##class(Util.TablasMaestras).getValorMaestra("CENTROS_CONCERTADOS.CODIGO_TO_NOMBRE_HOSPITAL",busquedaOrdenesRequest.codigoHospitalDestino))
Y concatenaciones como:
"reference": ("#"_(mensaje.DNI))
Sin embargo la cuestión es: ¿se podrían añadir condicionales del tipo "if"?
Buenos días;
Antes que nada agradecer el tiempo, conocimiento y dedicación de ustedes, al leer y responder esta cuestión.
Actualmente disponemos de un circuito que recibe SOAP y envía SOAP, relacionado con la Administración Electrónica; el cual hemos generado al importar el WSDL del Sistema Destino.
Lo interesante y el desafío es lo siguiente:
Si por SoapUI cargamos el WSDL de Sistema Destino y enviamos 1 mensaje SOAP directos, nos responden OK
Sin embargo, curiosamente, al enviar el mismo mismo mismo mensaje, por el ESB, nos da una Excepción el Sistema Destino:
El SDK nativo para Python de InterSystems es una interfaz ligera para las APIs de InterSystems IRIS, que anteriormente solo estaba disponible mediante ObjectScript.
Estoy especialmente interesado en la capacidad de llamar a los métodos de ObjectScript, a los métodos de clase, para ser más preciso. Esto funciona, y funciona muy bien, pero de manera predeterminada, las llamadas únicamente admiten argumentos escalares: strings, booleanos, enteros y flotantes.
Pero si lo que quieres es:
- Pasar o devolver estructuras, como diccionarios (dicts) o listas
- Pasar o devolver streams
Necesitarás escribir algún código adhesivo (glue code) o aprovechar este proyecto (se instala mediante pip install edpy). El paquete edpy te da una estructura sencilla:
call(iris, class_name, method_name, args)
que te permite llamar a cualquier método de ObjectScript y obtener los resultados.



