Artículo
· 1 sep, 2022 Lectura de 2 min
Algunos ejemplos de interoperabilidad FHIR

¡Hola desarrolladores!

Quizá os hayáis encontrado con escenarios donde no tenéis que implementar un repositorio FHIR, sino por ejemplo reenviar peticiones FHIR, gestionar las respuestas y tal vez realizar modificaciones o extraer algunos valores por el camino. Aquí encontraréis algunos ejemplos que pueden implementarse con InterSystems IRIS For Health o HealthShare Health Connect.

0 0
0 144
Artículo
· 28 jun, 2022 Lectura de 3 min
Sintaxis de ObjectScript para GitLab

¡Hola Comunidad!

Recientemente, migré una serie de repositorios de Objectscript de formato XML a UDL.
Después de la migración, me decepcionó un poco la presentación en la interfaz web de GitLab.

Dado que la sintaxis de Objectscript es compatible con GitHub, pensé que también sería compatible con GitLab. Desafortunadamente, la librería utilizada por GitLab para resaltar el código no tiene una extensión para admitir Objectscript.

0 0
0 144

Esta es la tercera parte de una serie de artículos sobre migración desde las principales bases de datos del mercado a InterSystems IRIS. En esta parte, explicaré los pasos para migrar desde DB2.

Como describí en los anteriores artículos, actualmente hay varias opciones para hacer la migración. Sin embargo, las dos opciones más populares incluyen el uso de DBeaver (https://openexchange.intersystems.com/package/DBeaver) o SQLGateway. Explicaremos la primera opción aquí. La segunda opción fue explicada por @Robert Cemper en un excelente artículo: Migración de base de datos usando SQLgateway.

0 0
0 142
Artículo
· 14 ene, 2022 Lectura de 6 min
Configuración del entorno con config-api

Hola desarrolladores,

Escribir un script para el despliegue de una aplicación puede ser muy interesante para garantizar un despliegue rápido sin olvidarse de nada.
config-api es una biblioteca para ayudar a los desarrolladores a escribir scripts de configuración basados en un documento JSON.

Características implementadas:

1 1
0 141

En el Centro de Soporte Internacional (WRC), vemos a menudo clientes que se han encontrado un problema al visualizar las páginas de catálogos SOAP en el navegador. Estas páginas nos sirven para visualizar el WDSL y poder testear los métodos y servicios descritos en el web service. En este artículo voy a explicar por qué se encuentran este error, y también propondré una solución. Esta explicación se centra en los síntomas observados en InterSystems IRIS, pero se ha podido ver un comportamiento similar en versiones más recientes de Caché.

El problema:

Estás intentando crear nuevos Servicios Web SOAP en InterSystems IRIS. Cuando vas a visualizar el Catálogo SOAP para ver lo que has creado hasta ese momento, aparece este error en tu navegador:

0 0
0 140
Artículo
· 3 mayo, 2022 Lectura de 14 min
Depuración tradicional en ObjectScript

Encontrar errores en tu código o examinar un comportamiento inesperado es el principal objetivo de la depuración.

Trataré de actualizar las herramientas tradicionales aparte de las ayudas que tienen Studio, VScode, Serenji... Las herramientas básicas que han estado ahí antes de que tu EDI preferido lo utilizara en segundo plano.

1 0
2 140

Este artículo describe un diseño arquitectónico de complejidad intermedia para DeepSee. Al igual que en el ejemplo anterior, esta implementación incluye bases de datos separadas para almacenar la información, la implementación y la configuración de DeepSee. También presenta dos nuevas bases de datos: la primera para almacenar los globals necesarios para la sincronización, la segunda para almacenar tablas de hechos e índices.

0 0
0 138

Durante una actualización a una versión principal (major) es aconsejable recompilar las clases y rutinas de todos tus namespaces (ver Tareas tras la instalación de una versión major).

do $system.OBJ.CompileAllNamespaces("u")
do ##Class(%Routine).CompileAllNamespaces()

Para automatizar esta tarea de administración y mantener un registro de cualquier error, os muestro un ejemplo de una clase para importar y compilar en el namespace USER, que puedes usar después de cada actualización: admin.utils.cls

1 1
0 136
Artículo
· 31 ago, 2022 Lectura de 2 min
Python Embebido y tcl tkinter en Windows

Si tu código de Python Embebido llama a la librería tkinter (que es usada por muchas librerías especializadas en la creación de gráficos, como matplotlib), puede que obtengas este error:

<THROW> *%Exception.PythonException <CLASS DOES NOT EXIST> 230 ^^0^DO ##CLASS(User.Test).Test() 
<class '_tkinter.TclError'>: Can't find a usable init.tcl in the following directories:

c:/intersystems/irispy/lib/python/lib/tcl8.6
c:/intersystems/irispy/lib/tcl8.6
c:/intersystems/lib/tcl8.6
c:/intersystems/irispy/library
c:/intersystems/library
c:/intersystems/tcl8.6.9/library
c:/tcl8.6.9/library

This probably means that Tcl wasn't installed properly.

1 0
1 136

Este artículo es una continuación de este otro sobre cómo migrar de bases de datos populares (como PostgreSQL y MySQL) a IRIS.

Utilizaremos los mismos procedimientos utilizados para migrar desde PostgreSQL. Sin embargo, verás que es aún más fácil ya que los tipos de datos en MySQL son muy similares a los de IRIS. Por eso no necesitaremos crear reglas de transformación en las columnas.

Obtención de los datos de muestra para realizar el proceso de migración

En Github es posible descargar un proyecto de Docker Compose para crear y ejecutar 2 bases de datos:

  • Source Database (Base de datos de origen): Instancia Docker de la base de datos ejemplo MySQL.
  • Target Database (Base de datos objetivo): Instancia Docker de InterSystems IRIS con un esquema preparado para recibir la base de datos de origen.

0 0
0 135
Artículo
· 12 sep, 2022 Lectura de 5 min
Anonimización de datos con iris-Disguise

freepik- freepik.com
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.

2 1
1 135

Quizás algún día necesites utilizar Adaptive Analytics, así que aquí va un artículo sobre cómo empezar a desarrollar un dashboard (cuadro de mando) en Tableau conectando con el cubo de Atscale.

Preparación del PC

Necesitas conectar un driver. Yo uso Cloudera Hive. Puedes descargar el driver desde:
https://www.cloudera.com/downloads/connectors/hive/odbc/2-6-1.html

Tienes que registrarte, puedes hacerlo gratis. Necesitas descargar la versión correcta para tu sistema operativo.

La instalación es sencilla.

Preparación de AtScale

Publicación del proyecto

Para conectar a un cubo desde Tableau, tienes que publicar primero un proyecto con los cubos que te interesen.

Para publicarlo, ve a PROJECTS > "Project name" > DRAFT "Project name" > PUBLISH

0 0
0 134

Una de nuestras apps utiliza una consulta de clase para un informe ZEN y funciona perfectamente en ese informe, produciendo los resultados esperados. Hemos migrado a InterSystems Reports y nos hemos dado cuenta de que, para un informe que utiliza la misma consulta de clase, aparecen en la parte de abajo más de 100 filas extra con los mismos valores en las columnas.

Descartamos InterSystems Reports como fuente del problema reproduciendo el problema de "filas extra" con una hoja de cálculo de Excel que llama a la misma consulta de clase utilizando un procedimiento almacenado.

¿Cuál era el problema? Cuando llamábamos al procedimiento almacenado desde el antiguo ZEN Report o desde la función SQL Query en el Portal de Administración, no veíamos estas filas adicionales.

0 0
0 133
Artículo
· 22 abr, 2022 Lectura de 3 min
Cómo actualizar el Recurso Paciente usando fhir.js

¡Hola Comunidad!

Compartí mi experiencia trabajando por primera vez con FHIR en este artículo.

En esa publicación, escribí cómo exploré los recursos FHIR y comenté la información que encontré útil en la documentación FHIR.

La primera versión de mi app solo muestra la información que ofrecen los Recursos FHIR.

Quería hacer que el usuario pudiera actualizar los detalles del paciente, así que busqué un ejemplo de cómo hacerlo.

0 0
0 133

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

En ese artículo, analizamos el desarrollo de business processes, que forman parte de los componentes necesarios para la integración del sistema y sirven como coordinadores de la producción.

En este artículo mostraremos la creación de un business service, que es la ventana de entrada de información para la producción.

0 0
0 133
Artículo
· 21 feb, 2022 Lectura de 2 min
Resolución exitosa de problemas

Durante las últimas semanas, estuve trabajando en varias cuestiones y problemas relacionadas con el desarrollo de software. Me di cuenta de que con frecuencia el análisis de los problemas consistía en perseguir los problemas solo a nivel superficial, pero sin atacar realmente las razones más profundas del problema y sin seguir las consecuencias. Es como el médico que detiene la hemorragia de una pierna pero no ve que en realidad está rota.

1 0
0 131
Artículo
· 9 jun, 2022 Lectura de 1 min
Visor de pacientes FHIR

Alt Text

¡Hola a todos!

Solo quería compartir aquí una publicación rápida sobre mi proyecto para el Gran Premio :D

FHIR Patient Viewer es una herramienta de renderizado de una sola página, basada en Vue.js, que muestra de forma sencilla los datos devueltos de una llamada /Patient/{id}/$everything realizada a un servidor FHIR de InterSystems.

En el archivo Readme he incluido 3 cosas principales:

0 0
0 131
Artículo
· 25 jul, 2022 Lectura de 2 min
Conector de Google Data Studio con FHIRaaS

Google tiene una interesante herramienta llamada Google Data Studio. Esta aplicación permite crear cuadros de mando (dashboards) interactivos, con tus datos, disponibles en internet. Además, ofrece cientos de conectores con cualquier fuente de datos, desarrollados por la comunidad. Y también visualizadores desarrollados por la comunidad. Lo más importante es que Google ofrece una forma de desarrollar tu propio conector con tus datos.

FHIRaaS ofrece una REST API, y está disponible desde internet. Así que he decidido probar a crear un informe básico con los datos almacenados allí. Y al final, conseguí esto.

0 0
0 130
Artículo
· 25 mayo, 2022 Lectura de 2 min
El explorador de ZPM (zpm-explorer)

¡Hola Comunidad!

@José Pereira y yo queremos presentaros ZPM Explorer, nuestra interfaz gráfica para explorar las excelentes aplicaciones que hay en InterSystems Package Manager.

La idea

La idea de un explorador de ZPM es facilitar a las personas encontrar lo que ZPM ofrece. Cada semana, cada día, una nueva app se une al mundo ZPM, así que... ¿por qué no ayudar a los desarrolladores y no-desarrolladores a aprovechar las ventajas de este increíble mundo?!

0 0
0 130

Durante mucho tiempo hemos estado usando una utilidad en producción para exportar el resultado de una consulta a una hoja de cálculo Excel. Además, hemos hecho una modificación en ella, en la que la configuración explícita de los formatos de las columnas es una prioridad.

0 0
0 129
Artículo
· 26 mayo, 2022 Lectura de 1 min
Un vistazo al explorador de ZPM (zpm-explorer)

Un aspecto muy interesante de los datos es que siempre podemos descubrir algo nuevo.

Con esa idea en mente, hemos creado una nueva página para mostrar un poco más del interior de ZPM!

Para publicar una aplicación en ZPM, se necesita el archivo module.xml. Dentro del archivo, tenemos unas pocas etiquetas que ofrecen buena información que puede ser muy útil para nosotros.

Del endpoint https://pm.community.intersystems.com/packages/{package}/{version}/manifest extraemos dos cosas: palabras clave/etiquetas y Dependencias.

0 0
0 128
Artículo
· 5 abr, 2022 Lectura de 5 min
Cómo gestionar la configuración del contenedor

Si estás implementando más de un entorno/región/nube/cliente, inevitablemente te encontrarás con el problema de la gestión de la configuración.

Aunque todas (o solo varias de) tus implementaciones pueden compartir el mismo código fuente, algunas partes, como la configuración (ajustes, contraseñas) son diferentes de una implementación a otra y se deben gestionar de alguna manera.

En este artículo, intentaré ofrecer varios consejos sobre ese tema. Y comentaré principalmente las implementaciones de los contenedores.

0 0
0 127
Artículo
· 7 feb, 2022 Lectura de 1 min
GlobalToJSON-embedded-Python

Este es un paquete para exportar un Global a un archivo de objeto JSON y volver a crearlo recargando desde este archivo
embeddedPython se refiere a las nuevas tecnologías disponibles. Debe entenderse como un ejercicio de aprendizaje de
cómo manejar las diferentes interfaces. Solo los nodos de Global que contienen datos se presentan en el archivo JSON generado.

5 0
0 127

¡Hola desarrolladores!

Gracias a todos los que habéis empezado el desarrollo con InterSystems IRIS desde la plantilla de desarrollo básico!

Recientemente, gracias a las contribuciones de @Dmitry Maslennikov, he actualizado el Dockerfile para hacer el desarrollo más sencillo, las imágenes más ligeras y el proceso de construcción más rápido. Y también parece más bonito ;)

Esto es lo que ha cambiado:

1 0
0 125
Artículo
· 28 jul, 2022 Lectura de 4 min
Cómo añadí ObjectScript a Jupyter Notebook

ObjectScript Kernel Logo

Jupyter Notebook es un entorno interactivo formado por celdas que permiten ejecutar código en un gran número de lenguajes de marcado y programación diferentes.

Para hacer esto, Jupyter debe conectarse a un kernel apropiado. No había un Kernel ObjectScript, por lo que decidí crear uno.

Puedes probarlo aquí.

Este es un adelanto de los resultados:

1 0
0 125