¡Hola Comunidad!
Desde el pasado 22 de febrero, si publicáis ideas en el Portal InterSystems Ideas, obtendréis puntos en Global Masters!

¡Hola Comunidad!
Desde el pasado 22 de febrero, si publicáis ideas en el Portal InterSystems Ideas, obtendréis puntos en Global Masters!

Hola! recientemente tuve que aplicar validación api-key a un desarrollo que teníamos hecho con un montón de endpoints y me he decidido a compartir con vosotros como lo llevé a cabo de una forma centralizada.
En este artículo os voy a explicar como podemos aplicar de una forma genérica (o no) validación api key a todos los endpoints de nuestra Web App.
Para el desarrollo utilicé la clase Base.cls de la plantilla iris-rest-api-template
En mi ultimo artículo he hablado de la devolución de valores con Python. Pero la devolución es muy simple, lo que la puede hacer difícil es de lo que voy a hablar hoy: dónde es tratado el valor.
Siguiendo el ejemplo del último artículo, tenemos el método:
Class python.returnTest [ Abstract ]
{
ClassMethod returnSomething(pValue... As%String) As%Integer [ Language = python ]
{
return pValue
}
}¿Lo sabíais? Si habláis otros idiomas, podéis traducir vuestras publicaciones a otro idioma y así compartir vuestro conocimiento con los miembros de otras Comunidades que no hablan español. Es muy fácil enlazar vuestro artículo original con su traducción en otro idioma. Así que... ¡es vuestro momento de brillar! 🤩
Y si no habláis otros idiomas, ¡no os preocupéis! También podéis solicitar una traducción de vuestros artículos 😃
En esta publicación os explicamos cómo hacer vuestra propia traducción y cómo publicarla:
Hemos visto como instalar nuestro EMPI en modo standalone y, parafraseando a Fray Luis de León, como decíamos ayer, procederemos a exponer como realizar una configuración básica, sin demasiadas pretensiones, de nuestro EMPI.
Primeramente deberemos realizar la configuración básica inicial, y para ello deberemos acceder a la opción del menú de Configuración de nuestro Registry.
Desde esta opción tendremos acceso a la tabla de configuración básica de nuestro Registry:
En este menú deberemos incluir los siguientes parámetros y actualizar el valor de los que ya estén presentes:
¡Hola Comunidad!
En la Comunidad de Desarrolladores no se para... ¡Ya está en marcha un nuevo Concurso de Artículos Técnicos en inglés!
✍️ Concurso de Artículos Técnicos en inglés: Tutoriales de InterSystems IRIS ✍️
El objetivo del concurso es escribir un artículo que pueda ser considerado un Tutorial para los programadores de InterSystems IRIS de cualquier nivel: principiante / medio / senior.
🗓️ Duración: del 1 al 31 de marzo
🎁 Premios para todos: Todas las personas que participen en el concurso recibirán un par de regalos
🏆 Premios principales: Cada uno de los ganadores podrá elegir entre dos premios
.jpg)
InterSystems actualiza periódicamente sus políticas y prácticas de lanzamiento de nuevas versiones software para ajustarse a las necesidades de los clientes.
Ahora estamos cambiando la frecuencia de nuestras versiones de mantenimiento para que sean más predecibles para clientes y partners, y modificaremos algunas otras áreas.
En este artículo se resume la frecuencia de lanzamientos de nuestras Plataformas de datos y los cambios recientes en ellas, y se anuncian algunas actualizaciones nuevas.
¡Hola Comunidad!
Muchos desarrolladores prefieren utilizar el modo oscuro de las aplicaciones. Por ello, @Guillaume Rongier publicó la idea de hacer una versión oscura de la Comunidad de Desarrolladores.
Y nos gustaría saber: ¿qué opináis sobre el tema?
Podéis responder a esta pregunta en el Portal de Ideas, o podéis votar y comentar la idea en InterSystems Ideas.
¡Muchas gracias!

¡Hola desarrolladores!
Muchísimas gracias a todos los que habéis participado, de una forma u otra, en el 2º concurso de artículos técnicos en español! Hemos recibido
🌟 8 ARTÍCULOS INCREÍBLES 🌟
Y... ¡llegó el momento de anunciar los mejores!
Recientemente he estado trasteando con la utilización de IRIS como servidor para una conexión mediante web socket desde el frontend de una aplicación en NodeJS.
En esta URL tendréis la información relativa a las conexiones de web sockets tanto en modo cliente como en modo servidor: https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cl…
Para este ejemplo vamos a utilizar la configuración de un servidor asíncrono, configuración que nos vendrá muy bien de cara a crear un gestor de suscripciones ad-hoc para una de nuestras producciones.
De nuevo se me planteó un reto que me costó algún tiempo y muchas pruebas obtener la mejor solución. Y ahora que lo logré, me gustaría compartir mi nuevo conocimiento.
En un namespace hay muchas clases similares, así que para dejarlas más sencillas hay una superclase con las propiedades comunes. Además, entre las clases hay relaciones. Yo tenía que hacer una exportación de una de esas clases a JSON, pero no podía cambiar las superclases, porque si no, podría descomponer el flujo de otras integraciones.
Hoy os voy a presentar como configurar uno de los productos disponibles en HealthShare, el Enterprise Master Patient Index o EMPI.
El EMPI proporcionará a cualquier organización un índice maestro de pacientes que permitirá identificar de forma unívoca a cada paciente de nuestra organización. Podéis encontrar más información al respecto en la siguiente url: https://www.intersystems.com/es/plataforma-de-interoperabilidad/patient…
Buenas a todos,
una de las herramientas potentes que tiene Intersystems es la posibilidad de implementar en el propio sistema la autenticación OAuth2. Esta herramienta nos da la posibilidad de poder controlar quien accede a nuestros recursos y como accede.
A continuación planteo una solución ante el problema de querer controlar quien accede a mis recursos y la posibilidad de monitorizarlo. Para ello deberemos seguir los siguientes pasos:
Introducción
En este artículo, voy a contarles cómo logré realizar la integración en la plataforma Intersystems IRIS 2020 de una cuenta de correo Outlook Exchange con oAuth 2.0. Aunque esta tarea puede parecer sencilla, la realidad es que Intersystems IRIS 2020 no cuenta con los componentes necesarios para lograrlo. En mi caso, utilice código de la versión 2022 (puedes descargar la versión de evaluación) y lo adapté a la versión 2020. Si bien es factible actualizar entre versiones con el instalador IRIS 2022, esto toma semanas de pruebas antes de realizar el cambio en productivo, y la integración no podía esperar, es por esto que se optó por tomar componentes de IRIS 2022 y copiarlos/adaptarlos a la versión 2020.
Si estás desarrollando soluciones en IRIS y quieres utilizar Git, ¡es genial! Sólo tienes que utilizar VSCode con un repositorio git local y enviar los cambios al servidor, así de fácil.
Pero qué sucede si:
¡Hola Comunidad!
Os convocamos a una nueva mesa redonda de la Comunidad. Muchos nos habíais pedido una mesa redonda sobre Inteligencia Artificial y Machine Learning, y estamos encantados de poder ofrecerla. Serán 60 minutos de animada charla (en inglés) y también habrá una breve demo.
En esta ocasión el experto invitado es @Thomas Dyar,Product Specialist - Machine Learning, en InterSystems.
📅 Fecha: 28 de febrero (martes)
🕑 Hora: 3:00 PM (CET)
➡️ Registraos a través de este reto en Global Masters.Os enviaremos una invitación de calendario por email.

¡Hola Comunidad!
¿Estáis listos para un nuevo reto? ¡Os invitamos a participar en el segundo concurso de redacción de artículos técnicos de InterSystems en español!
🏆 2º Concurso de Artículos Técnicos en español 🏆
Descripción del concurso: Escribe un artículo en español en la Comunidad de Desarrolladores, sobre cualquier tema relacionado con la tecnología de InterSystems.
Duración: del 6 de febrero al 28 de febrero de 2023
Premios para todos los participantes: Todas las personas que publiquen un artículo en español durante la vigencia del concurso recibirán un premio
Premio principal: Tablet Apple iPad (10ª generación)
¡Participa en el concurso y tu artículo será leído por cientos de miembros de la Comunidad de Desarrolladores!
¡Hola Comunidad!
Os traemos las últimas novedades de InterSystems Ideas, el Portal de Sugerencias de InterSystems. Éstas han sido:

¡Hola a todos!
Comparto con vosotros una herramienta para la ingestión de datos que hemos utilizado en varios proyectos.
DataPipe es un framework de interoperabilidad para la ingestión de datos de forma flexible con InterSystems IRIS. Te permite recibir datos desde el exterior, normalizar y validar la información y finalmente realizar cualquier operación sobre tus datos.
Lo primero que necesitas es definir un modelo. Un modelo es una clase que extiende de DataPipe.Model donde necesitas implementar algunos métodos:
Buenas desarrollador!
En este artículo te voy a contar mi experiencia y conocimientos en el poco tiempo que llevo utilizando los distintos productos de InterSystems.
A parte de contar mis vivencias también veremos como hacer una pequeña API Rest con la que poder hacer un CRUD con la base de datos SQL de InterSystems.
Mi historia:
Hace unos días, publique una pregunta respecto a este tema pero la respuesta era algo mas compleja de lo que esperaba, así que para futura referencia de otras personas que tengan la misma duda he preferido documentar el proceso en un articulo. La premisa era la siguiente, hemos comenzado a utilizar el paquete Restforms2 para tener una api CRUD que nos permita almacenar y consultar datos en la base de datos de IRIS. Pero esto no nos permite hacer todo lo que necesitamos, ni aun empleando custom querys. Por lo tanto necesitábamos emplear métodos personalizados implementados en una integración.
No sé si alguna vez os ha ocurrido. Nosotros trabajamos con VSCode para programar en IRIS, sincronizamos las clases con un servidor de desarrollo y lo tenemos conectado a un repositorio Git.
Tenemos proyectos que tienen cientos de clases, algunos hasta miles. Nos ocurre a menudo que, estamos realizando un desarrollo en un Namespace, y sin terminarlo, surge una incidencia que hay que solventar (o un nuevo desarrollo más prioritario). Dejamos el desarrollo que estamos haciendo, comiteando todo lo realizado hasta el momento.
En el primer artículo hablé sobre probar y depurar aplicaciones web de Caché con herramientas externas. La segunda parte tratará sobre las herramientas de Caché.
Estas son:
A lo largo de los años, me he encontrado con la necesidad de crear varios mensajes HL7 basados en un solo mensaje entrante. Por lo general, toman la forma de un pedido o son el resultado de un laboratorio. Cada vez que he afrontado el reto, he intentado empezar de cero, con la convicción de que el intento anterior podría haberse hecho mejor.
Recientemente, volvió a surgir la necesidad y pude crear una solución de la que no me avergonzaba. Mi principal preocupación era que siempre me encontraría enterrado en un BPL, o usaría ObjectScript e intentaría editar mensajes usando el método SetValueAt para la clase de mensaje HL7.
Problema
Cuando el Sistema A procesa múltiples pedidos para un solo paciente, el resultado vendrá en un solo mensaje con ORCgrp repetido con los segmentos OBR y OBX contenidos en este. El sistema B solo puede recibir un único OBR por mensaje.
Lo habíais pedido... ¡y ya está aquí!
Estamos encantados de compartir con vosotros los cambios que hemos hecho en la página de perfil de los miembros de la Comunidad:
Hola a todos!
Durante un proyecto necesitábamos poder definir temas sobre los que publicar mensajes, y crear diferentes subscriptores que recibiesen esos mensajes de forma asíncrona. Necesitábamos además que fuese lo más sencillo posible y que se pudiese utilizar directamente en InterSystems IRIS.
A modo de experimento os paso este iris-pubsub.
Está construido sobre las funcionalidades de interoperabilidad de InterSystems IRIS, necesita tener una producción en marcha.
Comenzando este año 2023, hemos programado una serie de cursos oficiales sobre InterSystems IRIS que iremos realizando a lo largo del año. Los cursos se impartirán on-line y ya están abiertos para que os podáis registrar si estáis interesados (hasta un máximo de 10 personas por curso, quorum mínimo 5 asistentes). Toda la información está disponible en nuestro sitio web: Formación en el aula virtual | InterSystems
En 2022, publiqué un artículo sobre Python Embebido para principiantes. En ese artículo me preguntaron cómo devolver valores con Python. Respondí a la pregunta y, además, me ha parecido interesante escribir un pequeño artículo sobre el tema. Así también espero llegar a más gente con esta publicación.
Hay dos cosas de las que ocuparse cuándo se devuelve un valor con Python. La primera es el tipo que intentas devolver y la segunda es dónde lo devuelves.