Ya podemos anunciar los ganadores del Concurso de Herramientas para Desarrolladores de InterSystems!

Pero en primer lugar, me gustaría dar las GRACIAS a todos los participantes, que han presentado 21 aplicaciones maravillosas 🔥

Estamos muy contentos de saber que este tema es tan importante para vosotros.

Y ahora, sin más dilación, ya podemos decir eso de: "Y los ganadores son..."

2 2
0 73
La Comunidad de desarrolladores de InterSystems es una comunidad de 17,956 desarrolladores increíbles
¡Somos un lugar donde los programadores de InterSystems IRIS aprenden y comparten, se mantienen actualizados, crecen juntos y se divierten!

Seguramente todos habéis oido hablar de FHIR como la panacea y solución a todos los problemas de interoperabilidad y compatibilidad entre sistemas. Aquí mismo podemos ver a uno de sus clásicos defensores sujetando un recurso FHIR con su mano y disfrutando desaforadamente:

Pero para el resto de los mortales vamos a hacer una pequeña introducción.

0 2
0 85

Estamos encantados de anunciar una nueva sección en la documentación de InterSystems, que hace más fácil actualizar InterSystems IRIS®, InterSystems IRIS® for Health™ y HealthShare® Health Connect. La Lista de Comprobación de Actualizaciones (en https://docs.intersystems.com/upgrade) muestra todo lo que hay que tener en cuenta - y solo lo que hay que tener en cuenta – en una actualización entre dos versiones cualquiera. La lista recopila todo el contenido de nuestro "Historial de Incompatibilidades" y añade unos filtros muy útiles, categorías de nivel superior y la posibilidad de exportar la lista como un archivo CSV, para que se pueda usar como una verdadera lista de comprobación mientras se trabaja en una actualización.

Os pongo un ejemplo inspirador:

1 1
0 44

Preguntas frecuentes de InterSystems

Si el sistema no se para durante 24 horas, los archivos journal serán eliminados a las 0:30 según la "Configuración de la eliminación de archivos journal".

Una posible causa de que los archivos journal permanezcan más tiempo del establecido en la "Configuración de la eliminación de archivos journal" es que hay transacciones que permanecen abiertas.

0 1
0 58

¡Hola Comunidad!

Creo que hoy en día todo el mundo guarda el código fuente de sus proyectos en repositorios como Github, GitLab, bitbucket, etc. Lo mismo sucede con proyectos de InterSystems IRIS, se pueden ver algunos ejemplos en Open Exchange.

¿Qué hacemos cada vez que empezamos o continuamos nuestro trabajo con un repositorio en particular con la plataforma de datos InterSystems?

3 1
1 750

Prometheus es uno de los sistemas de monitorización adaptado para recoger datos de series temporales.

Su instalación y configuración inicial son relativamente sencillos. El sistema tiene un subsistema gráfico integrado llamado PromDash para la visualización de datos, pero los desarrolladores recomiendan usar un producto de otro proveedor, llamado Grafana. Prometheus puede monitorizar muchas cosas (hardware, contenedores, distintos sistemas de gestión de base de datos), pero en este artículo me gustaría analizar la monitorización de una instancia de Caché (para ser exactos, será una instancia de Ensemble, pero las métricas serán de Caché). Si te interesa, sigue leyendo.

0 1
0 350
Pregunta
· 3 mar, 2021
ODBC Cache

Estimados, junto con saludar les comento que estoy realizando una aplicación en PHP que se tiene que conectar por OBDC a una base de datos cache de InterSystems, pero los enlaces de descarga del driver odbc cache que he encontrado en el foro ya no funcionan, alguien me podria decir de donde descargarlos , estoy siguiendo la siguiente documentacion: https://docs.intersystems.com/latest/csp/docbook/Doc.View.cls?KEY=BGOD_w...

de ante mano muchas gracias.

0 1
0 184
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
Artículo
· 25 mayo, 2021 Lectura de 12 min
Cómo desarrollar una API REST con un enfoque spec-first

En este artículo, me gustaría hablar sobre el enfoque spec-first para el desarrollo de una API REST.

Mientras que el desarrollo tradicional code-first de una API REST es así:

  • Escribir el código
  • Habilitarlo en REST
  • Documentarlo (como una API REST)

Spec-first sigue los mismos pasos, pero a la inversa. Comenzamos con una especificación, — que también actúa como documentación — , generamos el código base de la aplicación REST a partir de ella, y finalmente escribimos la lógica de negocio concreta que nos haga falta.

Esto ofrece varias ventajas:

0 1
0 718

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 139
Artículo
· 28 jul, 2022 Lectura de 3 min
Consejos y trucos del nuevo comando LOAD DATA

Estos días he estado trabajando con la excelente y nueva funcionalidad: LOAD DATA. Con este artículo me gustaría compartir mis primeras experiencias con todos. Los siguientes puntos no contienen ningún orden ni ningún otro análsis. Son solo cosas que observé al utilizar el comando LOAD DATA. Y se debe tener en cuenta que estos puntos se basan en la versión 2021.2.0.617 de IRIS, que es una versión de prueba.

0 1
0 183

¿Pensábais que no habría este viernes predicción de la Quiniela por no haber partidos de Primera División? ¡Pues estáis muy equivocados! Gracias a la modularidad y sencillez que proporciona InterSystems IRIS hemos incluido los datos relativos a los partidos de clasificación de la Eurocopa, así que veamos cual será la Quiniela de esta jornada.

Vamos a ver cual es la predicción para la Segunda División:

2 1
0 73

¡Hola desarrolladores!

Este mes de marzo lanzamos nuestro primer Concurso de Programación con InterSystems IRIS! El objetivo del concurso es crear soluciones de código abierto utilizando InterSystems IRIS Data Platform.

El tema del primer concurso es InterSystems IRIS, Docker y ObjectScript.

El concurso estará activo durante tres semanas, del 9 al 31 de marzo de 2020.

Premios:

Habrá una Nominación de los Expertos, en la que los ganadores serán elegidos por un jurado especialmente formado para el concurso. Los premios serán:

🥇 1er puesto - $2,000

🥈 2º puesto - $1,000

🥉 3er puesto - $500

Además, habrá una Nominación de la Comunidad, en la que ganará la aplicación que obtenga el mayor número total de votos. El premio será:

🏆 1er puesto - $1,000

Los ganadores también recibirán las insignias de mayor nivel del programa de fidelización Global Masters.

3 1
0 157
Artículo
· 26 mar, 2020 Lectura de 14 min
Conoce tus índices

Este es el primero de dos artículos sobre los índices SQL.

Parte 1 - Conoce tus índices

¿Qué es un índice?

Recuerda la última vez que fuiste a una biblioteca. Normalmente, los libros están ordenados por temática (y luego autor y título) y cada repisa tiene un cartel en el extremo con un código que describe la temática de los libros. Si necesitaras libros de un cierto tema, en lugar de caminar por cada pasillo y leer la descripción en la parte interior de cada libro, podrías dirigirte directamente al estante cuyo cartel describa la temática que buscas y elegir tus libros de allí. Sin esos carteles, el proceso de encontrar los libros que quieres, habría sido muy lento.

Un índice SQL tiene la misma función general: mejorar el rendimiento, al ofrecer una referencia rápida del valor de los campos para cada fila de una tabla.

Configurar índices es uno de los pasos más importantes a la hora de preparar tus clases para un rendimiento óptimo de SQL.

0 1
1 286
Artículo
· 16 jun, 2020 Lectura de 9 min
Logging usando macros en InterSystems Caché

En mi anterior artículo, revisamos los posibles casos de uso para macros, así que pasemos ahora a un ejemplo más completo de usabilidad de macros. En este artículo diseñaremos y crearemos un sistema de registro.

Sistema de registro

El sistema de registro es una herramienta útil para monitorear el trabajo de una aplicación que ahorra mucho tiempo durante la depuración y el monitoreo. Nuestro sistema constaría de dos partes:

  • Clase de almacenamiento (para registros de anotaciones)
  • Conjunto de macros que agregan automáticamente un nuevo registro al registro

2 1
0 179

¡Hola desarrolladores!

Compartimos con vosotros la presentación que realizamos en el evento Virtual Summit 2020:

Servicios para los desarrolladores - Developer Community y Open Exchange

https://www.youtube.com/embed/_Zf1DQcRNN4
[Este es un enlace integrado, pero no puede ver el contenido integrado directamente en el sitio porque rechazó las cookies que se necesitan para acceder a él. Para ver el contenido integrado, debe aceptar todas las cookies desde la Configuración de cookies]

1 1
0 82

Cuando inicio una instalación nueva de IRIS o de un contenedor, siempre encuentro los paquetes de interoperabilidad mapeados en el namespace USER.

¿Existe alguna utilidad para quitar este mapeo de forma sencilla, con un clic?
Quitar el mapeo global a global, rutina a rutina, paquete a paquete es muy aburrido.

Es decir: busco una utilidad dentro de IRIS.

La utilidad externa es obvia: Notepad (o cualquier otro editor de texto)
- limpiar iris,cpf,
- reiniciar IRIS

Es rápido, es eficiente, pero es muy tedioso.

0 1
0 92
Artículo
· 13 oct, 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.

0 1
1 288

Hola comunidad,

Sería de agradecer si pudieran leernos y respondernos:

➡️ Necesitamos activar una Operación SOAP durante una franja horaria, con el objetivo de enviar mensajes al sistema destino, únicamente durante unas horas; por ejemplo de 4 a 8 de la madrugada

El requisito es hacerlo sin una tarea programada. Esto se debe a que al cambiar de nodo, en los mirrors de producción, hay dificultades, retos, o desafíos con las tareas programadas

0 1
0 76
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

¡Hola desarroladores!

¿Os parece que las consultas sobre el rango de fechas son demasiado lentas? ¿Os parece que el rendimiento de SQL es bajo? ¡Tengo un curioso truco que podría ayudaros a solucionar estos problemas! (¡Los desarrolladores de SQL odian que sepáis estas cosas!)*

Si tenéis una clase que guarda los registros de hora cuando se añaden datos, entonces esos datos se ordenarán con vuestros valores IDKEY, es decir, TimeStamp1 < TimeStamp2 si y solo si la condición ID1 < ID2 se cumple para todos los valores ID y TimeStamp en la tabla - entonces podéis utilizar esta información para aumentar el rendimiento de las consultas en relación con los rangos de TimeStamp. Echad un vistazo a la siguiente tabla:

1 1
0 1K