Tips para Implementar Interfaces HL7 V2x Basados en experiencias locales César N. Moreno – Gerente de Sistemas – Griensu S.A. UNIVERSIDAD NACIONAL DE MAR DEL PLATA FACULTAD DE INGENIERÍA 23 de Mayo de 2014 –Mar del Plata- Argentina Agenda Introducción Casos y Tipos de Proyectos de Interoperabilidad implementados. Escenarios de Interoperabilidad CheckList de Tips Selección del protocolo HL7 a aplicar Establecer los estándares involucrados Herramientas, aplicaciones y motores Otras tareas asociadas al desarrollo de una interfaz HL7 Ejemplo de interoperabilidad Algunos resultados obtenidos Casos y Tipos de Proyectos Marcas Tecnologías Tomografía, Ultrasonido, EcoCardiógrafos, RX portátiles, RX Cardiovasculares, Sistemas Telecomandados, Resonador Nuclear Magnético, Digitalizadores FCR, Sistemas de Conversión Directa FDR, Mamografía Digital, Impresoras Láser Secas (placas). sistemas de video endoscopía, enteroscopia, ecoendoscopía, fibroscopios, Monitoreo de pacientes, Neurología y Cardiología. Aplicaciones Estaciones de Trabajo 4D ,Sistemas de Visualización 3D, 4D cardíaco y Wall Motion Tracking en 3D, Estaciones de Trabajo CR y DR, PACS, RIS, Reconocimiento de Voz, HCE, Viewer DICOM, WL. Casos y Tipos de Proyectos Interoperabilidad Área D.P.I. / H.I.S. – E.M.R. HL7 - Datos Demográficos WADO DICOM HL7 - Informe de resultados Estudio / Series / Imágenes - DICOM DICOM IMG DCM Casos y Tipos de Proyectos Interoperabilidad Modalidades y S.I. / E.M.R. Múltiples Proveedores de Sistemas de Información Múltiples Proveedores de Tecnología y Equipamiento R.D.C. . HL7 DCM + Order Entry = R.C. Estrategia de la Institución Objetivos de Calidad y Servicios Lenguaje “A” Escenario Tradicional Lenguaje “B” Sistema “A” Sistemas “B” Motor BD “A” Motor BD “B” Lenguaje “C” Lenguaje “D” Sistemas “C" Sistemas “D” Motor BD “C” Motor BD “D” Escenario Estandarizado Sistema “A” Sistemas “C" Sistemas “B” Sistemas “D” CheckList de Tips 1- Selección del protocolo HL7 más adecuado Documentos vs. Mensajes Documentos y mensajes son “excluyentes”? Es “mejor” utilizar documentos que mensajes? MSH|^~\&|ORIGEN|MDM|LABADT|MDM |200910090249|| ADT^A28|29044|P|2.5 EVN|A28|200910090249 PID|1||30017929^5^M11^ORIGEN^MR^MDM| 11999118^^DNI| MORENO^CESAR NICOLAS^^^|MURANO|19650902| M|||Calle Nro.^^Barrio - Localidad^^^^^|| 5555-8043 15-5555-5555^^^^^^^^^^M^|||M| ||11999118||||||||334| Mejor preguntarse: Cuándo utilizar documentos? Cuándo utilizar mensajes? CheckList de Tips 1- Selección del protocolo HL7 más adecuado Comparativa de Documentos vs. Mensajes Características Estándar de Documentos Estándar de Mensajería Ciclo de Vida Persistente Temporal Comunicación Entre Personas Entre Aplicaciones Relación con los Prestadores Están entrenados para crearlos No entienden bien que significan Aspecto Legal Tienen status legal Ni firma ni validez legal Origen Usos y costumbres de la profesión Ad-Hoc según casos de usos Contexto A nivel de Documento A nivel de Evento (segmentado) Completitud Completo Fragmentado CheckList de Tips 2- Establecer los Estándares involucrados Estándares Disponibles Comunicaciones Seguridad Protocolo de Intercambio Semántico Registros y Tipos de Documentos Perfiles de Implementación Vocabularios Servicios de Terminología CheckList de Tips 2- Establecer los Estándares involucrados 2.1 Estándares de Comunicación Lo más conocido: TCP/IP -> HTTP + XML SOAP , WDLS, UDDI = Web Service Es la única manera? TCP/IP->MLLP ebXML Etc… CheckList de Tips 2- Establecer los Estándares involucrados 2.2 Estándares de Seguridad XMLDSIG: Para firma digital de documentos XML PKI: Combinación de hardware, software, políticas y procedimientos de seguridad para firmar digitalmente. Certificados: Certificados Electrónicos emitidos por entidades públicas y/o autorizados Kerberos: Protocolo de comunicación segura en redes inseguras SAML: Lenguaje de Marcado para Confirmaciones de Seguridad (esquema XML) SSL: Seguridad de la capa de transporte, con un certificado cifrado. HL7 RBAC: Role Based Access Control - Define derechos de acceso según rol del usuario. CheckList de Tips 2- Establecer los Estándares involucrados 2.3 Protocolo de Intercambio Semántico HL7 V2.x: Intercambio a través de mensajería. Generalmente, utilizado para interoperabilidad entre departamentos dentro de una misma Institución de Salud. HL7 V3: Intercambio a través de mensajería. Diversos Dominios y un RIM reducen ambigüedad semántica. Sintáxis en XML. Utiliza principios de POO y UML. HL7 CDA R2:Intercambio de documentos clínicos en distintos niveles de interoperabilidad (sólo contexto, secciones codificadas, entradas codificadas). DICOM/WADO: Protocolo para la comunicación y distribución de imágenes Médicas. Protocolo para acceder (Q&R) a imáges médicas. HL7 Arden Syntax/Gello: Reglas clínicas y evaluación de expresiones. CheckList de Tips 2- Establecer los Estándares involucrados 2.4 Registros y Tipos de Documentos Registros: En HL7 V2: Tablas HL7 y definidas por el Usuario. Tipos de Datos, Identificadores, datos obligatorios y opcionales. Capítulo 8: Tablas Maestras (posibilidad de compartir información entre distintos Sist. de Inf. involucrados). - Campos Codificados (prácticas, diagnósticos, sexo, tipos de muestras, etc.) = Información Tabulada - Identificadores de Entidades (Personas, Pacientes, Médicos, Prestadores, Servicios, Instituciones, etc.) Tipos de Documentos y Procesos “únicos”: No están estandarizados y dependen de la definición que haga cada Institución. -Tipos de Documentos: Anamnesis, Registro de Signos Vitales, Evolución, Solicitudes, Prescripciones, Interconsultas, Epicrisis, Diagnósticos, Informes de Resultados, Tabla de vacunación, etc. - Procesos: MDS, para Admisión , GRD para liquidación a prestadores, etc. CheckList de Tips 2- Establecer los Estándares involucrados 2.5 Perfiles de Implementación Son GUIAS de Implementación, NO son Normativas: Son una idea para documentar una Implementación. - Sugeridas en ‘Implementation Guide’ (v 2.4) - Contiene plantillas (templates) para : -Diagrama de Interfaces -Detalle de delimitadores -Plantilla para tipos de datos -Plantilla para cada mensaje definido -Formulario para segmento ‘Z’ -Matriz de eventos - Especifica ‘cómo se usará el estándar’ en un determinado contexto, la semántica de cada campo y vocabularios controlados que serán utilizados. CheckList de Tips 2- Establecer los Estándares involucrados 2.6 Vocabularios Vocabularios disponibles y maduros para casi todas las áreas: -Laboratorios: LOINC -Secciones y documentos: LOINC -Tipos de doc. y secc. -Anatomía Patológica: SNOMED CT -morfologías, problemas, localizaciones -Hallazgos Clínicos: SNOMED CT, UMLS -Diagnósticos, Motivos de consulta: CIE9. CIE10,CIAP -Procedimientos: LOINC, CPT -Enfermería: NANDA (Diagnósticos), NIC (Intervenciones) ,NOC (Resultados) CheckList de Tips 2- Establecer los Estándares involucrados 2.7 Servicios de Terminología Estándar para Servidor de Terminología: -Contiene un Vocabulario de Interfaz (Tesauro) -Se relaciona a un Vocabulario de referencia SNOMED-CT -Permitiendo que el profesional registre los diagnósticos, procedimientos, fármacos, etc. en lenguaje natural. -Ofrece las salidas que SNOMED-CT tiene mapeado para CIE-10, CIE-9MC, ATC, LOINC , etc. según los fines de la información. Ejemplos: HL7 CTS (Common Terminology Server) API para V3 LexGrid y LexBIG: Clínica Mayo de EEUU STC :Servidor de Terminología Central del HIBA. CheckList de Tips 3- Herramientas, aplicaciones y motores Hay que tomar decisiones acerca de las herramientas de apoyo para: Generación de mensajes: Cómo y cuándo, a partir de nuestros datos, transformarlos y convertirlo en un mensaje HL7 listo para ser enviado. Decodificación de mensajes: Qué hacer cuando se recibe un mensaje y como mapear los datos obtenidos a nuestro Sistema de Información Enviar y recibir mensajes: Reglas y routeo de mensajes Monitoreo y registro de mensajes: Mensajes en cola, con errores, reprocesos, revisión del contenido. CheckList de Tips 3- Herramientas, aplicaciones y motores Desarrollo Propio vs Open Source vs Componentes Comerciales Vs Middleware Desarrollo propio: Los mensajes no son otra cosa que cadenas de caracteres, por lo tanto, podemos agregar el código necesario para construir un mensaje y enviarlo o recibir uno y parsearlo. Ventaja: Libertad, independencia, posibilidad de reutilización posterior. Desventaja: Mas costoso de desarrollar, probar y validad. Mayor posibilidades de error. El parser es complejo de desarrollar y muchas veces se hace sólo parcialmente (los mensajes o capítulos específicos). CheckList de Tips 3- Herramientas, aplicaciones y motores Desarrollo Propio vs Open Source vs Componentes Comerciales Vs Middleware Herramientas de uso libre: Hay API’s para el desarrollo en JAVA, para la construcción de canales de conexión, esquemas para crear mensajes, transformarlos, mapearlos, etc. HAPI : HL7 API para JAVA http://hl7api.sourceforge.net/ MIRTH (Connect/Results/Match) : HL7 V2.x, V3, CDA, xml en gral, DICOM) http://www.mirthcorp.com/community/overview (Hay más pero estas son las mas usadas) CheckList de Tips 3- Herramientas, aplicaciones y motores Desarrollo Propio vs Open Source vs Componentes Comerciales Vs Middleware Componentes comerciales: En general permiten agregar componentes que generan objetos para integrar con programas en Visual Studio, Java, etc o permiten mapear directamente los datos recibidos en mensajes a la base de datos. InterfaceWare Neointegrate IDK Interface Engine Symphonia www.Interfaceware.com www.neotool.com www.linktools.com www.orionhealth.com (Hay más pero estas son las mas usadas) CheckList de Tips 3- Herramientas, aplicaciones y motores Desarrollo Propio vs Open Source vs Componentes Comerciales Vs Middleware Middleware: Suite de herramientas / plataformas que se encargan de todos los aspectos de la integración : comunicación, registro, codificación y decodificación • • • • Biztalk (Microsoft) Healthcare Transaction Base HTB (Oracle) JCAPS (Componentes para BPEL) Oracle Fusion Middleware (Oracle) (Hay más pero estas son las mas usadas) CheckList de Tips 4- Otras tareas asociadas al desarrollo de una interfaz • Identificar los Datos Obligatorios y Opcionales necesarios para el proyecto • Generar una especificación detallada • Escribir el Plan de Pruebas • Detallar el plan de Mantenimiento • Desarrollar un plan de Contingencia • DOCUMENTAR LA IMPLEMENTACIÓN General Specifications of HL7 Interface Connectivity: Network/Web connection Protocol: TCP/IP using Minimum Lower Layer Protocol Record format: HL7 Version 2.2 & 2.3 Method: Receive real-time, individual (ADT, Orders, and Results) messages with acknowledgement of each message before next message is sent. Acknowledgements for received messages are transmitted back on the same port they were received. Standard Incoming or Outbound Message Types ADT (patient data):Admit, transfer, discharge, update, cancel admit, pre-admit, outpatient registration, change MRN (medical record number), change outpatient to inpatient, change inpatient to outpatient. Orders:New orders, discontinue order, hold order, cancel hold, and update order. Reports:Text Reports. Status updates (prelim/final) Addendums Territorio (Hospitales, Médicos Generales, etc.) http(s) HL7 EMR - Electronical Medical Record HL7 DICOM Motor de Integración HL7 HL7 HL7 HL7 ERP PAS LIS RIS HL7 PACS Modalidades best of breed Nivel de Nivel de Nivel de Aplicación Comunic. usuario Web Sistemas verticales Sistemas Horizontales 5- Ejemplos de interoperabilidad Primeros pasos… Evento HL7 Origen Destino Mensaje requerido Agregar Información sobre Persona MPI ADT, RIS, LIS, EMR ADT^A28 Actualizar Información sobre Persona MPI ADT, RIS, LIS, EMR ADT^A31 Admisión de Paciente ADT EMR ADT^A01 Transferencia del Paciente ADT EMR ADT^A02 Alta / Egreso de Paciente ADT EMR ADT^A03 Registración de Paciente Ambulatorio ADT EMR ADT^A04 Order Entry Radiología ADT RIS ORM^O01 Informe de Resultados RIS EMR ORU^R01 Otros eventos…. Evento: Nuevo Paciente Master Patient Index Admisión Traslados Altas MSH|^~\&|ORIGEN|MDM|LABADT|MDM|200910090249||ADT^A28|29044|P|2.5 EVN|A28|200910090249 PID|1||30017929^5^M11^ORIGEN^MR^MDM|11999118^^DNI| MORENO^CESAR NICOLAS^^^|MURANO|19650902| M|||Calle Nro.^^Barrio - Localidad^^^^^|| 5555-8043 15-5555-5555^^^^^^^^^^M^|||M|||11999118||||||||| ADT^A28 =Agregar Información sobre Persona Laboratorio Diagnóstico Por Imágenes Evento: Order Entry Radiología Admisión Traslados Altas PACS Mensaje ORM^O01 Modalidad Diagnóstico Por Imágenes WL DICOM RIS/EMR Informes de Laboratorio Microbiología Diagnóstico Por Imágenes Imágenes del Paciente Muchas Gracias!! GRACIAS