Nueva publicación

Encontrar

Pregunta
· 25 jul, 2024

Read an XML response

I receive response from Business Operation(HTTP GET) as below :

<response>
<message_code>202</message_code>
<message_string>Success/message_string>
</response>

I am not able to read the "message_code" as response.message_code ?
is it because of underscore ?
Is there a way to read it ?

4 comentarios
Comentarios (4)3
Inicie sesión o regístrese para continuar
Artículo
· 25 jul, 2024 Lectura de 28 min

Personnalisation du référentiel FHIR avec Embedded Python

Cet article a pour objectif de fournir au lecteur les informations suivantes:

  • Configuration et utilisation du serveur FHIR
  • Création d'un serveur d'autorisation OAuth2
  • Liaison entre le serveur FHIR et le serveur d'autorisation OAuth2 pour la prise en charge de SMART sur FHIR
  • Utilisation des capacités d'interopérabilité dans "IRIS for Health" pour filtrer les ressources FHIR
  • Création d'une opération personnalisée sur le serveur FHIR

Schéma de l'article:

Schema

Comentarios (0)0
Inicie sesión o regístrese para continuar
Resumen
· 24 jul, 2024

最后七天!积极参与社区互动,赢取本月中文社区最佳贡献奖!

👉最后七天,积极参与社区建设,赢取七月赠书《AI医疗革命》(中文版)!

Hi 开发者们,

站在七月的尾巴上,我们欢迎您继续积极参与社区建设,参加我们按月举办💡“中文社区最佳贡献奖”💡活动。

📅  活动简介

我们会在每个月抽取一名当月积分最高的社区成员,奉上“中文社区最佳贡献奖”,奖品为《AI医疗革命》(中文繁体译版)一本。本书中文简体译版为《超越想象的GPT医疗》,原著The AI REVOLUTION IN MEDICINE(GPT-4 AND BEYOND) 出版于2023年,作者Peter Lee,Carey Goldberg,Isaac Kohane分享了以GPT-4 为代表的大语言模型在医学领域的诸多应用可能性,更重要的是向大家展现了一种可能出现的人- 机相结合的“关系”范式。本书(中文简体译版)也在CHIMA 2024期间作为优秀图书得到了推荐,值得一读。

🎉  哪些成员可以参与?

InterSystems开发者社区中文社区现有成员,以及当月新加入中文社区的成员(非InterSystems员工),均在此次活动范围。

✅如何参与?

我们欢迎您在社区进行以下互动:

  • 发布文章/经验帖;
  • 在Open Exchange发布应用;
  • 在现有的帖子下,积极发布有效评论/回复;
  • 将英文社区的文章翻译到中文社区;
  • 邀请新成员加入开发者社区(如果您邀请了新成员,请通过站内信联系 @Claire Zheng 并告知)。

🎁  获奖须知

  • 每位社区成员仅有一次获奖机会,我们会在抽奖时排除已获得过“中文社区最佳贡献奖”的成员。
  • 我们会于次月公布上月的获奖者,通过开发者社区站内信与获奖者取得联系并进行奖品邮寄。敬请您留意。

 🍀 快来参与吧!🍀 

Artículo
· 24 jul, 2024 Lectura de 4 min

d[IA]gnosis: desarrollando aplicaciones RAG con IRIS for Health

Con la introducción de los tipos de datos vectoriales y la funcionalidad de Vector Search en IRIS se nos abre todo un mundo de posibilidades para el desarrollo de aplicaciones y un ejemplo de estas aplicaciones es la que vi reciéntemente publicada un concurso público de la Consejería de Sanidad de Valencia en la que solicitaban una herramienta para ayudar en la codificación CIE-10 utilizando modelos de IA.

¿Cómo podríamos implementar una aplicación similar a la solicitada? Veamos que necesitaríamos:

  1. Listado de códigos CIE-10, que usaremos como contexto de nuestra aplicación RAG para buscar diagnósticos dentro de los textos libres.
  2. Un modelo entrenado que nos vectorice los textos en los que vamos a buscar equivalencias en los códigos CIE-10.
  3. Las librerías Python necesarias para la ingesta y vectorización de los códigos CIE-10 y los textos.
  4. Un front-end amigable que admita textos sobre los que busquemos posibles diagnósticos.
  5. Orquestación de las solicitudes recibidas desde el front-end.

¿Qué nos proporciona IRIS para cubrir las necesidades anteriores?

  1. Importación de CSV, ya sea usando la funcionalidad de RecordMapper o directamente usando Embedded Python.
  2. Embedded Python nos permite implementar el código Python necesario para generar los vectores haciendo uso del modelo seleccionado.
  3. Publicación de APIs REST a las que se invocará desde la aplicación de front-end.
  4. Producciones de interoperabilidad que permiten el seguimiento de la información dentro de IRIS.

Pues sólo nos queda ver el ejemplo desarrollado:

d[IA]gnosis

Asociado a este artículo tenéis el acceso a la aplicación desarrollada, en los próximos artículos veremos en detalle como implementamos cada una de las funcionalidades, desde la utilización del modelo, el almacenamiento de los vectores y la utilización de las búsquedas vectoriales.

Revisemos la aplicación:

Importando códigos CIE-10

Desde la pantalla de configuración se nos indica el formato que debe seguir el archivo CSV con los códigos CIE-10 que vamos a importar, el proceso de carga y vectorización consume bastante tiempo y recursos, por ello el despliegue del contenedor Docker configura no sólo la memoria RAM utilizable por Docker sino que también la memoria de disco en caso de que los requerimientos superen la RAM asignada:

  # iris
  iris:
    init: true
    container_name: iris
    build:
      context: .
      dockerfile: iris/Dockerfile
    ports:
      - 52774:52773
      - 51774:1972
    volumes:
    - ./shared:/shared
    environment:
    - ISC_DATA_DIRECTORY=/shared/durable
    command: --check-caps false --ISCAgent false
    mem_limit: 30G
    memswap_limit: 32G

El archivo con los códigos CIE-10 está disponible en la ruta del proyecto /shared/cie10/cie10.csv, una vez alcanzado el 100% la aplicación estará lista para ser utilizada.

En nuestra aplicación hemos definido dos funcionalidades distintas para la codificación de diagnósticos, una a partir de los mensajes HL7 recibidos en el sistema y otra basada en textos libres.

Captura de diagnósticos mediante HL7

El proyecto contiene una serie de mensajes de HL7 preparados para realizar pruebas, sólo es necesario copiar el archivo /shared/hl7/messagesa01.hl7 a la carpeta /shared/HL7In y la producción asociada se encargará de extraer el diagnóstico del mismo para mostrarlo en la aplicación web:

Desde la pantalla de solicitudes de diagnóstico podremos ver todos los diagnósticos recibidos vía mensajería HL7, para su codificación a CIE-10 sólo necesitamos pulsar en lupa para mostrar un listado de aquellos códigos CIE-10 más próximo al diagnóstico recibido:

Una vez seleccionado veremos en el listado el diagnóstico y su código CIE-10 asociado, pulsando en el botón con el icono del sobre se generará un mensaje usando el original e incluyendo dentro del segmento del diagnóstico el nuevo seleccionado:

MSH|^~\&|HIS|HULP|EMPI||||ADT^A08|592956|P|2.5.1
EVN|A01|
PID|||1556655212^^^SERMAS^SN~922210^^^HULP^PI||GARCÍA PÉREZ^JUAN^^^||20150403|M|||PASEO PEDRO ÁLVAREZ 195 1 CENTRO^^LEGANÉS^MADRID^28379^SPAIN||555283055^PRN^^JUAN.GARCIA@YAHOO.COM|||||||||||||||||N|
PV1||N
DG1|1||O16.9^Hipertensión materna no especificada, trimestre no especificado^CIE10-ES|Hipertensión gestacional||A||

Dicho mensaje se podrá encontrar en la ruta /shared/HL7Out

Capturas de diagnósticos en texto libre

Desde la opción de Analizador de texto el usuario podrá incluir un texto libre sobre el que se realizará un proceso de análisis. La aplicación buscará en tuplas de 3 palabras lematizadas (eliminando artículos, pronombres y demás palabras poco relavantes). Una vez analizadas el sistema nos mostrará el texto relevante subrayado y los posibles diagnósticos localizados:

Una vez realizado el análisis este podrá ser consultado en cualquier momento desde el histórico de análisis.

Histórico de análisis

Todos los análisis realizados quedan registrados y podrán ser consultados en cualquier momento, pudiendo visualizar todos los posibles códigos CIE-10 disponibles:

En el próximo artículo...

Veremos como mediante Embedded Python utilizamos un modelo LLM específico para la vectorización tanto de los códigos CIE-10 que usaremos como contexto como de los textos libres.

Si tenéis cualquier pregunta o sugerencia no dudéis en escribir un comentario en el artículo.

6 comentarios
Comentarios (6)3
Inicie sesión o regístrese para continuar
Pregunta
· 24 jul, 2024

Mapping Between Management Portal Components and Object Script

Is there documentation that shows the mapping between the management portal components and object script package.class.methods? 
I am searching on-line documentation but have not been successful.
For example, in the management portal  SystemOperation > TaskManager > TaskSchedule  can map to the method:  class(Monitors.Tasks).ListSuspendedTasks().


What would be a similar mapping for SystemOperation > TaskManager > TaskHistory?
I initially thought it would be something similar to class(Monitors.Tasks).ListTaskHistory().

Best Regards,

1 Comentario
Comentarios (1)1
Inicie sesión o regístrese para continuar