MariaDB y FOSS en infraestructura
    de salud y estándares – Caso
                ASSE
                 Ing. Nelson Calero, OCP
                nelson.calero@gmail.com


       MySQL / NoSQL / Cloud Latin America Conference
                 Miércoles 27 de Junio 2012
1/29
                  Buenos Aires, Argentina
Agenda


 1 – Introducción a informática en salud y
 estándares
 2 - Informática en ASSE
 3 – Planes




2/29
Informática en salud

• Problema clásico de múltiples proveedores
   – Muchos sistemas desacoplados
   – Sin codificación unificada
   – Tecnología variada
   – Operación costosa (integración manual)


• Equipamiento médico con tecnología propietaria
   – Laboratorio
   – Imágenes
   – Dispositivos de cuidado de pacientes
   – ...
3/29
Informática en salud

Normas de calidad y metas prestacionales impuestas por
gobiernos :

       – En USA:
          • CAHPS - Consumer Assessment of Healthcare
            Providers and Systems
          • HEDIS - Healthcare Effectiveness Data and
            Information Set

       – En Uruguay: Metas Prestacionales del MSP
4/29
Informática en salud

Ejemplo de Metas Prestacionales del MSP:


• Controles pediátricos anuales al 100% de los niños
  menores de un año
• Control del 100% de las mujeres embarazada
•    20% de los adolescentes, adultos y adultos mayores
    afiliados tengan médico de referencia




5/29
Informática en salud

• http://www.openehr.org/
  ”The principal challenge for health ICT is to represent the
  semantics of the sector, which are far more complex than in
  other industries. Doing this requires a knowledge-oriented
  computing framework that includes ontologies, terminology
  and a semantically enabled health computing platform in
  which complex meaning can be represented and shared. At
  the same time it must support the economically viable
  construction of maintainable and adaptable health
  computing systems and patient-centric electronic health
  records (EHRs).”


6/29
Informática en salud
 Varias organizaciones promueven estándares
 •   OpenEHR foundation
      – Gestión, almacenamiento e intercambio de registros médicos
        electrónicos
      – Modelos clínicos basados en Arquetipos – de contenido y procesos
 •   HL7 - Health Level Seven
      – Framework (HDF), mensajería, documentos (CDA), modelos (RIM)
      – HL7 V2 (1989) y V3 (2005), CDA v2, DSS
 •   IHE - Integrating the Healthcare Enterprise
      – Dominios, Perfiles, protocolos, estructura de documentos, codificación
      – European Committee for Standardization (CEN)
         • EN 13606 – intercambio. Inlcuido en OpenEHR
 •   Codificaciones : CIE-10, SNOMED, ICD9CM, LOINC, NDC, etc.
7/29 No definen implementación, basados en interoperabilidad
  •
Informática en salud

• Dominios IHE
   – IHE Anatomic Pathology (ANAPATH)
   – IHE Cardiology (CARD)
   – IHE Dental (DENT)
   – IHE Endoscopy (ENDO)
   – IHE Eye Care (EYECARE)
   – IHE IT Infrastructure (ITI)
   – IHE Laboratory (LAB)
   – IHE Patient Care Coordination (PCC)
   – IHE Patient Care Device (PCD)
   – IHE Pharmacy (PHARM)
   – IHE Quality, Research and Public Health (QRPH)
   – IHE Radiation Oncology (RO)
    – IHE Radiology (RAD)
8/29
Informática en salud

• Algunos componentes de Infraestructura
   – Identificación - Patient Identifier Cross Referencing
     (PIX)
   – Audit Trail and Node Authentication (ATNA)
   – IHE : 19 perfiles estables, 12 en evaluación
      • Enterprise User Authentication
      • Multi-Patient Queries
      • Basic Patient Privacy Consents
      • Lista completa:
        http://wiki.ihe.net/index.php?title=Profiles
9/29
Informática en salud

• Documentos
    – HL7 Clinical Document Architecture (CDA)
        • Documento XML que define estructura y
          semántica
    – IHE Cross Enterprise Document Sharing (XDS)
        •   Registro - almacena metadata
        •   Repositorio - almacena documentos
        •   No restringe formato : incluye HL7 CDA, DICOM
        •   Consultas al registro en SQL
10/29
Informática en salud

• Documentos XDS
    – Identificación única (OIDs)
    – Firmados
    – Protegidos de accesos no autorizados. Se
      permiten accesos con consentimiento.
    – Registro central + Repositorio
    – Formato XML (ebXML - Electronic Business
      using eXtensible Markup Language)
    – Uso de codificaciones – LOINC, SNOMED, etc.
11/29
Informática en salud

Ejemplo de componente OID cédula de identidad Uruguaya:
 <recordTarget>
  <patientRole>
    <typeId extension="19881551" root="2.16.840.1.113883.2.14.2.1"
        assigningAuthorityName="Ministerio del Interior"/>
        …...
    <patient>
         <name>
         </name>
         …...
    </patient>
  </patientRole>
 </recordTarget>
12/29
Informática en salud

Software disponible
• IHEos – implementación XDS, Java, Open Source, alpha
   – Servidor público para test http://ihexds.nist.gov/ (National
     Institute of Standards)
• Open Health Tools  https://www.projects.openhealthtools.org
   – OpenPIXpdq - http://openpixpdq.sourceforge.net/
   – OpenEMPI - Open Enterprise Master Patient Index
• OpenEHR – implementación de referencia en Java
  http://openehr.org
• OpenCDS – implementación de HL7 DSS
  http://www.opencds.org/

13/29
Informática en ASSE
• Administración de Servicios de Salud del Estado - Uruguay
• Creada por Ley en el año 1987
• Se convierte en Organismo Descentralizado en 2007
• En 2010 se promueve la Unidad de Informática (creada en 2008) a una
  Dirección de Informática
• Presencia en los 19 departamentos
• 813 unidades de Atención de 1er. Nivel de Atención
• 46 hospitales de 2do. y 3er. Nivel de Atención
• Indicadores de Gestión, número total de:
        •   camas de dotación: 6.074
        •   intervenciones quirúrgicas: 53.989
        •   egresos 162.632
        •   consultas ambulatorias: 7.717.411
• 28.873 funcionarios
• Aproximadamente 4.000 puestos de trabajo en total
14/29
Informática en ASSE

• Sistemas diversos
    – Desarrollos in-house
    – Outsourcing
    – Productos de terceros
        • Compras
        • Donaciones
        • Impuestos por el gobierno – SIIAS, SIIF



15/29
Tecnologías diversas
  – Apache HTTP server - servidor web interno
  – Bacula - Respaldos
  – BIND - Servidor de nombres de dominios
  – GLPI / OCS Inventory - Gestión de tareas informáticas e inventario
  – JBoss - Contenedor JEE
  – Libreoffice - Ofimática
  – Mantis - Gestión de incidentes
  – Mediawiki - Repositorio ágil para documentación interna diversa
  – Mozilla ( Firefox + Thunderbird ) - Navegación y correo electrónico
  – MRBS - Reserva de salas de reuniones
  – OpenLDAP - Servidor de directorio
  – Redmine - Aplicación web de gestión de proyectos
  – SaMBa - Servidor de archivos compatible con windows
  – Subversion - Versionado del software
  – Tomcat - Contenedor de JEE Servlets
  – Zabbix - Plataforma de monitoreo
  – Zimbra - Servidor de Correo electrónico
16/29
Tecnologías diversas (cont.)


• Bases de datos
   – MariaDB
   – PostgreSQL
   – Oracle (Standard Edition)


• Alta disponibilidad 
   – Réplicas y stand-by manual



17/29
Oportunidades


Proyectos de grado de la carrera de Ingeniería en Computación.
Ejemplos (año 2010):
   • Implantación de Pentaho (datawarehouse)
   • Estudios de viabilidad de utilización de RDBMS FOSS en nuestro
   contexto

Hay sistemas propios que ya están generando CDAs
 OpenSIH - http://sourceforge.net/projects/opensih/
   • Originado en el Hosp. Maciel (2007)
   • Orientado a estándares de informática médica
   • Integra: JBoss / Seam / OpenLDAP / MySQL
   • Desplegado desde 2011 en todas las áreas quirúrgicas de ASSE
 Sistema de historia clínica en desarrollo
18/29
Por qué MariaDB?


    • Directiva de usar tecnologías F.O.S.S.
    • Experiencia por grupos de desarrollo y proveedores en el
    uso de MySQL
    • Problemas conocidos de Genexus 9 con PostgreSQL
    • Funcionalidades de SQL usadas por aplicativos es
    standard, no limita al uso de un motor en particular
    • Soluciones de alta disponibilidad simples y a bajo costo
    • Madurez necesaria para soportar sistemas de producción
    • Se utiliza sistema operativo OpenSuse, quien reemplazó
    MySQL por MariaDB en versión 12.1
    • A largo plazo se podrán usar paquetes estándares, pero
    involucran alineación con políticas de productos/desarrollos
19/29
Foco a corto plazo


0) Implementar soluciones que eliminen los problemas clásicos
    • Datos redundantes (mismos códigos en bases distintas)
    • Mismos datos codificados diferente (distintos códigos en bases
    distintas)
    • Simplificar administración uniformizando tecnología
         • Maniobras más seguras
         • Actualización de versiones simple
         • Menos ambientes para administrar:
           (Desa, test, preprod, prod, qa, capa) x #motores x #aplicaciones
    • Ir a estándares puede ser un salto grande en algunas aplicaciones.
    Adopción gradual modularizando funcionalidades es la clave.


20/29
Foco a corto plazo


1) Implementar repositorio de documentos.
Alternativas:
    • XDS: repositorio metadata OLTP + documentos LOB
       • Solución clásica, puede usar filesystem para documentos

    • Repositorio CDA usando motores XML
        • Considerar performance y seguridad
        • Volumen de datos a manejar
        • Capacidad de distribuir datos de forma nativa (sharding)

2) Implementar PIX

3) Implementar ATNA
21/29
1) Repositorio de documentos


LOBs en MySQL:
  • Tipo de datos TINYBLOB, BLOB, MEDIUMBLOB, y LONGBLOB
  • No pueden usarse en MEMORY engine
  • Indexado?

Alternativa – Sphinx: servidor full text search
    • xmlpipe2 data source indexa documentos XML




22/29
XML en MySQL


Solo hay XPath sobre strings: ExtractValue

mysql> SELECT ExtractValue(
    ->   '<a><b c="1">X</b><b c="2">Y</b></a>',
    ->     'a/b'
    -> ) AS result;
+--------+
| result |
+--------+
| X Y    |
+--------+
1 row in set (0.01 sec)


23/29
Motores XML


Alternativas OpenSource:

    • eXist-db - http://exist-db.org/

    • BerkelyDB – Oracle

    • Sedna - http://sedna.org/

Plan: instalar virtuales con cada solución, evaluarlas con carga,
implementar soluciones usando MariaDB y plugins cuando sea
necesario.


24/29
2) PIX - OpenPIX




25/29
2) PIX


Desafíos:

    • OpenPIX integrado con eMPI

    • Sistema actual de identificación de personas puede ser extendido
    (actualmente usa PostgreSQL)

    • El volumen de beneficiarios (+1:) permite usar soluciones en
    memoria
        • Se necesita escalar en la medida que aumente la
        interoperabilidad con sistemas internos y externos


26/29
3) ATNA


Audit Trail Server
   • nsyslogd
   • estándares de logueo en aplicativos

Transacciones seguras
   • certificados Bi-direccionales




27/29
Conclusiones

    • Mucho por hacer

    • Interoperabilidad es la prioridad

    • Alta disponibilidad de la plataforma requiere tener menos
    heterogeneidad de tecnologías/sistemas para ser simple de operar

    • La academia es una buena opción para compensar la falta de
    profesionales con experiencia en tecnologías libres

    • Dificultad en conseguir proveedores que soporten soluciones tan
    específicas

    • Próxima presentación: resultados
28/29
¿Preguntas?




        nelson.calero@gmail.com

29/29

MariaDB y FOSS en infraestructura de salud y estándares

  • 1.
    MariaDB y FOSSen infraestructura de salud y estándares – Caso ASSE Ing. Nelson Calero, OCP nelson.calero@gmail.com MySQL / NoSQL / Cloud Latin America Conference Miércoles 27 de Junio 2012 1/29 Buenos Aires, Argentina
  • 2.
    Agenda 1 –Introducción a informática en salud y estándares 2 - Informática en ASSE 3 – Planes 2/29
  • 3.
    Informática en salud •Problema clásico de múltiples proveedores – Muchos sistemas desacoplados – Sin codificación unificada – Tecnología variada – Operación costosa (integración manual) • Equipamiento médico con tecnología propietaria – Laboratorio – Imágenes – Dispositivos de cuidado de pacientes – ... 3/29
  • 4.
    Informática en salud Normasde calidad y metas prestacionales impuestas por gobiernos : – En USA: • CAHPS - Consumer Assessment of Healthcare Providers and Systems • HEDIS - Healthcare Effectiveness Data and Information Set – En Uruguay: Metas Prestacionales del MSP 4/29
  • 5.
    Informática en salud Ejemplode Metas Prestacionales del MSP: • Controles pediátricos anuales al 100% de los niños menores de un año • Control del 100% de las mujeres embarazada • 20% de los adolescentes, adultos y adultos mayores afiliados tengan médico de referencia 5/29
  • 6.
    Informática en salud •http://www.openehr.org/ ”The principal challenge for health ICT is to represent the semantics of the sector, which are far more complex than in other industries. Doing this requires a knowledge-oriented computing framework that includes ontologies, terminology and a semantically enabled health computing platform in which complex meaning can be represented and shared. At the same time it must support the economically viable construction of maintainable and adaptable health computing systems and patient-centric electronic health records (EHRs).” 6/29
  • 7.
    Informática en salud Varias organizaciones promueven estándares • OpenEHR foundation – Gestión, almacenamiento e intercambio de registros médicos electrónicos – Modelos clínicos basados en Arquetipos – de contenido y procesos • HL7 - Health Level Seven – Framework (HDF), mensajería, documentos (CDA), modelos (RIM) – HL7 V2 (1989) y V3 (2005), CDA v2, DSS • IHE - Integrating the Healthcare Enterprise – Dominios, Perfiles, protocolos, estructura de documentos, codificación – European Committee for Standardization (CEN) • EN 13606 – intercambio. Inlcuido en OpenEHR • Codificaciones : CIE-10, SNOMED, ICD9CM, LOINC, NDC, etc. 7/29 No definen implementación, basados en interoperabilidad •
  • 8.
    Informática en salud •Dominios IHE – IHE Anatomic Pathology (ANAPATH) – IHE Cardiology (CARD) – IHE Dental (DENT) – IHE Endoscopy (ENDO) – IHE Eye Care (EYECARE) – IHE IT Infrastructure (ITI) – IHE Laboratory (LAB) – IHE Patient Care Coordination (PCC) – IHE Patient Care Device (PCD) – IHE Pharmacy (PHARM) – IHE Quality, Research and Public Health (QRPH) – IHE Radiation Oncology (RO) – IHE Radiology (RAD) 8/29
  • 9.
    Informática en salud •Algunos componentes de Infraestructura – Identificación - Patient Identifier Cross Referencing (PIX) – Audit Trail and Node Authentication (ATNA) – IHE : 19 perfiles estables, 12 en evaluación • Enterprise User Authentication • Multi-Patient Queries • Basic Patient Privacy Consents • Lista completa: http://wiki.ihe.net/index.php?title=Profiles 9/29
  • 10.
    Informática en salud •Documentos – HL7 Clinical Document Architecture (CDA) • Documento XML que define estructura y semántica – IHE Cross Enterprise Document Sharing (XDS) • Registro - almacena metadata • Repositorio - almacena documentos • No restringe formato : incluye HL7 CDA, DICOM • Consultas al registro en SQL 10/29
  • 11.
    Informática en salud •Documentos XDS – Identificación única (OIDs) – Firmados – Protegidos de accesos no autorizados. Se permiten accesos con consentimiento. – Registro central + Repositorio – Formato XML (ebXML - Electronic Business using eXtensible Markup Language) – Uso de codificaciones – LOINC, SNOMED, etc. 11/29
  • 12.
    Informática en salud Ejemplode componente OID cédula de identidad Uruguaya: <recordTarget> <patientRole> <typeId extension="19881551" root="2.16.840.1.113883.2.14.2.1" assigningAuthorityName="Ministerio del Interior"/> …... <patient> <name> </name> …... </patient> </patientRole> </recordTarget> 12/29
  • 13.
    Informática en salud Softwaredisponible • IHEos – implementación XDS, Java, Open Source, alpha – Servidor público para test http://ihexds.nist.gov/ (National Institute of Standards) • Open Health Tools  https://www.projects.openhealthtools.org – OpenPIXpdq - http://openpixpdq.sourceforge.net/ – OpenEMPI - Open Enterprise Master Patient Index • OpenEHR – implementación de referencia en Java http://openehr.org • OpenCDS – implementación de HL7 DSS http://www.opencds.org/ 13/29
  • 14.
    Informática en ASSE •Administración de Servicios de Salud del Estado - Uruguay • Creada por Ley en el año 1987 • Se convierte en Organismo Descentralizado en 2007 • En 2010 se promueve la Unidad de Informática (creada en 2008) a una Dirección de Informática • Presencia en los 19 departamentos • 813 unidades de Atención de 1er. Nivel de Atención • 46 hospitales de 2do. y 3er. Nivel de Atención • Indicadores de Gestión, número total de: • camas de dotación: 6.074 • intervenciones quirúrgicas: 53.989 • egresos 162.632 • consultas ambulatorias: 7.717.411 • 28.873 funcionarios • Aproximadamente 4.000 puestos de trabajo en total 14/29
  • 15.
    Informática en ASSE •Sistemas diversos – Desarrollos in-house – Outsourcing – Productos de terceros • Compras • Donaciones • Impuestos por el gobierno – SIIAS, SIIF 15/29
  • 16.
    Tecnologías diversas – Apache HTTP server - servidor web interno – Bacula - Respaldos – BIND - Servidor de nombres de dominios – GLPI / OCS Inventory - Gestión de tareas informáticas e inventario – JBoss - Contenedor JEE – Libreoffice - Ofimática – Mantis - Gestión de incidentes – Mediawiki - Repositorio ágil para documentación interna diversa – Mozilla ( Firefox + Thunderbird ) - Navegación y correo electrónico – MRBS - Reserva de salas de reuniones – OpenLDAP - Servidor de directorio – Redmine - Aplicación web de gestión de proyectos – SaMBa - Servidor de archivos compatible con windows – Subversion - Versionado del software – Tomcat - Contenedor de JEE Servlets – Zabbix - Plataforma de monitoreo – Zimbra - Servidor de Correo electrónico 16/29
  • 17.
    Tecnologías diversas (cont.) •Bases de datos – MariaDB – PostgreSQL – Oracle (Standard Edition) • Alta disponibilidad  – Réplicas y stand-by manual 17/29
  • 18.
    Oportunidades Proyectos de gradode la carrera de Ingeniería en Computación. Ejemplos (año 2010): • Implantación de Pentaho (datawarehouse) • Estudios de viabilidad de utilización de RDBMS FOSS en nuestro contexto Hay sistemas propios que ya están generando CDAs OpenSIH - http://sourceforge.net/projects/opensih/ • Originado en el Hosp. Maciel (2007) • Orientado a estándares de informática médica • Integra: JBoss / Seam / OpenLDAP / MySQL • Desplegado desde 2011 en todas las áreas quirúrgicas de ASSE Sistema de historia clínica en desarrollo 18/29
  • 19.
    Por qué MariaDB? • Directiva de usar tecnologías F.O.S.S. • Experiencia por grupos de desarrollo y proveedores en el uso de MySQL • Problemas conocidos de Genexus 9 con PostgreSQL • Funcionalidades de SQL usadas por aplicativos es standard, no limita al uso de un motor en particular • Soluciones de alta disponibilidad simples y a bajo costo • Madurez necesaria para soportar sistemas de producción • Se utiliza sistema operativo OpenSuse, quien reemplazó MySQL por MariaDB en versión 12.1 • A largo plazo se podrán usar paquetes estándares, pero involucran alineación con políticas de productos/desarrollos 19/29
  • 20.
    Foco a cortoplazo 0) Implementar soluciones que eliminen los problemas clásicos • Datos redundantes (mismos códigos en bases distintas) • Mismos datos codificados diferente (distintos códigos en bases distintas) • Simplificar administración uniformizando tecnología • Maniobras más seguras • Actualización de versiones simple • Menos ambientes para administrar: (Desa, test, preprod, prod, qa, capa) x #motores x #aplicaciones • Ir a estándares puede ser un salto grande en algunas aplicaciones. Adopción gradual modularizando funcionalidades es la clave. 20/29
  • 21.
    Foco a cortoplazo 1) Implementar repositorio de documentos. Alternativas: • XDS: repositorio metadata OLTP + documentos LOB • Solución clásica, puede usar filesystem para documentos • Repositorio CDA usando motores XML • Considerar performance y seguridad • Volumen de datos a manejar • Capacidad de distribuir datos de forma nativa (sharding) 2) Implementar PIX 3) Implementar ATNA 21/29
  • 22.
    1) Repositorio dedocumentos LOBs en MySQL: • Tipo de datos TINYBLOB, BLOB, MEDIUMBLOB, y LONGBLOB • No pueden usarse en MEMORY engine • Indexado? Alternativa – Sphinx: servidor full text search • xmlpipe2 data source indexa documentos XML 22/29
  • 23.
    XML en MySQL Solohay XPath sobre strings: ExtractValue mysql> SELECT ExtractValue( -> '<a><b c="1">X</b><b c="2">Y</b></a>', -> 'a/b' -> ) AS result; +--------+ | result | +--------+ | X Y | +--------+ 1 row in set (0.01 sec) 23/29
  • 24.
    Motores XML Alternativas OpenSource: • eXist-db - http://exist-db.org/ • BerkelyDB – Oracle • Sedna - http://sedna.org/ Plan: instalar virtuales con cada solución, evaluarlas con carga, implementar soluciones usando MariaDB y plugins cuando sea necesario. 24/29
  • 25.
    2) PIX -OpenPIX 25/29
  • 26.
    2) PIX Desafíos: • OpenPIX integrado con eMPI • Sistema actual de identificación de personas puede ser extendido (actualmente usa PostgreSQL) • El volumen de beneficiarios (+1:) permite usar soluciones en memoria • Se necesita escalar en la medida que aumente la interoperabilidad con sistemas internos y externos 26/29
  • 27.
    3) ATNA Audit TrailServer • nsyslogd • estándares de logueo en aplicativos Transacciones seguras • certificados Bi-direccionales 27/29
  • 28.
    Conclusiones • Mucho por hacer • Interoperabilidad es la prioridad • Alta disponibilidad de la plataforma requiere tener menos heterogeneidad de tecnologías/sistemas para ser simple de operar • La academia es una buena opción para compensar la falta de profesionales con experiencia en tecnologías libres • Dificultad en conseguir proveedores que soporten soluciones tan específicas • Próxima presentación: resultados 28/29
  • 29.
    ¿Preguntas? nelson.calero@gmail.com 29/29