Buscar este blog

Google+ Followers

Seguidores

Vistas a la página totales

viernes, 16 de noviembre de 2018

Guía de implementación FHIR Forge y Simplifier



Una Guía de implementación está compuesta por instrucciones y metodologías que se deben seguir para implementar el estándar FHIR en un determinado ámbito.

El estándar tiene muchos recursos pero no todos se van a usar en una implementación determinada por eso es necesario definir en las guías cuales se van a usar en un determinado ámbito de aplicación.

No solo cuales sino como, que terminologías vamos a usar para comunicar los datos, maestros, federadores, y ver si el estándar contempla todas las necesidades de transmisión de datos que nosotros tenemos.



El Objetivo de la guía es facilitar la comunicación entre los sistemas de salud usando los estándares HL7.
Forge es el editor de perfil oficial HL7® FHIR® y permite adaptar la especificación FHIR para un caso de uso específico es un aspecto importante del estándar FHIR. Este proceso también se conoce como creación de perfiles.



Simplifier®

Simplifier.net permite encontrar trabajos similares de otros programadores. Es una plataforma de colaboración para desarrolladores, diseñadores, arquitectos y gerentes de productos. Las características avanzadas incluyen:
Guía de implementación edición y publicación
Soporte de flujos de trabajo personalizados y gestión de problemas
Gestión de usuarios
Integración de GitHub
Proyectos privados
Validación
Trabaja integrado con Forge, permitiendo tener los recursos FHIR en línea.





Estos estándares son especificaciones para la interoperabilidad entre sistemas de información sanitarios para facilitar el intercambio de información médica.



Analizando y aplicando dicho estándar internacional HL7 en diferentes proyectos, han surgido diferentes escenarios donde ha quedado demostrada la excesiva flexibilidad que ofrecen las especificaciones HL7.



 Debido a esta flexibilidad, se ha optado por una adaptación de estas especificaciones que, aun siendo compatible con el estándar internacional HL7, cubre las necesidades propias del Servicio de Salud.



El principal motivo de la creación de esta guía de implementación en HL7 es disponer de una herramienta pública para su utilización por parte de aquellos proveedores o entidades que quisieran intercomunicar sus sistemas con los propios del entorno del Servicio de Salud.



Otro objetivo de dicha guía es poner en común la experiencia adquirida a través de los diferentes proyectos de interoperabilidad realizados en el entorno del Servicio de Salud y, de esta manera, crear una base sólida para futuros proyectos de intercomunicación de sistemas sanitarios.



La guía define como hacer uso del estándar FHIR para la transmisión en forma de recursos de los datos de facturación y débitos entre prestadores y financiadores de salud.

Se han estudiado los recursos necesarios a intercambiar para hacer un uso acorde a las necesidades en el ámbito de aplicación.




El estándar por sí solo no es suficiente para implementarse, es necesario definir varios elementos para que fusionar en la práctica.  Muchas veces no basta con lo que está definido en el estándar y hace falta para una implementación en particular agregar datos, el estándar FHIR contempla extensiones para hacer esto.

 Este proceso que se llama “profiling” es necesario ya que si bien la especificación FHIR se dirige a todos los países y todos los casos de uso, la creación de perfiles le permite definir el uso local de FHIR. Para adaptar los perfiles en este taller aprendí a usar una herramienta open source llamada Forge®.




Para que el estándar funcione no basta con modificar  el perfil, sino que hay que comunicarlo a todos lo que lo van a usar, para eso se usa otra herramienta open source llamada Simplifier®.


 El objetivo de Simplifier.net es mejorar la interoperabilidad al proporcionar una entrada a todos los perfiles FHIR abiertos y disponibles en el registro.

Simplifier.net hace fácil la lectura de los recursos, los presenta como un árbol estructurado, una tabla o un diagrama UML.



FHIR puede utilizar tres paradigmas de interoperabilidad: Mensajería, Documentos Clínicos y Recursos.  Se seleccionó el paradigma de recursos en forma de transacción por ser el más apropiado, ya que la información no se intercambia para su consumo humano principalmente (paradigma de documentos), ni se espera una respuesta activa (modelo de mensajes) por parte del receptor, sino que se agrupa un conjunto de recursos (ítems de facturación o débitos) para su procesamiento, y este puede ser asincrónico.


El transporte de las transaciones se realiza a través de REST, esto es, se realiza un POST al end point de la aplicación receptora utilizando lo que se denomina en FHIR. La respuesta a cada transacción es SINCRÓNICA, pero solamente consiste en una respuesta general que implica la aceptación de los ítems para su procesamiento o la descripción de errores puntuales, no la aceptación inmediata de los ítems facturables.




El archivo XML o JSON con las transacciones de cada liquidación se envían por correo, medio magnético o FTP del emisor al receptor. En este caso no se recibe respuesta inmediata del financiador sino en forma de débitos una vez procesado el archivo.




Referencias

https://hl7latam.blogspot.com/search?q=simplifier

https://simplifier.net/saluddigital.ar

https://blog.fire.ly/2016/08/08/create-my-first-fhir-implementation-guide-using-simplifier/

http://wiki.hl7.org/index.php?title=FHIR_Implementation_Guides

martes, 13 de noviembre de 2018

¿Como instalar un servidor FHIR Open Source en 15 minutos?


Se puede  usando código abierto instalar un servidor FHIR , tal vez no 15 minutos, pero si estás familiarizado con Maven (y Tomcat) será menos de 10 minutos.

Las instrucciones se pueden encontrar aquí:

http://jamesagnew.github.io/hapi-fhir/doc_jpa.htm

Eso hace que el servidor se ejecute en Tomcat utilizando una base de datos Apache Derby. Reconfigurar para usar otra base de datos también es bastante simple. Una versión que creé se puede encontrar aquí:

https://github.com/KevinMayfield/AyeUp/tree/master/hapi-fhir-jpaserver

Esto supone que ha creado una base de datos en MySQL llamada hapifhir con el usuario fhirjpa y la contraseña fhirjpa

Pero es bastante fácil cambiar esto a lo que quieras modificando FhirServerConfig.java

public DataSource dataSource() { BasicDataSource retVal = new BasicDataSource();  try {  retVal.setDriver(new com.mysql.jdbc.Driver()); } catch (SQLException e) {  // TODO Auto-generated catch block  e.printStackTrace(); } retVal.setUrl("jdbc:mysql://localhost:3306/hapifhir");  retVal.setUsername("fhirjpa"); retVal.setPassword("fhirjpa"); return retVal; }<dependency>  <groupId>mysql</groupId>  <artifactId>mysql-connector-java</artifactId>  <version>5.1.6</version></dependency> 
También agregue los controladores MySQL al proyecto agregando una dependencia en el archibo pom.xml 
Si todo está en orden, debería poder navegar a su servidor APIvia http://localhost:8080/hapi-fhir-jpaserver/ 


La API debe cubrir la mayoría de los requisitos para las aplicaciones y es la misma API que adopta Code4Health Demonstrator (Ripple OSI y Endeavor Health) y NHS England.

No tiene ningún dato, pero puede usar ejemplos del sitio web de FHIR(http://www.hl7.org/FHIR/ u otras personas. Recomiendo usar Postman para trabajar con la API (se admite tanto XML como JSON)


Idealmente, me gustaría poner todo esto en una imagen de docker y luego sería menos de 15 minutos para que se ejecute.

¿Ideal para días de piratería, ya que permite a los desarrolladores trabajar con aplicaciones en lugar de jugar con API y bases de datos?

Tenemos esto en marcha en nuestra confianza en este momento para la evaluación tomando feeds de datos en vivo de nuestros sistemas PAS, Documentos (EDMS) y ED. Hasta ahora ha sido bastante fácil crear aplicaciones de muestra (AngularJS y Mumps!). No hemos poblado completamente la base de datos y el estrés se ha probado, pero se ha mantenido hasta ahora.

Referencias
https://www.openhealthhub.org/t/howto-build-a-health-database-and-fhir-api-server-in-15-mins-using-open-source/155?fbclid=IwAR0VcOTAk1UsMfOH7gOqJJaU7TEzhZma-Y9hUmZXYya_EzEXnlTft-RHB-k

http://jamesagnew.github.io/hapi-fhir/doc_jpa.htm

https://github.com/KevinMayfield/AyeUp/tree/master/hapi-fhir-jpaserver

BUS de Interoperabilidad en Salud HL7 FHIR


Para los sistemas de salud la interoperabilidad es necesaria para lograr una comunicación efectiva entre las distintas instituciones y entidades que integran el sistema de salud, para garantizar el acceso oportuno a la información actualizada del paciente y el conocimiento médico, y así facilitar la atención constante del paciente. 
El BUS de Interoperabilidad en Salud HL7 FHIR esta basado en la arquitectura de software middleware Enterprise Service Bus (ESB) se presenta aquí como una solución para los tres niveles de interoperabilidad según lo define el Grupo de trabajo de interoperabilidad HH7 EHR en su documento técnico definitivo.“Coming  to Terms” (Llegar a un acuerdo).

Un EBS permite que se conecten mediante el estandar HL7 todos los programas y dispositivos de una institución, mejorando notablemente el flujo de información.  Permite la integración por ejemplo con los Sistemas de comunicaciones de archivado de imágenes (PACS) de DICOM y los tomógrafos, ecografos, equipos de rayos digitales, etc  (Estos dispositivos se los conoce como modalidades de DICOM), esto permite procesar y transferir imágenes de DICOM utilizando flujos de mensajes HL7 para tener una mayor disponibilidad de información.



El bus sustituye toda comunicación directa entre dos aplicaciones, de forma que las comunicaciones entre las aplicaciones para consumir sus servicios se hace a través del bus. El bus, además de una arquitectura, es un sistema software de tipo middleware, que recibe peticiones de las aplicaciones clientes y, normalmente basándose en un sistema de mensajería y colas las reenvía a las aplicaciones proveedor de servicio.
El Bus de Interoperabilidad proporciona servicios web, con tecnología REST y con operaciones especificadas por el estándar HL7 FHIR, que define los recursos e interacciones con el servidor. Se puede acceder a las Pautas de implementación del autobús FHIR en www.simplifier.net/saluddigital.ar
Las especificaciones de las interacciones en procesos clínicos específicos se basan en los perfiles de IHE, que definen roles, procesos y requisitos para el intercambio de información en casos específicos.
La codificación de las entidades clínicas se realiza con SNOMED CT, que proporciona el nivel de detalle requerido para los síntomas, signos, diagnósticos, procedimientos, estudios, medicamentos, dispositivos, etc.




Referencias


viernes, 9 de noviembre de 2018

¿Que es el BUS de Interoperabilidad de Salud?

El BUS de Interoperabilidad de Salud, es el medio que facilita la integración y la comunicación de los registros médicos. Esta basado  en un patrón de integración conocido como “Enterprise Service Bus (ESB)” en una arquitectura orientada a servicios (SOA).



Referencias
https://www.argentina.gob.ar/salud/estrategiadigital/interoperabilidad