|
6 min de lecture
|

SQL on FHIR : fonctionnement, avantages et cas d'utilisation

Résumer cet article avec :
ChatGPTPerplexityClaudeGrok

Démonstration de l'implémentation ELT pour PostgreSQL à l'aide d'Aidbox, du ViewDefinition Builder libre et de Grafana.

Soyons honnêtes — FHIR s'est solidement imposé, et des volumes croissants de données de santé sont désormais stockés au format FHIR. Mais quelle est la façon la plus efficace d'en tirer des informations utiles ?

Dans cet article de blogue, nous explorons comment combler l'écart entre FHIR et SQL grâce à la nouvelle spécification SQL on FHIR v2, rendant les données FHIR non seulement interopérables, mais aussi interrogeables et analysables.

En lisant cet article, vous découvrirez :

  • Ce qu'est SQL on FHIR?
  • Comment l'utiliser concrètement?
  • Comment cette technologie va-t-elle évoluer?

Pourquoi SQL on FHIR?

FHIR est livré avec une API de recherche intégrée, mais elle n'est pas suffisante pour effectuer des requêtes avancées sur les données FHIR. Elle manque de fonctionnalités essentielles telles que les agrégations, les jointures et d'autres outils de base de données dont vous pourriez avoir besoin.

Le principal défi réside dans le fait que les données FHIR sont imbriquées, ce qui s'éloigne de l'approche traditionnelle des bases de données relationnelles à structure plate. Cette différence rend difficile l'exécution directe de requêtes SQL standard. On pourrait comparer cela à tenter d'insérer une cheville carrée dans un trou rond.

Bien sûr, il existe des technologies de bases de données avancées comme JSONB dans PostgreSQL ou Parquet dans Spark SQL qui peuvent gérer des structures de données imbriquées. Cependant, les utilisateurs et les outils sont habitués à travailler avec des tables plates, traditionnelles en SQL.

Pour contourner ce problème, les développeurs peuvent avoir besoin de créer des vues aplaties des données ou d'utiliser des fonctionnalités spécifiques de bases de données qui prennent en charge les structures de données imbriquées.

C'est là qu'intervient SQL on FHIR.

Relier deux mondes pour libérer les données FHIR

La spécification SQL on FHIR propose de définir des vues aplaties des données FHIR de manière standardisée afin de les rendre portables entre les systèmes. Cela signifie que vous pouvez facilement exécuter des requêtes SQL standard sur ces vues aplaties. En termes simples, cela libère les données pour l'écosystème SQL, un peu comme une boîte à outils qui fonctionne aussi bien pour les chevilles rondes que carrées.

Le moteur SQL on FHIR dans Aidbox est actuellement en version préliminaire, mais disponible pour les tests et les commentaires. En savoir plus

Qu'est-ce qu'une vue aplatie?

Dans le contexte SQL, une vue aplatie est une table qui présente les données dans une structure simplifiée à une seule couche. Les développeurs et les ingénieurs de données peuvent définir des vues aplaties à l'aide d'un sous-ensemble d'expressions FHIRPath standardisées. Cela permet aux utilisateurs d'obtenir les données sous une forme qui leur est plus familière.

Utilisez notre ViewDefinition Builder en ligne gratuit pour convertir des données FHIR stockées en représentation JSON en un format tabulaire et aplati, pratique pour l'analyse de données. Accéder au ViewDefinition Builder

Comme nous l'avons mentionné, les données FHIR imbriquées sont organisées en structure hiérarchique, où des éléments d'information sont contenus dans d'autres éléments, créant des couches de données liées entre elles.

Voici comment une ressource Patient est structurée dans FHIR : Voyons comment « traduire » des données FHIR complexes en format tabulaire. Pour ce faire, nous devons créer une View Definition aplatie pour une ressource Patient. Dans notre cas, la vue contiendra les paramètres id du patient, date de naissance, sexe, race et nom.

  • Spécifiez le type de ressource que vous souhaitez aplatir dans la ligne « from ».
  • Utilisez la ligne « select » pour définir les colonnes ainsi que les expressions d'extraction FHIRPath associées.

En résultat, nous créerons la table plate suivante : Prenons maintenant une autre ressource FHIR — Condition : Aplatissons la ressource Condition de la même façon que nous l'avons fait avec la ressource Patient. La vue contiendra les paramètres id, id du patient, code, statut, statut de vérification et date d'enregistrement : En résultat, nous obtiendrons la table plate suivante :

Démarrez avec le serveur FHIR Aidbox pour le stockage des données, les intégrations, l'analytique en santé et bien plus, ou faites appel à notre équipe pour soutenir vos besoins en développement de logiciels.

Données SQL on FHIR standardisées

Une fois que nous disposons de tables plates, nous pouvons exécuter des requêtes complexes permettant de joindre, filtrer, trier et agréger les données de diverses façons. Vous pouvez également utiliser des sous-requêtes, des fonctions de fenêtrage et d'autres fonctionnalités avancées pour extraire exactement les informations dont vous avez besoin.

Par exemple, utilisons la vue Condition aplatie précédemment et trouvons tous les patients ayant une condition de prédiabète à l'aide d'une simple requête SQL : En résultat, nous obtiendrons la table plate suivante : Nous allons maintenant utiliser à la fois les vues Patient et Condition pour obtenir encore plus d'informations. Comptons combien d'hommes et de femmes présentent une condition de prédiabète : Voici ce que nous obtenons : Trouvons maintenant la durée de la condition : La table plate résultante se présente comme suit : SQL Flat table with condition duration Trouvons maintenant la durée moyenne du prédiabète chez les hommes et les femmes : JSON to count average prediabetes duration En résultat, nous obtenons la durée moyenne de la condition pour chaque sexe : SQL average condition duration

En résumé

SQL on FHIR est une approche puissante qui combine la puissance de SQL et de FHIR, vous permettant de travailler avec des données de santé complexes stockées dans des ressources FHIR tout en utilisant les outils et cadres de requêtes SQL familiers.

Voici un bref résumé des avantages :

  • Décisions éclairées : Excelle à extraire des informations significatives à partir de jeux de données FHIR complexes.
  • Terrain familier : Si vous connaissez SQL, vous le maîtriserez facilement.
  • Portabilité : SQL on FHIR utilise FHIRPath pour définir des vues utilisables dans différents systèmes. La communauté FHIR peut définir des vues plates et des requêtes exécutables dans n'importe quel écosystème basé sur SQL.

Dans l'ensemble, SQL on FHIR comble l'écart entre les données FHIR imbriquées et SQL, offrant une façon rationalisée de gérer et d'utiliser efficacement les données de santé.

Avis de non-responsabilité

Il est important de noter que l'utilisation de SQL on FHIR ne remplace pas le besoin des API FHIR, qui sont essentielles pour l'échange de données entre les systèmes de santé et pour la mise en œuvre des normes d'interopérabilité. SQL on FHIR complète ces capacités en offrant une façon d'interagir plus efficacement avec les données de santé au format FHIR à des fins analytiques, de recherche et de rapport. C'est comme avoir une clé universelle qui peut ouvrir de nombreuses portes, facilitant le travail avec les données FHIR dans différentes technologies.

Pour explorer comment SQL on FHIR peut être appliqué dans vos projets, envisagez d'utiliser la version gratuite d'Aidbox. Elle offre un environnement complet pour tester et expérimenter ces capacités, fournissant tous les outils nécessaires sans aucune limitation de fonctionnalités.

L'avenir proche

L'ébauche de SQL on FHIR sera présentée en septembre 2023 au HL7 FHIR Connectathon 34 à Phoenix, en Arizona.

SQL on FHIR v2 est une initiative ouverte qui accueille la participation des parties intéressées. Rejoignez le groupe de travail SQL on FHIR, participez aux discussions et contribuez au développement de cette solution.

Health Samurai pilote activement le groupe de travail SQL on FHIR, également représenté par Google, CSIRO, Microsoft, Philips, NCQA, CQLab, Center Square Solutions et Vermonster. Le groupe de travail est axé sur les implémentations précoces afin de construire une solution standardisée sans dépendance propriétaire.

Le moteur SQL on FHIR de Health Samurai est disponible en version préliminaire et pour les tests. Si vous avez des questions ou des cas d'utilisation spécifiques en tête, n'hésitez pas à les partager. Réservez une réunion pour le voir en action.

Partager cet article
Comments
Comments
Sign in
Loading comments...
Subscribe to our blog

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