En esta minera - Operación de Candelaria para Lundin Mining - como en muchas otras, los sistemas de registro de eventos de la operación están separados de forma física y lógica.Buscando encontrar trazar la ubicación de material en el yacimiento y los diámetros de material relevante una vez molido lo extraído, sus ejecutivos usan herramientas no especializadas, planillas de cálculo en este caso, para bucear en los datos.
¡Hola Comunidad!
¡Os invitamos a participar en el segundo concurso de redacción de artículos técnicos de InterSystems (en inglés)!
🎄 Concurso de Artículos Técnicos de InterSystems: Edición Navidad 🎄
Escribe un artículo en inglés en la Developer Community, sobre cualquier tema relacionado con la tecnología de InterSystems:
Duración: del 25 de noviembre al 25 de diciembre de 2021
Premios para todos los participantes: Todas las personas que publiquen un artículo en inglés durante la vigencia del concurso recibirán un premio
Premios principales: Auriculares inalámbricos Apple AirPods Max / Gafas de Realidad Virtual Oculus Quest 2 / Libro electrónico Amazon Kindle / Auriculares inalámbricos Apple AirPods Pro / Raspberry Pi

¡Participa en el concurso y tu artículo será leído por miles de miembros de la Comunidad de Desarrolladores!
Se ha publicado una nueva versión del ZPM - ZPM 0.3.2.
Novedades en esta versión:
- Varios cambios en el comando
outputde la ayuda - Cambios en los colores en las salidas
- Añadida la posibilidad de incluir mas tipos de repo
- Añadida la posiblidad de especificar un mensaje de post-instalación, con la etiqueta
AfterInstallMessageen module.xml - Añadida la variable
${webroot}, que se refiere a la url, con servidor y puerto, donde está disponible el servidor web interno - Arreglado el problema durante la instalación si no se especificada un módulo (asunto #243)
- Arreglado el problema con la fuente
Fi
Hace algún tiempo, empecé a recibir alertas de consumo excesivo de espacio en el sistema de archivos (filesystem) de un cliente, cuya solución utiliza la capa de interoperabilidad (IRIS / Ensemble) de manera masiva.
Me percaté que las bases de datos que crecían eran las dedicadas a la interoperabilidad, mas no la base de datos operacional de la solución, por tanto había que revisar los mensajes de las diferentes integraciones presentes.
También verifiqué los espacios libres de cada base de datos por si compactar y truncar podrían liberar algún espacio importante, pero no era el caso.
(imagen
Servidor Externo de Lenguaje Python en un contenedor
La primera vez que se intenta iniciar un servidor externo de lenguaje Python (de aquí en adelante Gateway de Python), en la versión en contenedor, intenta ejecutar cierto código para detectar si está instalado el paquete python3-venv.
La imagen que está en containers.intersystems.com:
- a la fecha de este artículo es la versión 2021.1.0.215.0
- está basada en Ubuntu 18 LTS
- viene con python 3.6.9 instalado
Para trascender al contenedor en inicio de nuestro Gateway de Python - para las actualizaciones por ejemplo - es necesario tener un punto
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.
Entonces, necesitamos personalizar el
En algún momento, puede surgir la necesidad de llamar (sentencia CALL en BPL) de manera dinámica, porque hay mucha lógica de negocio compartida por distintos orígenes de datos, que da pie a que esa lógica se comparta y no se individualice cada llamada (CALL).
Esto tiene ventajas a nivel de mantenimiento de la lógica definida, catch de errores y administrar los hilos de ejecución de manera centralizada.
Entonces lo normal es que se defina una sentencia FOREACH que ejecute la sentencia CALL según cada ítem que se necesite.
<foreach name='Origenes activos' property='context.FeedOrigenes'Tal como sucede con otros tipos de Host, en ciertos casos de uso nos conviene personalizar el comportamiento de algún Business Operation (BO) de caja. En este caso, tomaré de ejemplo el siguiente EnsLib.REST.GenericOperation
En principio, el caso de uso era un simple Pass Through de una petición HTTPRest, por lo que se decidió usar tanto el BS y el BO core de IRIS para reenviarlo. Sin embargo, el destino de esta petición, necesitaba algunos Header por defecto, que no proporcionaba el request original.
Para efectos del ejemplo, añadiré estos Header a través de un BO personalizado.
Siempre que se trabaja con el repositorio FHIR, se tiene que interactuar con lógica de negocio propia de la institución donde se instala.
Surgió una regla bastante simple, para efectos de demostración, que consiste en validar la existencia de un paciente en el repositorio, aún si es una petición que contiene un Patient Resource enviado vía método POST, lo cuál por definición del estándar FHIR, corresponde a un Create Patient. Las actualizaciones de cualquier recurso FHIR se realizan a través del método HTTP UPDATE, sin embargo podría suceder que por error se nos envíe una petición POST y se
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:
Class Demo.Paciente Extends (%Persistent, %
¡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á!
En mis artículos anteriores, mostré los pasos para conectar, recuperar y guardar datos en Caché desde Appeon PowerBuilder usando ODBC.
En este artículo, mostraré cómo eliminar datos de Caché con Appeon PowerBuilder (https://www.appeon.com/products/powerbuilder) usando ODBC..png)
Estoy usando Company.cls de Samples-Data (https://github.com/intersystems/Samples-Data/tree/master/cls/Sample)
¡Empecemos!
Paso 1:En primer lugar, debemos establecer una conexión (https://community.intersystems.com/post/connecting-cach%C3%A9-appeon-powerbuilder-using-odbc)
Paso 2: Necesitamos crear un objeto de ventana de
¡Hola desarrolladores!
Os traemos el sexto y último tutorial grabado por @David Reche, y disponible en el canal de YouTube de la Comunidad de Desarrolladores en español: Persistencia de Objetos con InterSystems IRIS.
En este tutorial de siete minutos, David nos explicará la persistencia de objetos con InterSystems IRIS.
¡Hola a todos!
Estamos encantados de anunciar una nueva manera de descargar los kits de la "Community Edition" de InterSystems IRIS e IRIS for Health. La "Community Edition" es una versión gratuita para desarrolladores, que hace más sencillo empezar a desarrollar soluciones con IRIS. Ahora se pueden descargar los kits a través del Servicio de Evaluación: evaluation.intersystems.com.
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.
La parte más complicada de crear ML/IA es procesar los datos, depurarlos y hacerlos fiables.
¡Ahí es donde podemos aprovechar el estándar FHIR!
La idea del proyecto muestra cómo podemos
¡Hola Comunidad!
Hemos grabado el webinar que hicimos ayer y lo hemos subido al canal de YouTube de la Comunidad de Desarrolladores en español. Si os perdisteis el webinar o lo queréis volver a ver con más detalle, ya está disponible la grabación!
Alberto Fuentes es uno de los cracks de InterSystems. Así que... si queréis saber todo sobre la Analítica de datos y el Reporting, ¡no os perdáis el vídeo!
¡Hola Comunidad!
Ya están disponibles las grabaciones de todas las sesiones de la Convención Virtual de InterSystems (Virtual Summit) que se celebró en octubre. Podréis acceder a ellas hasta finales de enero.
Si estáis registrados en el evento, este es el acceso a la Plataforma Virtual para Asistentes.
Si no os registrasteis, podéis hacerlo aquí para ver las grabaciones.
Una vez en la Plataforma Virtual para Asistentes, hay que hacer clic en "All Sessions" en el menú y podréis buscar o elegir las sesiones que queráis ver.
Así que... ¡no os lo perdáis! ¡Hay más de 60 sesiones para elegir!
Dadle al Play... ¡y a disfrutar! ![]()
¡Hola desarrolladores!
Os invitamos a un nuevo webinar en español: "Self-Service Analytics & Reporting", el miércoles 17 de noviembre, a las 4:00 PM (CET).
El webinar está dirigido a aquellos perfiles involucrados en proyectos de Analítica de Datos y Business Intelligence.
Durante la presentación, aprenderás a construir entornos que incorporen Self-Service Analytics, empleando herramientas como Tableau, PowerBI y Excel. También aprenderás a generar informes con una solución para Reporting.
Además, conocerás escenarios donde se incorpora información desde distintos orígenes, se procesa y se
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.
En mis artículos anteriores, mostré los pasos para conectar y recuperar datos de Caché desde Appeon PowerBuilder usando ODBC.
En este artículo, mostraré cómo guardar datos en Caché con Appeon PowerBuilder (https://www.appeon.com/products/powerbuilder) usando ODBC..png)
Estoy usando Company.cls de Samples-Data (https://github.com/intersystems/Samples-Data/tree/master/cls/Sample)
¡Empecemos!
Paso 1 : En primer lugar, debemos establecer una conexión (https://community.intersystems.com/post/connecting-cach%C3%A9-appeon-powerbuilder-using-odbc)
Paso 2 : Necesitamos crear un objeto de ventana de
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
Desarrolladores de InterSystems...
¡Os adoramos! Y nos encanta compartir con vosotros esta noticia:
¡Hemos alcanzado la increíble cifra de 10.000 personas registradas en la Comunidad de Desarrolladores! 🎊
En InterSystems, creemos en el poder de la comunidad. Por eso apreciamos de verdad todas vuestras aportaciones y publicaciones durante estos 6 años y estamos deseando continuar el camino junto con vosotros!
¡Hola desarrolladores!
Ya está listo un nuevo concurso de programación de InterSystems:
🏆 Seguridad🏆
Estará activo durante tres semanas: del 15 de noviembre al 5 de diciembre de 2021
Total en premios: $9,450
Página del concurso: https://contest.intersystems.com
¡Hola desarrolladores!
Os invitamos a participar en el Hackathon Europeo de Salud 2021 que tendrá lugar del 19 al 21 de noviembre de 2021. La participación es gratuita y la fecha límite para aplicaciones que compitan en el modo ON-LINE es el 15 de noviembre.
Tendremos un reto de InterSystems allí: "Innova con FHIR". Los premios del reto serán:
🥇1er puesto: 1500 EUR
🥈2º puesto: 1000 EUR
🥉3er puesto: 500 EUR
¡Y todos los participantes de nuestro reto tendrán un premio!
Más abajo puedes consultar todos los detalles sobre nuestro reto. ¿Participarás? ¡Cuéntanoslo respondiendo a la encuesta!
En mi artículo anterior, expliqué los pasos para conectarse a Caché desde Appeon PowerBuilder usando ODBC.
En este artículo, mostraré cómo recuperar datos de Caché con Appeon PowerBuilder (https://www.appeon.com/products/powerbuilder) utilizando ODBC..png)
MODELO RESUMIDO {#1}
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.
| CAMPO | TRAKCARE | OBSERVACIONES |
|---|---|---|
| Gender | APPT_PAPMI_DR->PAPMI_Sex_DR->CTSEX_Gender | Se espera valores "F" y "M" |
| ScheduledWeekDay | {fn DAYOFWEEK(APPT_DateComp) } | Días de la semana Domingo (1) a Sábado (7) |
| ScheduledWeek | {fn WEEK(APPT_DateComp)} | El número |
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).
Pruebas unitarias en ObjectScript
Ya hay mucha documentación sobre cómo escribir pruebas unitarias en ObjectScript, por lo que no repetiré nada de eso. Puedes consultar el Tutorial de Pruebas Unitarias aquí: https://docs.intersystems.com/irislatest/csp/docbook/Doc.View.cls?KE
Hola a todos,
tengo un proceso que recibe una fecha en formato ISO 8601 (YYYY-MM-DDThh:mm:ss+001) a un valor %timestamp.
Ejemplo: set myDatetime = "2021-11-04T11:10:00+0100"
He intentado usar $SYSTEM.SQL.CONVERT(myDatetime,"SQL_TIMESTAMP") pero no funciona.
¿Alguna idea?
Saludos,
Kurro Lopez
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
Por tanto, necesitamos un mecanismo que nos permita asegurar que se ejecuta la Operación, incluso después de un cambio de nodo
Por favor, ustedes ¿podrían
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
.png)

