Artículo
· 16 jun, 2023 Lectura de 10 min
Creando un servicio REST en IRIS

Una de las necesidades más comunes por parte de nuestros clientes es la de la creación de servicios REST que permitan acceder a la información presente en IRIS / HealthConnect. La ventaja de estos servicios REST es que permite el desarrollo de interfaces de usuario personalizadas con las tecnologías más actuales aprovechando la fiabilidad y el rendimiento de IRIS en el back-end.

4 4
2 308

Habitualmente recibimos quejas desde nuestros clientes a cerca de los refrescos automáticos de las páginas web de diseño de BPL y DTL. Esto suele ser un problema común no sólo de usuarios novatos, sino que también de programadores veteranos, es algo común que se olviden de grabar regularmente sus cambios y al cerrarse la sesión o recargarse automáticamente la página se pierda todo el trabajo realizado.

1 3
0 53

Buenos días,

Antes que nada agradecer el tiempo de ustedes al leer, reflexionar y sobre todo responder y aclarar las dudas.

Tenemos una cuestión:

¿Cuál es la forma recomendada de convertir un Objeto de Ensemble a JSON?,

en concreto, para ser más preciso:

¿cuál es la manera idónea de transformar un Mensaje Response con cualquier tipo de Property: %String, %List of String, otros objetos de Ensemble (EsquemasDatos); a un GlobalCharacterStream que represente al JSON? a retornar a Sistema Origen, desde el Servicio.

1 3
0 147

Buenos días, tardes, noches,... wink

Una pequeña reflexión/pregunta para hoy... es una realidad que las nuevas versiones de IRIS for Health son cada vez más potentes en cuanto a capacidades FHIR. Permiten consumir recursos FHIR con extrema facilidad, podemos crear conexiones con end-points de servidores FHIR externos muy facilmente y hacer que IRIS actúe de passthrough o que consuma esos recursos... o, más aún, podemos definir y poner en funcionamiento un repositorio FHIR, literalmente, en menos de 5 minutos.

Sin embargo, hay una cosa que echo en falta en proyectos de tipo FHIR Façade, cuando tenemos que implementar una capa FHIR sobre un sistema que "no habla" FHIR. Se trata de la posiblidad de tener ayuda en nuestro IDE (Studio o VS Code) a la hora de codificar la lógica que crearía el o los objetos dinámicos (%DynamicObject) que representan los recursos FHIR que queremos definir...

0 3
0 97

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 201
Pregunta
· 10 mayo, 2024
Tratar un mensaje como xml

Hola, por un Bussiness Services http, nos llega un mensaje xml, encapsulado en un streamContainer. ¿Cómo puedo envíar el mensaje xml, sin el encapsulamiento, como tal a un bussiness Process? ¿Tendría que definir previamente en una clase el tipo de mensaje xml?, es que en este caso sería muy engorroso ya que por ese punto BS pueden entrar diferentes tipos de Xml, ¿tengo que definir todos previamente para que coja el mensaje de esa clase, o hay alguna forma más rápida sin tener que definirlos uno a uno en ficheros .cls?

0 2
0 88

Buenos días, 🙂

Me gustaría plantear una duda, que tiene que ver cómo gestionar %GlobalCharacterStream que representan JSONS.

Gracias por leer esta cuestión, gracias por su ayuda, y gracias por su tiempo y atención.

En concreto, en un cierto Proceso, estábamos consultando a 2 Operaciones, cuya respuesta convertíamos a una Property llamada informesAutorizadosRangoFechas la cual es %GlobalCharacterStream cuyo contenido es un JSON con la misma estructura.

Es decir, a nivel visual, un ejemplo concreto es el siguiente:

0 2
0 40

¡Hola desarrolladores! Quería compartir hoy un ejemplo muy interesante por parte de Tani Frankel. Se trata de una aplicación sencilla sobre la utilidad SystemPerfomance.

Repasando nuestra documentación sobre la rutina de monitorización ^SystemPerformance (conocida como ^pButtons en versiones anteriores a IRIS), un cliente me dijo «Entiendo todo esto pero ojalá fuese más simple, más sencillo para definir perfiles y gestionarlos, etc.».

Entonces pensé que sería interesante como ejercicio facilitar una pequeña interfaz para hacer esas tareas más sencillas.

El primer paso era envolver en una API basada en clases la rutina actual de ^SystemPerformance.

0 1
0 304

InterSystems ha corregido dos defectos que afectan al backup online de grandes bases de datos. Los backups realizados a través de métodos externos, como snapshots o copias directas de ficheros, no están afectados. Estos defectos existen en todas las versiones de los productos de InterSystems.

0 1
0 129

Hola,

Estamos muy interesados en estudiar DICOM en profundidad, tanto el estándar en sí como su relación con HealthShare.

¿Podríais indicarnos algunas buenas referencias: documentación, cursos, libros, pdfs, explicaciones; para entender de qué va este estándar y cómo funciona?

Gracias por sus respuestas

Hemos leído:

https://dicom.nema.org/medical/dicom/current/output/html/part01.html

0 1
0 104

Recientemente me encontré con un HS Caché que no arranca informando que la Collation 30 no está disponible, pero no he encontrado una manera fácil de saber qué colación es 30.

Ejecutando el siguiente comando devuelve las Collations de la locale actual, pero no de todas ellas

Set Rset = ##class(%ResultSet).%New("%Library.Collate:CollationList")

d Rset.Execute()

While (Rset.Next()) {zw Rset.Number_": "_Rset.Name}

Gracias

0 1
0 125

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 64

Hola todos,

Quiero compartir un sencillo y rápido método que puede usarse para habilitar ssl con un certificado auto-firmado en una instancia de desarrollo local de IRIS/HealthShare. Esto permite probar funciones específicas de https, como OAuth.

1. Instalar OpenSSL

Windows: https://slproweb.com/download/Win64OpenSSL_Light-1_1_1g.exe

Debian Linux: $ sudo apt-get -y install openssl

RHEL: $ sudo yum install openssl

1 1
0 155
Artículo
· 26 feb, 2020 Lectura de 1 min
Desactivación de una producción Ensemble

No pretendo decir que esto sea una guía de "buenas prácticas", pero estoy en una situación particular en la que necesito impedir que los usuarios inicien una producción de Ensemble “retirada” en un namespace renombrado. Sigue siendo un namespace activo, por lo que debemos mantenerlo disponible para acceder al visor de mensajes... afortunadamente, solo por un tiempo.

Es un truco …

3 0
0 158

Hola a todos.

Me encontré con algunos problemas cuando configuré los scripts por lotes de freeze/thaw para usarlos con VMWare en un ecosistema de Windows, y quería compartir lo que encontré por si pudiera ayudar a otros. Esto se llevó a cabo en un entorno que utiliza HealthConnect 2019.1.x.

0 0
0 98

¡Hola desarrolladores!

Nos complace anunciaros que vamos a ofrecer una convocatoria gratuita para un examen de certificación de InterSystems a todas las personas inscritas en el Global Summit 2022. El precio habitual de estos exámenes es de 150$ por examen.

Los exámenes deberán realizarse durante una de las 7 sesiones vigiladas que habrá durante la Convención.

0 0
0 132
Artículo
· 14 dic, 2022 Lectura de 1 min
Rutinas con privilegios y $Roles

Las rutinas con privilegios te permiten elevar los roles de un usuario mientras las utiliza. Estas rutinas con privilegios (Privileged Routine Application) pueden utilizarse con rutinas y también con clases / métodos.

Cuando las utilices, es importante asegurarse de incluir new $ROLES, antes de elevar los privilegios con AddRoles(). Por ejemplo:

 new $ROLES
 set status=$System.Security.AddRoles("MyPrivilegedRoutineApplication")

0 0
0 98
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 203

InterSystems FAQ

Puedes evitar este error especificando un objeto de tipo stream como argumento de la función %ToJSON usando durante la generación del string JSON desde el objeto dinámico.

A continuación podéis ver un ejemplo.

1 0
0 92
InterSystems Official
· 2 mar, 2020
Aviso: LDAP Active Directory Connections

Desde marzo de 2020, Microsoft planea lanzar una serie de actualizaciones de seguridad que harán que los servidores Active Directory (AD) de Windows rechacen vínculos de canales no cifrados. Para más detalles de los cambios en Active Directory, pueden consultar el aviso de seguridad de Microsoft: ADV190023.

1 0
0 166

¡Hola a todos!

Hace poco aprendí algo nuevo mientras trabajaba en un problema con el Centro de Soporte Internacional (WRC), y quería compartirlo con todos por si pudiera ayudar a alguien más.

Escenario:

Tienes archivos que se escriben inexplicablemente en una carpeta de tu servidor y, debido a la cantidad de archivos en la carpeta y al rendimiento general del sistema, no es posible trabajar sobre los archivos para localizar el origen.

0 0
0 500

Schematron es un lenguaje de validación basado en reglas para hacer aserciones/afirmaciones sobre la presencia o ausencia de ciertos patrones en documentos XML. Un Schematron se refiere a una colección de una o más reglas que contienen pruebas. Los Schematron están escritos en una forma de XML, lo que los hace relativamente fáciles de inspeccionar, comprender y escribir para todos, incluso los que no son programadores.

0 0
0 267

27 de abril de 2023

InterSystems ha corregido un defecto que puede provocar la corrupción de las bases de datos y los ficheros journal en sistemas AIX con IBM POWER8 o procesadores POWER posteriores. Este defecto solo se puede desencadenar cuando se utiliza la encriptación de base de datos o de journal.

Para que se desencadene este defecto, se requieren las siguientes condiciones:

Si el entorno cumple todas estas condiciones, entonces la key utilizada para la encriptación de la base de datos o journal, puede corromperse.

0 0
0 62

Al evaluar una notificación de soporte de IBM, InterSystems ha determinado un impacto potencial para nuestros clientes. La notificación en cuestión es:

Memory Leak in std::string for programs built with xlclang++ 16.1.0 in the presence of the 17.1.1 libc++.a

Este problema afecta a las versiones 2022.x y 2023.x de:

  • InterSystems IRIS® data platform
  • InterSystems IRIS for Health™
  • HealthShare® Health Connect

También afecta a otros productos de InterSystems basados en la familia de productos InterSystems IRIS.

0 0
0 75