Artículo
Rubén Larenas · Nov 22, 2021 Lectura de 2 min
Datos personalizados con %Populate

Estimados

Todos ya conocerán las propiedad y facilidades que entrega %Populate para las clases registradas, es una herramienta muy útil a la hora de realizar alguna demostración o presentación. Sin embargo, también habrán notado que por defecto tiene un set de datos localizado y creado para Estados Unidos lo que en algunas situaciones puede ser una dificultad.

Es por esta razón que les dejo este pequeño ejemplo de cómo usar POPSPEC para poder localizar y crear nuestro propio conjunto de datos de prueba.

En primer lugar creemos nuestra clase persistente:

10
0 0 33

¡Hola amigos!

A veces necesitamos importar datos a InterSystems IRIS desde archivos de tipo CSV. Esto puede hacerse, por ejemplo, mediante la herramienta csvgen, que genera una clase e importa todos los datos a ella.

Pero, ¿qué pasa si tienes tu propia clase y quieres importar datos desde un archivo CSV a una tabla que ya existe previamente?

Hay varias formas de hacerlo, ¡pero puedes utilizar csvgen (o csvgen-ui) otra vez! Preparé un ejemplo y estoy encantado de compartirlo con todos. ¡Vamos allá!

00
0 0 28
Artículo
Ricardo Paiva · Nov 18, 2021 Lectura de 2 min
Descripción de la aplicación fhir-integratedml-example

Hablando con mi amigo @Renato Banzai, especialista en Machine Learning, me expuso uno de los mayores retos a los que se enfrentan actualmente las empresas: la implementación del Machine Learning (ML) y la Inteligencia Artificial (IA) en entornos reales.

Intersystems IRIS ofrece IntegratedML. IntegratedML es una excelente herramienta para practicar, probar y realizar implementaciones de modelos de ML e IA.

00
0 0 22

Trabajando en soporte generalmente me preguntan cuántos días hay que mantener los journals. ¿Debería ser dos días o después de dos copias de seguridad? ¿Más? ¿Menos? ¿Por qué dos?

La respuesta correcta (para la mayoría de los entornos) es que se debería conservar los ficheros de journal desde la última copia de seguridad validada. Es decir, hasta que no verifique si una copia de seguridad es válida (restaurando el archivo y verificándolo con la utilidad Integrity), no puede estar seguro de que haya una buena copia de los datos y no por tanto no se deberían purgar los journals de manera segura.

20
0 2 28
Artículo
Ricardo Paiva · Nov 12, 2021 Lectura de 21 min
Curso de formación sobre Ensemble / Interoperabilidad

Este curso de formación está dirigido a todas las personas interesadas en conocer el framework de Interoperabilidad de IRIS. Utilizaremos Docker y VSCode.

GitHub: https://github.com/grongierisc/formation-template

1. Formación en Ensemble/Interoperabilidad

El objetivo de esta formación es aprender el framework de interoperabilidad de InterSystems, y en particular el uso de:
* Producciones
* Mensajes
* Business Operations
* Adaptadores
* Business Processes
* Business Services
* Operaciones y servicios REST

10
0 0 62

MODELO RESUMIDO

Siguiendo el ejemplo disponible en GitHub FHIR IntegratedML vamos usar el modelo resumido para entrenar el modelo de predicción de "No Asistirá" (NotShow).

Haremos un match entre los campos de la tabla PackageSample.NoShowMLRow y los campos de TrakCare. El punto de partida en TrakCare será la tabla SQLUser.RB_Appointment.

10
1 0 25

En este artículo describiré los procesos para ejecutar pruebas unitarias mediante ObjectScript Package Manager (consulta https://openexchange.intersystems.com/package/ObjectScript-Package-Manager-2), incluyendo el cálculo de la Cobertura de pruebas (mediante https://openexchange.intersystems.com/package/Test-Coverage-Tool).

00
0 0 33

Algunos de vosotros no conoceréis esta limitación o problema conocido que se produce en los Procesos de Negocio (Business Processes) basados en BPL.

Aquellos que no estabais al tanto quizá os habéis encontrado esto:

ERROR <Ens>ErrBPTerminated: Terminating BP <my_process_name> # due to error:

ERROR #7201: Datatype value 'xxS6xxS6...xxS6' length longer than MAXLEN allowed of 5
10
0 0 25
Artículo
YURI MARX GOMES · Nov 3, 2021 Lectura de 1 min
Ruta de aprendizaje para principiantes

¡Hola Comunidad!

La página web de formación de InterSystems (InterSystems Learning Website) tiene muchos cursos interactivos. Si quieres aprender más o empezar a trabajar con InterSystems, este es el camino que debes seguir:

Resumen:

Conceptos básicos:

10
0 0 30

La metodología OKR (Objetivos y Resultados Clave) es utilizada por las empresas más grandes del mundo (como Google, Netflix, Spotify, BMW, Linkedin, etc.) para una gestión ágil del rendimiento. Fue creada en los años 70 por Andrew Grove, presidente de Intel, y presentada al público en su famoso libro “High Output Management” ("Gestión de alto rendimiento").

Sobre 1998 John Doerr, uno de los mayores inversores de riesgo (venture capitalist) del mundo, tras conocer la metodología OKR de Intel, se la dio a conocer a Larry Page y Sergey Brin, que empezaban una pequeña empresa llamada Google.

Sergey y Larry vieron el gran potencial de la metodología y comenzaron a escribir los primeros OKRs para Google y después sus OKRs individuales.

Desde entonces, esta práctica se ha convertido en una rutina trimestral en la compañía. Según Rick Klau (Google Ventures), “Google no fue Google” hasta que empezó a poner en práctica la metodología OKR en sus inicios.

Los beneficios de OKR son:

00
0 0 35
Artículo
Alberto Fuentes · Oct 29, 2021 Lectura de 2 min
Trucos para gestionar errores en ObjectScript

ObjectScript tiene diferentes formas para gestionar errores (códigos %Status, %Exception, SQLCODE, etc). La mayor parte del código de sistema utiliza códigos %Status pero las %Exception son en ocasiones más fáciles de gestionar.

Si tienes que trabajar o mantener aplicaciones con cierto recorrido seguramente acabes lidiando con distintas técnicas de gestión de errores. A continuación os dejo una chuleta u hoja de trucos que puede servir como referencia. ¡Espero que os sea útil!

30
0 0 36
Artículo
Ricardo Paiva · Oct 28, 2021 Lectura de 2 min
Generadores de documentación estática

¡Hola comunidad!

En el pasado, la documentación técnica del código fuente y de los productos de software se generaba en archivos chm, pdf y generadores de documentación de los propios lenguajes de programación. Este enfoque antiguo tenía las siguientes limitaciones:

  1. Documentación obsoleta,
  2. Documentación no interactiva y difícil de consultar,
  3. Diseño poco amigable y que no se adhiere a HTML,
  4. Imposibilidad de personalizar el diseño de los documentos,
  5. Imposibilidad de tener documentación en HTML 5 online y offline.
  6. Falta de soporte a Markdown.

Hoy en día, existen varias soluciones de generación de documentación que producen Portales de Documentación Web muy atractivos, interactivos y con opciones estáticas y dinámicas, con soporte total para HTML 5 y más recientemente Markdown.

Consulta la tabla con las opciones de código abierto más populares:

00
0 0 38

En este artículo, ejecutaremos un clúster InterSystems IRIS usando Docker y archivos CPF combinados - una nueva característica que permite configurar servidores con facilidad.

En UNIX® y Linux, puedes modificar el archivo predeterminado iris.cpf utilizando un archivo CPF combinado declarativo. Un archivo combinado es un CPF parcial en el que se establecen los valores deseados que queramos que tenga una instancia al iniciar. La operación de combinación en CPF sólo funciona una vez para cada instancia.

Nuestra arquitectura de clúster es muy sencilla, consistirá en un Nodo 1 (nodo maestro) y dos Nodos de datos (echa un vistazo a todas las funciones disponibles). Desafortunadamente, docker-compose no puede desplegar en diferentes servidores (aunque puede desplegar a hosts remotos), por lo que esto es útil para el desarrollo local de modelos de datos que utilicen sharding, pruebas, etc. Para el despliegue en producción de un cluster de estar características, debes utilizar ICM o IKO.

00
0 1 39

AnalyzeThis es una herramienta para obtener la vista previa de tus propios datos dentro de InterSystems BI. Te permite experimentar directamente con InterSystems BI y darte cuenta de la potencia y el valor que puede aportar a tu organización. Además de obtener una visión rápida de InterSystems BI mediante la importación de un fichero CSV con tus datos, también soporta ahora Clases y Consultas SQL como fuentes de datos (a partir de la versión v1.1.0!).

00
0 1 20

En la Parte 1 empezamos a trabajar en un modelo de seguridad para DeepSee y creamos un tipo de usuario con los privilegios habituales de los usuarios finales. En esta parte, crearemos un segundo tipo de usuario con permiso para editar y crear tablas dinámicas y paneles de control en DeepSee. 

00
0 0 14
Artículo
Ricardo Paiva · Oct 22, 2021 Lectura de 3 min
Mi experiencia trabajando con FHIR

Hola Comunidad,

Quiero compartir mi experiencia creando el portal iris-fhir con FHIR.  

Decidí dar un paso adelante y participar en el concurso IRIS for Health FHIR, pero nunca antes había trabajado con FHIR.

Después del webinar para el lanzamiento del concurso sobre FHIR , en el que nos explicaron de forma general cómo funciona IRIS for Health con FHIR, comencé a buscar en la documentación de FHIR para crear mi proyecto de Registro de pacientes.

En la página web de HL7 FHIR (versión 4), encontré un "mapa de recursos":

00
0 0 27

InterSystems SAM es una gran herramienta para monitorizar tus clústeres de InterSystems IRIS e InterSystems IRIS For Health en instalaciones físicas o en un entorno de nube. En este artículo se describe cómo puedes implementar un administrador de alertas personalizado. Actualmente esta es una función no documentada y muy probablemente desconocida de InterSystems SAM. Con futuras versiones probablemente será más fácil aprovechar este útil concepto.

00
0 1 31

En este artículo demostraré lo siguiente:

  • Cómo actualizar ReferencesRange (OBX: 7) contra ObservationIdentifier (OBX: 3.1) [TestCode] de la base de datos mediante la función de utilidad personalizada
  • Cómo actualizar Abnormal Flag (OBX: 8) contra ObservationIdentifier (OBX: 3.1) [TestCode] y ObservationValue (OBX: 5) [Resultado] desde la función de utilidad de base de datos
  • Mensaje de ruta basado en un Abnormal Flag (OBX: 8)

00
0 0 25

¡Hola desarrolladores!

Últimamente he estado probando el módulo csvgen y buscaba un fichero CSV para probar. Resulta que encontré un fichero muy interesante en Data.World con estadísticas sobre los episodios de Game of Thrones (Juego de Tronos). Estadísticas sobre muertes 😱.

¡Han documentado todos los asesinatos a lo largo de las 8 temporadas y han anotado dónde, quién, qué clan y con qué arma ha matado a otro personaje!

00
0 0 29

¡Hola Comunidad!

En esta ocasión os presento una nueva y potente función de nuestro analizador de código estático: objectscriptQuality

Cada vez que se publica una nueva versión de IRIS, seguramente preparas una guía de migración en la que tienes que dedicar mucho tiempo en la realización pruebas para encontrar dónde no cumple el código con la nueva versión. O quizás necesitas que el código sea compatible con varias versiones de IRIS o Caché.

00
0 0 30
Artículo
Muhammad Waseem · Oct 13, 2021 Lectura de 4 min
División de mensajes ORU mediante ObjectScript y DTL

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.

00
0 0 34
Artículo
Alberto Fuentes · Oct 7, 2021 Lectura de 2 min
Cómo obtener Upstream en GitHub

¡Hola desarrolladores!

Con frecuencia, cuando colaboramos con el repositorio de alguien en GitHub, seguimos el siguiente ciclo:
1. Fork: crear nuestra bifurcación del repositorio
2. Clone: clonar una copia local de nuestro repositorio bifurcado
3. Realizar nuestros cambios y guardarlos con un Commit en nuestra copia local
4. Push: publicar nuestros cambios al repositorio clonado de GitHub
5. Hacer Pull-Request para solicitar incorporar nuestros cambios desde nuestro fork — bifurcación — al repositorio original
6. Y si todo va bien se hará un Merge — fusión o incorporación — con nuestros cambios en el repositorio original

¡Todo esto es genial y funciona bien!

Y si queremos realizar una segunda colaboración justo después de llevar a cabo un Merge , es necesario que primero realicemos un Fetch upstream en nuestro repositorio clonado para que tengamos disponibles los cambios actualizados que incorporamos al repositorio original a través del Pull Request.

Los más frikies de git lo hacen muy fácilmente, pero muchos terminamos simplemente por eliminar nuestro primer fork y crear otro nuevo.

10
0 0 33