|
6 min de lectura
|

SQL on FHIR: Cómo Funciona, Beneficios y Casos de Uso

Resumir este artículo con:
ChatGPTPerplexityClaudeGrok

Demuestre la implementación ELT para PostgreSQL con Aidbox, el ViewDefinition Builder de código abierto y Grafana.

Afrontemos los hechos: FHIR se ha consolidado firmemente con cantidades crecientes de datos de salud almacenados en formato FHIR. Pero ¿cuál es la forma más eficiente de obtener información a partir de estos datos?

En esta entrada del blog exploraremos cómo tender un puente entre FHIR y SQL mediante la nueva especificación SQL on FHIR v2, haciendo que los datos FHIR sean no solo interoperables, sino también consultables y analizables.

A lo largo de la lectura, descubrirá:

  • ¿Qué es SQL on FHIR?
  • ¿Cómo utilizarlo en la práctica?
  • ¿Cómo evolucionará esta tecnología?

¿Por qué SQL on FHIR?

FHIR incluye una API de búsqueda integrada, pero no es suficiente para realizar consultas avanzadas sobre datos FHIR. Carece de funcionalidades esenciales como agregaciones, joins y otras herramientas de base de datos que pueden ser necesarias.

El principal desafío es que los datos FHIR son anidados, lo que se aleja del enfoque tradicional de bases de datos relacionales planas. Esta diferencia dificulta la ejecución directa de consultas SQL estándar. Podría compararse con intentar encajar una pieza cuadrada en un orificio redondo.

Por supuesto, existen tecnologías de bases de datos avanzadas como JSONB en PostgreSQL o Parquet en Spark SQL que pueden gestionar estructuras de datos anidadas. Sin embargo, tanto los usuarios como las herramientas están acostumbrados a trabajar con tablas planas, que son las tradicionales en SQL.

Para solucionar esto, los desarrolladores pueden necesitar crear vistas aplanadas de los datos o utilizar características específicas de la base de datos que admitan estructuras de datos anidadas.

Ahí es donde entra en juego SQL on FHIR.

Uniendo Dos Mundos para Liberar los Datos FHIR

La especificación SQL on FHIR propone definir vistas aplanadas de los datos FHIR de manera estándar para hacerlas portables entre sistemas. Esto significa que puede ejecutar fácilmente consultas SQL estándar sobre estas vistas aplanadas. En pocas palabras, libera los datos para el ecosistema SQL, de manera similar a una caja de herramientas que funciona tanto para piezas redondas como cuadradas.

El motor SQL on FHIR en Aidbox se encuentra actualmente en versión preliminar, pero está disponible para pruebas y comentarios. Más información

¿Qué es una vista aplanada?

En el contexto de SQL, una vista aplanada es una tabla que presenta los datos en una estructura simplificada de una sola capa. Los desarrolladores e ingenieros de datos pueden definir vistas aplanadas utilizando un subconjunto de expresiones FHIRPath estandarizadas. Esto permite a los usuarios obtener los datos con los que están más familiarizados.

Utilice nuestro ViewDefinition Builder en línea y gratuito para convertir datos FHIR almacenados en formato JSON a un formato tabular y plano, ideal para el análisis de datos. Ir al ViewDefinition Builder

Como mencionamos, los datos anidados de FHIR están organizados en una estructura jerárquica, donde las piezas de información están contenidas dentro de otras piezas, creando capas de datos relacionados.

Así es como se estructura un recurso Patient en FHIR: Veamos cómo «traducir» datos FHIR complejos a un formato de tipo tabla. Para ello, necesitamos crear una View Definition aplanada para un recurso Patient. En nuestro caso, la vista contendrá los parámetros id del paciente, fecha de nacimiento, género, raza y nombre.

  • Especifique el tipo de recurso que desea aplanar en la fila «from».
  • Utilice la fila «select» para definir las columnas junto con sus expresiones de extracción FHIRPath asociadas.

Como resultado, crearemos la siguiente tabla plana: Tomemos otro recurso FHIR: Condition: Aplanemos el recurso Condition de la misma manera que hicimos con el recurso Patient. La vista contendrá los parámetros id, id del paciente, código, estado, estado de verificación y fecha de registro: Como resultado, obtendremos la siguiente tabla plana:

Comience con el servidor FHIR de Aidbox para almacenamiento de datos, integraciones, análisis de datos de salud y más, o contrate a nuestro equipo para apoyar sus necesidades de desarrollo de software.

Datos SQL on FHIR estandarizados

Una vez que tenemos las tablas planas, podemos ejecutar consultas complejas que nos permiten combinar, filtrar, ordenar y agregar datos de diversas formas. También puede utilizar subconsultas, funciones de ventana y otras funcionalidades avanzadas para extraer exactamente la información que necesita.

Por ejemplo, usemos la vista Condition aplanada anteriormente y encontremos todos los pacientes con una condición de prediabetes utilizando una consulta SQL sencilla: Como resultado, obtendremos la siguiente tabla plana: Ahora vamos a utilizar las vistas Patient y Condition para obtener aún más información. Contemos cuántos hombres y mujeres tienen una condición de prediabetes: Esto es lo que obtenemos: Ahora averigüemos la duración de la condición: La tabla plana resultante tiene el siguiente aspecto: SQL Flat table with condition duration Ahora encontremos la duración media de la prediabetes para hombres y mujeres: JSON to count average prediabetes duration Como resultado, obtenemos la duración media de la condición para cada género: SQL average condition duration

Conclusión

SQL on FHIR es un enfoque potente que combina el poder de SQL y FHIR, permitiéndole trabajar con datos de salud complejos almacenados en recursos FHIR mientras utiliza herramientas y marcos de consulta SQL familiares.

Un breve resumen de los beneficios:

  • Decisiones inteligentes: Destaca en la extracción de información significativa a partir de conjuntos de datos FHIR complejos.
  • Terreno conocido: Si conoce SQL, lo comprenderá fácilmente.
  • Portabilidad: SQL on FHIR utiliza FHIRPath para definir vistas que pueden usarse en diferentes sistemas. La comunidad FHIR puede definir vistas planas y consultas que pueden ejecutarse en cualquier ecosistema basado en SQL.

En general, SQL on FHIR tiende un puente entre los datos anidados de FHIR y SQL, ofreciendo una manera optimizada de gestionar y utilizar los datos de salud de forma eficaz.

Aviso legal

Es importante señalar que el uso de SQL on FHIR no sustituye la necesidad de las APIs FHIR, que son esenciales para el intercambio de datos entre sistemas sanitarios y para implementar estándares de interoperabilidad. SQL on FHIR complementa estas capacidades proporcionando una forma de interactuar con los datos de salud en formato FHIR de manera más eficaz para fines analíticos, de investigación y de generación de informes. Es como tener una llave universal que puede abrir muchas puertas, facilitando el trabajo con datos FHIR en diferentes tecnologías.

Para explorar cómo SQL on FHIR puede aplicarse en sus proyectos, considere utilizar la versión gratuita de Aidbox. Ofrece un entorno completo para probar y experimentar con estas capacidades, proporcionando todas las herramientas necesarias sin ninguna limitación de funcionalidades.

El Futuro Próximo

El borrador de SQL on FHIR se presentará en septiembre de 2023 en el HL7 FHIR Connectathon 34 en Phoenix, Arizona.

SQL on FHIR v2 es una iniciativa abierta que da la bienvenida a la participación de las partes interesadas. Únase al grupo de trabajo de SQL on FHIR, participe en los debates y contribuya al desarrollo de esta solución.

Health Samurai lidera activamente el Grupo de Trabajo de SQL on FHIR, en el que también participan Google, CSIRO, Microsoft, Philips, NCQA, CQLab, Center Square Solutions y Vermonster. El grupo de trabajo está centrado en implementaciones tempranas para construir una solución estandarizada sin ningún tipo de dependencia de proveedor.

El motor SQL on FHIR de Health Samurai está disponible en versión preliminar para pruebas. Si tiene alguna pregunta o casos de uso específicos en mente, no dude en compartirlos. Reserve una reunión para verlo en acción.

Compartir este artículo
Comments
Comments
Sign in
Loading comments...
Subscribe to our blog

Get the latest articles on FHIR, interoperability, and healthcare IT.