Couchbase es una base de datos JSON que se ha convertido en una alternativa a los RDBMS tradicionales. Lo ha conseguido, no sólo proporcionando el almacén clave-valor líder del sector y las mismas capacidades de consulta y traducción ACID que las organizaciones esperan, sino también la flexibilidad de almacenar de forma nativa sus datos en formato JSON. Además, Couchbase también incluye almacenamiento distribuido, escalabilidad multidimensional, alta disponibilidad y replicación entre centros de datos (XDCR). Todo ello en una única Plataforma de Datos Couchbase que se extiende al Edge con Couchbase Mobile.

Couchbase también se ha comprometido a ampliar sus capacidades mucho más allá de lo que se necesita en las aplicaciones RDBMS tradicionales. Con Couchbase Cloud, donde todo está totalmente gestionado y automatizado, proporcionando una segura base de datos como servicio (DBaaS) que simplifica la gestión del esquema de base de datos FHIR mediante el despliegue, la gestión y el funcionamiento de Couchbase Server en entornos multi-nube con sólo unos clics. Couchbase Cloud es flexible, altamente disponible y ofrece una opción económica diferenciada para las empresas que buscan reducir las tareas operativas al tiempo que aprovechan la tecnología NoSQL más potente.

También lo estamos haciendo colaborando con muchos de nuestros clientes de diferentes sectores para entender sus necesidades empresariales y cómo Couchbase puede ayudarles con esos retos. Estos sectores van desde el comercio minorista y electrónico, los viajes y la hostelería, los servicios financieros, la energía y los servicios públicos, hasta la alta tecnología y los juegos.

En este blog, me gustaría centrarme en cómo la base de datos Couchbase se puede utilizar en la industria de la Salud. En concreto, me centraré en la especificación Fast Healthcare Interoperability Resources (FHIR) definida por HL7 FHIR. El motivo de este blog es el nivel de interés de muchos de nuestros clientes que actualmente están planificando o implementando sus aplicaciones compatibles con FHIR utilizando la base de datos Couchbase.

¿Por qué le interesa FHIR con Couchbase?

  1. Las organizaciones buscan desarrollar aplicaciones FHIR, y/o estudian la posibilidad de aprovechar las numerosas ventajas de las bases de datos NoSQL, como la escalabilidad distribuida, de alta disponibilidad, XDCR y multidimensional.
  2. Los arquitectos o desarrolladores necesitan entender cómo la base de datos JSON de Couchbase puede reducir enormemente la complejidad de sus aplicaciones, relegando la compleja búsqueda FHIR [https://www.hl7.org/fhir/searchparameter-registry.html] a la capa del servidor de base de datos.
  3. Los analistas de datos deben saber cómo aprovechar sus conocimientos de SQL para consultar datos FHIR directamente con Couchbase N1QL y Búsqueda de texto completo.
  4. Usted está interesado en averiguar cómo Couchbase N1QL, un SQL para JSON, puede proporcionar una manera eficiente de consultar un modelo de datos relacional, tal como se define por el protocolo FHIR, que es a la vez jerárquico JSON y relacional en la naturaleza.

¿Qué es FHIR?

FHIR® - Recursos de interoperabilidad sanitaria rápida - es un marco de estándares de nueva generación creado por HL7. FHIR (pronunciado "fire") combina las mejores características de HL7 y aprovecha los últimos estándares web, aplicando un estricto enfoque en la implementabilidad de los intercambios de información.

Las aplicaciones FHIR se basan en el concepto de "Recursos". Estos recursos se ensamblan en aplicaciones sanitarias específicas, que abarcan desde las funciones administrativas y clínicas hasta la atención al paciente. FHIR se puede utilizar en una amplia variedad de contextos: aplicaciones para teléfonos móviles, comunicaciones en la nube, intercambio de datos basados en HCE, comunicación con servidores para proveedores sanitarios.

Uno de los objetivos clave de FHIR es especificar una norma que puedan adoptar distintas aplicaciones sanitarias, lo que permitirá la interoperabilidad entre diferentes aplicaciones funcionales y, en última instancia, reducirá el coste de las implantaciones.

Consulte el Sitio web sobre FHIR para más información.

El modelo de datos FHIR

El núcleo de FHIR es la definición común de los distintos tipos de recursos que abarcan todos los aspectos de la asistencia sanitaria. Desde la función administrativa de Paciente, Profesional, Equipo asistencial, Dispositivo, Organización, Ubicación, Servicio sanitario, hasta la Clínica, Diagnóstico, Medicamentos, así como las funciones Financieras como la Cobertura del seguro.

Para el propósito de este artículo, estoy utilizando el conjunto de datos sintéticos de muestra disponible en Synthetic Mass que ha sido generado por Syntheauna simulación de población de pacientes de código abierto facilitada por The MITRE Corporation.

Los datos se pusieron a disposición como un paquete de recursos para cada paciente sintético, que luego se importan a una instancia de la base de datos Couchbase 6.5.

HL7 FHIR API Data Model for Healthcare in NoSQL JSON Database

Algunos puntos destacables sobre el modelo de datos FHIR

  1. El modelo se centra en el objeto "paciente
  2. El tipo de objeto está representado por el campo "resourceType".
  3. La estructura JSON admite un conjunto más rico de información sanitaria que puede conservarse sobre el paciente: nivel de salud, datos de contacto, direcciones, comunicaciones, etc.
  4. Cada objeto tiene un campo "id" identificable de forma única.
  5. Los objetos se referencian entre sí. La mayoría hacen referencia al objeto "paciente".

Por qué Couchbase es adecuado para FHIR

Como se mencionó anteriormente, Couchbase almacena sus datos de forma nativa en JSON, que es un formato de documento legible. Las aplicaciones pueden utilizar las APIs de Clave-Valor, o aprovechar el Lenguaje de Consulta N1QL de Couchbase para manipular los documentos. La ventaja de almacenar los datos en formato JSON, en lugar de como un tipo de columna como en muchos RDBMS, es la facilidad con la que los usuarios pueden acceder a la información contenida. Se puede acceder a los elementos del documento JSON, como campo, objeto matriz y objeto jerárquico, directamente desde el objeto padre sin necesidad de sintaxis adicional.

He aquí un ejemplo del documento Paciente tal y como lo define el FHIR.

HL7 FHIR protocol patient admin document database

Lo que significa para la aplicación FHIR es que los usuarios con experiencia en RDBMS que tengan conocimientos básicos de SQL pueden acceder al paciente FHIR y a los recursos asociados exactamente igual que con el RDBMS tradicional. 

Couchbase N1QL para buscar datos FHIR

Consulta de pacientes por ID

Consulta de pacientes por grupos de edad

  1. La edad del paciente debe calcularse a partir de la fecha actual - DOB.
  2. La consulta utiliza la construcción N1QL LET para definir "edad" y agrupar la edad en "grupo de edad".
  3. Un estándar ANSI GROUP BY y COUNT devuelve el número de pacientes por grupo de edad.

Además, la capacidad de JOIN y UNNEST de documentos con Couchbase N1QL permite a los usuarios consultar información relacionada del paciente.

Consultar a los pacientes y sus afecciones actuales no resueltas 

  1. Un paciente puede tener varios nombres, que se representan en la matriz "name". Esta consulta utiliza el operador ARRAY para filtrar únicamente el elemento oficial de la matriz 'name'.
  2. La consulta une la "condición" con el objeto "paciente" utilizando parte del campo "asunto.referencia" del objeto "condición" con el "id.paciente".
  3. Cada 'paciente' puede tener múltiples condiciones, de ahí la necesidad de aplanar (UNNEST) el array 'condition->code'.
  4. Puede haber varios "clinical.status" para la "condición", pero la consulta sólo debe devolver las condiciones que no se hayan resuelto.
Lista de todos los pacientes que estuvieron en el hospital de Beverley en la semana que comenzó el 2011-08-18

  1. La consulta examina el objeto "encuentro" para averiguar todos los tratamientos del "paciente" en este hospital concreto.
  2. El operador ARRAY se utiliza para obtener el nombre oficial del "paciente".
Lista de pacientes con el detalle de su reclamación al seguro: servicios y coste

  1. El objeto "reclamación" se une al objeto "paciente" para acceder a los datos del paciente.
  2. El objeto 'claim' tiene un array anidado para 'claim->item'.
  3. El 'claim->item' está asociado a un 'productOrService' con una codificación array que contiene la descripción del tratamiento.
  4. El coste es a nivel de siniestro.
Clasificación del recuento de procedimientos por hospitales

  1. El objeto "procedimiento" se UNE al objeto "encuentro" para acceder al hospital donde se administró el procedimiento.
  2. La función N1QL Window RANK se utiliza para asignar un valor por el recuento del procedimiento.
  3. La sugerencia Hash Join se utiliza para mejorar el rendimiento del documento JOIN.

Resumen

Couchbase es muy adecuado para la implementación de FHIR debido al enfoque que utiliza para almacenar los datos en formato JSON. Su potente lenguaje de consulta N1QL permite a los desarrolladores con experiencia en SQL navegar por el modelo de datos FHIR para realizar todas las operaciones CRUD que los usuarios esperarían ver en una base de datos.

Con su capacidad para realizar desde JOIN de documentos hasta el procesamiento avanzado de objetos array incrustados, el lenguaje de consulta N1QL relega todas las necesidades de procesamiento al Servicio de Consulta e Indexación de Couchbase, reduciendo así la carga de las aplicaciones FHIR a tener que realizar todas las asociaciones de objetos.

Como ocurre con cualquier aplicación nueva, siempre será necesario realizar exámenes directos de los datos subyacentes, ya sea por parte de los administradores de la aplicación o de los analistas de datos, que pueden tener la necesidad de realizar búsquedas más allá de las capacidades básicas de búsqueda de FHIR.

En el próximo blog, voy a examinar lo que se necesita para utilizar REST para un enfoque de la API FHIR que puede comunicarse con el servidor Couchbase para proporcionar la básica Requisitos de búsqueda de FHIR.

Recursos

  • Recurso rápido de interoperabilidad sanitaria
  • MasaSintética: "Jason Walonoski, Mark Kramer, Joseph Nichols, Andre Quina, Chris Moesel, Dylan Hall, Carlton Duffett, Kudakwashe Dube, Thomas Gallagher, Scott McLachlan, Synthea: Un enfoque, método y mecanismo de software para generar pacientes sintéticos y la historia clínica electrónica sintética, Revista de la Asociación Americana de Informática Médica, volumen 25, número 3, marzo de 2018, páginas 230-238, https://doi.org/10.1093/jamia/ocx079″.
  • Tutorial N1QL
  • Parámetros de búsqueda FHIR

Autor

Publicado por Binh Le

Binh Le es director de producto principal del servicio de consultas de Couchbase. Antes de Couchbase, trabajó en Oracle y dirigió el equipo de gestión de productos para Sales Clould Analytics y CRM OnDemand. Binh es licenciado en Informática por la Universidad de Brighton, Reino Unido.

Dejar una respuesta