Como ayuda para aquellos que quieren utilizar las funciones de la Base de datos documental (DocDB) dentro de InterSystems IRIS, y específicamente la API REST que proporciona, reuní una Colección Postman que ofrece muestras para varias llamadas básicas.

Por ejemplo:

0 0
0 224

¡Hola Comunidad!

Voy a empezar a traducir los artículos de mi compañero Murray sobre rendimiento, pues son muy interesantes y merece la pena echarles un vistazo. Aprovecho para comentar que si tenéis preguntas y /o problemas de rendimiento os animéis a escribir y entre todos trataremos de ayudaros. Empecemos...

Tu aplicación está implementada y todo funciona bien. ¡Genial, enhorabuena! Pero, de repente, el teléfono empieza a sonar sin parar: son usuarios que se quejan de que la aplicación a veces se vuelve "lenta". Pero... ¿qué quiere decir eso? ¿A veces? ¿De qué herramientas dispones y a qué estadísticas deberías prestar atención para encontrar y resolver la lentitud? ¿La infraestructura de tu sistema está a la altura de la carga de usuarios? ¿Qué preguntas de diseño de infraestructura deberías haber hecho antes de haber pasado a producción? ¿Cómo puedes hacer la planificación de capacidad para nuevo hardware con confianza y sin gastar en más hardware del necesario? ¿Cómo hacer que el teléfono deje de sonar? ¿Cómo podrías haber evitado que sonara desde un principio?

1 0
0 223
Artículo
· 8 mayo, 2023 Lectura de 6 min
Reconocimiento facial con IRIS y Python Embebido

¡Bienvenidos, estimados miembros de la comunidad!

En este artículo vamos a demostrar el gran potencial que IRIS/HealthConnect pone a disposición de todos sus usuarios con el uso de Python Embebido y lo vamos a hacer mediante el desarrollo de una pequeña producción que nos va a permitir reconocer e identificar las caras presentes en un archivo JPG a partir de unas imágenes que usaremos como referencia.

2 0
0 222

https://www.appeon.com/products/powerbuilder

Appeon PowerBuilder es una herramienta de desarrollo empresarial que permite crear componentes y aplicaciones empresariales basadas en datos.

Es un producto de una suite de Appeon que ofrece las herramientas para desarrollar aplicaciones cliente/servidor, web, móviles y distribuidas.

0 0
0 218

Estimados miembros de la Comunidad.

Una problemática muy común en muchos usuario es el uso de una base de datos externa como entrada de datos a una producción de IRIS. Como ya sabréis tenemos dos métodos de conexión directas a bases de datos externas desde IRIS, la primera es mediante ODBC y la segunda es recurriendo a una conexión vía JDBC.

En nuestro ejemplo procederemos a realizar una conexión mediante JDBC y para ello montaremos un pequeño proyecto en Docker para que podáis jugar con ello cuanto queráis.

2 0
0 202

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.

14 2
1 201

Hola desarrolladores,

Estoy seguro de que os habéis encontrado esta situación: necesito autenticar los usuarios - que pueden acceder a la instancia de InterSystems IRIS (for Health) o Health Connect – mediante LDAP (Active Directory u OpenLDAP). En este artículos quiero compartir con vosotros lo sencillo que es la autenticación/integración mediante LDAP. Crearemos una configuración mínima de manera a autenticar los usuarios mediante consulta a OpenLDAP.

1 0
0 201

¡Hola, desarrolladores!

En este artículo mostraré cómo configurar un repositorio FHIR + configuración del servidor de autorización/de recursos OAuth2 en IRIS for Health, como continuación del artículo anterior.

En la Parte 1, presentamos los preparativos preliminares, configuramos el servidor de autorización OAuth2 y obtuvimos el token de acceso.
En la Parte 2, mostraremos cómo crear un repositorio FHIR y cómo configurar un servidor de recursos/cliente OAuth2.

0 0
0 194

Durante las últimas semanas, el equipo de Solution Architecture (Soluciones de Arquitectura) ha estado trabajando para terminar la carga de trabajo de 2019: esto incluyó la creación del código abierto de la Demostración de Readmisiones que llevó a cabo HIMSS el año pasado, para poder ponerla a disposición de cualquiera que busque una forma interactiva de explorar las herramientas proporcionadas por IRIS.

0 1
0 193

Mas de una vez nos ha sucedido que requerimos añadir algún comportamiento a algún Bussiness Service core (tal como viene "de caja").

En este caso puntual, tomaré de ejemplo el BS EnsLib.RecordMap.Service.FileService, el cual nos permite leer un archivo (normalmente un csv) desde una carpeta configurable. A veces sucede que el archivo que estamos leyendo es muy grande, y por tanto contiene muchas filas, y nuestra lógica requiera saber exactamente cuando se termino de procesar y además generar un evento que incluso sea procesado por algún Host personalizado.

0 0
0 192
Artículo
· 16 mayo, 2023 Lectura de 7 min
¡¿Qué es HL7v2?!

HL7 (Health Level 7) es un conjunto de especificaciones técnicas para el intercambio informatizado de datos clínicos, financieros y administrativos entre Sistemas de Información Hospitalaria (HIS). Estas especificaciones se integran de diversas formas en el conjunto de Normas oficiales americanas (ANSI) e Internacionales (ISO).

La L7 de HL7 indica que es una norma que opera en la capa 7, es decir, en la capa de aplicación, del modelo OSI. Esto significa que HL7 no tiene que tener en cuenta las consideraciones de seguridad en el intercambio, ni las de transporte de mensajes (de eso se encargan capas de nivel inferior como SSL/TLS para la seguridad o TCP para el transporte de datos, por ejemplo). Para ser más precisos, la capa 7 soporta las comunicaciones para los procesos y aplicaciones de usuario final y la presentación de datos para las aplicaciones de software orientadas al usuario. Al ser la capa más alta del modelo OSI, y la más cercana al usuario final, la capa 7 proporciona funciones específicas de la aplicación, como identificar la comunicación de los partners y la calidad del servicio entre ellos, determinar la disponibilidad de recursos, considerar la privacidad y la autenticación del usuario, y sincronizar la comunicación, así como conectar la aplicación con los niveles inferiores del modelo OSI.

1 0
0 191
Artículo
· 17 jun, 2021 Lectura de 2 min
Cómo crear un PDF a partir de un archivo de texto

Cómo utilizar Java Gateway para acelerar el desarrollo

InterSystems IRIS incluye Object Gateways dinámicos para Java, .NET y (ahora) Python. Estos gateways permiten que tu aplicación IRIS utilice bibliotecas en estos lenguajes, eliminando la necesidad de crear todo desde cero en ObjectScript.

En este ejemplo, utilizamos las bibliotecas iTextPdf y Apache PdfBox para leer un archivo de texto y producir un PDF básico a partir de él. Estas bibliotecas son controles PDF profundos y ricos, por lo que un poco de desarrollo podría producir una aplicación de ejemplo que ofrezca resultados mucho más convincentes para tus necesidades. También he incluído un archivo de clase corto el cual hace que su uso desde ObjectScript sea muy sencillo.

0 0
0 191

Este artículo es una continuación de esta publicación.

En ese artículo, analizamos la creación de business operations a partir de los componentes necesarios para la integración del sistema.

En este artículo, mostraré cómo crear un business process que llama a las dos business operations definidas en el orden de la secuencia.

El business process actúa como coordinador (centro de mando) del proceso.

0 0
0 187

A continuación veremos cómo mostrar una lista de métricas de ejemplo disponibles a través del servicio /api/monitor.

En el artículo anterior, echamos un vistazo al servicio que expone las métricas de IRIS en formato Prometheus. Veamos cómo configurar y ejecutar IRIS preview release 2019.4 en un contenedor y listar las métricas disponibles.

0 0
0 186

¡Hola a todos!

InterSystems IRIS tiene un menú llamado Interoperabilidad.

Ofrece mecanismos que permiten crear fácilmente integraciones de sistemas (adaptadores, mapas de registros, BPMs, conversiones de datos, etc.), para que diferentes sistemas puedan conectarse fácilmente.

0 0
0 186
Artículo
· 3 jul, 2023 Lectura de 2 min
Cómo crear tests en Postman para Newman

Hola Comunidad!

Voy a explicaros por encima cómo crear test en colecciones de Postman para usarlos en la app IRIS Api Tester.

Ok, pero.. ¿qué es Newman?

Newman es una herramienta de línea de comandos que nos permite ejecutar colecciones de Postman de un modo automático y escalable. Creando test en Newman, puedes asegurar la estabilidad de las colecciones en tus API endpoints. En este artículo, vamos a descubrir como crear test para Newman desde Postman, con unos ejemplos prácticos.

0 1
0 185

Quería compartiros hoy un pequeño truco para personalizar cómo se muestran los mensajes en el Visor de Mensajes. En concreto, cómo mostrar mensajes JSON directamente en el Visor de Mensajes en lugar de serializados como XML.

image

3 2
0 185
Artículo
· 24 ene, 2024 Lectura de 2 min
Cómo obtener JSON de SQL

¿Sabíais que se pueden obtener datos JSON directamente de las tablas SQL?

Dejadme que os presente dos útiles funciones de SQL, que se utilizan para recuperar datos JSON de consultas SQL - JSON_ARRAY y JSON_OBJECT.

Podéis usar esas funciones en la sentencia SELECT con otros tipos de elementos de selección, y se pueden especificar en otras ubicaciones en las que se puede utilizar una función SQL, como en una condición WHERE.

0 1
1 184
Artículo
· 20 mayo, 2022 Lectura de 3 min
Git para entornos de desarrollo compartidos

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:

  • Colaboras con otros desarrolladores en un entorno de desarrollo remoto compartido y quieres evitar la edición simultánea del mismo archivo
  • Utilizas editores basados en el portal de administración para BPL, DTL, tablas dinámicas, cuadros de mando, etc. y quieres incluir esos elementos en el control de código de forma sencilla.
  • Aún utilizas Studio para realizar algunas cosas y/o ocasionalmente vuelves a usarlo desde VSCode. O tu equipo todavía no ha adoptado completamente VSCode y algunos miembros del equipo todavía quieren utilizar Studio
  • Trabajas en varios proyectos diferentes al mismo tiempo en el mismo namespace - digamos, en varios paquetes definidos mediante InterSystems Package Manager - y quieres trabajar con todos ellos desde una vista de edición de isfs (en vez de en varios proyectos distintos) con los cambios rastreados automáticamente en el repositorio de git apropiado
1 1
1 182
Artículo
· 19 feb, 2021 Lectura de 7 min
La API nativa de IRIS para Python en AWS Lambda

Si está buscando una forma ingeniosa para integrar su solución de IRIS en el ecosistema de Amazon Web Services, en una aplicación sin servidor o en Boto3 (un potente script de Python), usar la API nativa de IRIS para Python podría ser el camino a seguir. No es necesario que invierta demasiado tiempo en la implementación de una producción hasta que deba acercarse y obtener algo o establecer algo en IRIS para hacer que su aplicación ejecute su característica más sobresaliente, así que esperamos este artículo sea útil y desarrolle algo aunque solamente usted pueda usarlo, ya que eso también es importante.

imagen

0 0
0 177
Artículo
· 25 abr, 2023 Lectura de 13 min
Configurando Mirror en Docker

Una necesidad habitual en nuestros clientes es la configuración tanto de HealthShare HealthConnect como de IRIS en modo de alta disponibilidad.

Es común en otros motores de integración del mercado que se promocionen con configuraciones de "alta disponibilidad", pero realmente no suele ser del todo cierto. Por lo general dichas soluciones trabajan con bases de datos externas y por lo tanto, si estas no están a su vez configuradas en alta disponibilidad, al producirse una caída de la base de datos o la pérdida de conexión a la misma toda la herramienta de integración queda inutilizable.

En el caso de las soluciones de InterSystems este problema no existe, al ser la base de datos parte y nucleo de las propias herramientas. ¿Y cómo ha solucionado InterSystems el problema de la alta disponibilidad? ¿Con abstrusas configuraciones que podrían arrastrarnos a una espiral de enajenamiento y locura? ¡NO! Desde InterSystems hemos escuchado y atendido vuestras quejas (como siempre intentamos hacer ;) ) y hemos puesto a disposición de todos nuestros usuarios y desarrolladores la función de mirroring.

1 0
0 177
Artículo
· 11 feb, 2022 Lectura de 4 min
Migración de Ensemble a IRIS for Health

Hasta hace no mucho, todos los entornos con los que trabajábamos eran Ensemble 2017.2. Pero recientemente hemos migrado todos los entornos a la versión 2021.1 de IRIS for Health. Ha sido un camino complicado, pero tras analizarlo detenidamente, encontramos la forma de conseguirlo.

Contamos con un servidor de desarrollo y dos servidores en producción en mirroring, en modo Failover. Tenemos más de 40 Namespaces dando servicio, unos con integraciones HL7, otros con servicios Soap, servicios Rest, procesado de archivos... un poco de todo. Necesitábamos estar seguros de que la migración a IRIS no iba a suponer un problema y sobre todo, evitar a toda costa un corte de servicio. Así que lo primero que teníamos que hacer era establecer un plan.

5 0
0 176
Artículo
· 28 abr, 2021 Lectura de 8 min
Consejos para depurar con %Status

Introducción

Si resuelves problemas complejos en ObjectScript, probablemente tienes mucho código que funciona con los valores de %Status. Si has interactuado con clases persistentes desde una perspectiva de objetos (%Save, %OpenId, etc.), casi seguro que las ha visto.

Un %Status proporciona una envoltura alrededor de un mensaje de error localizable en las plataformas de InterSystems. Un estado OK ($$$OK) simplemente es igual a 1, mientras que un mal estado ($$$ERROR(errorcode,arguments...)) se representa como un 0 seguido de un espacio seguido de una lista $ListBuild con información estructurada sobre el error.

0 1
0 170