Article Guillaume Rongier · Nov 21, 2022 2m read

Comment capturer la donnée ?

Normalisation des données de santé

La capture des données est un véritable enjeu d’interopérabilité au sein d’un EDS car les sources et les langages techniques sont fortement hétérogènes.

Les données de santé peuvent provenir des systèmes d’information des hôpitaux, cliniques, centres de lutte contre le cancer, laboratoires, centres d’imagerie, bases nationales …

L’information peut être poussée par la source (HL7v2) ou collectée par l’EDS (FHIR, Web Services tiers et SQL).

La norme HL7v2 présente l’avantage d’être largement répandue dans les hôpitaux.

0
0 58
Article Guillaume Rongier · Oct 19, 2022 13m read

Bonjour, chers développeurs !

Dans cet article, nous allons nous concentrer sur OAuth2, un protocole qui est de plus en plus utilisé en combinaison avec FHIR pour effectuer des autorisations.

Dans cette partie 1, nous allons démarrer le conteneur Docker pour IRIS for Health et Apache, configurer la fonction de serveur d'autorisation OAuth2 sur IRIS for Health, y accéder depuis l'outil de développement REST Postman, et obtenir un jeton d'accès.

0
0 142
Article Guillaume Rongier · Oct 17, 2022 8m read

Bonjour, chers développeurs !

Dans cet article, je vais vous montrer comment configurer le référentiel FHIR + le serveur d'autorisation OAuth2/serveur de ressources sur IRIS for Health en suivant l'article précédent.

Dans la partie 1, nous vous présentons les préparatifs préliminaires, la configuration du serveur d'autorisation OAuth2 et l'obtention du jeton d'accès.
La partie 2 vous explique comment construire un référentiel FHIR et configurer un client/serveur de ressources OAuth2.

0
0 109
Article Guillaume Rongier · Oct 12, 2022 3m read

Attendu depuis très longtemps, le ministre des Solidarités et de la Santé annonçait en mars dernier le lancement d’un appel à projets visant à « accompagner et soutenir la constitution d’entrepôts de données de santé hospitaliers ». 


 

Celui-ci est maintenant lancé !

50 millions d’euros, du programme de relance France 2030 seront consacrés sur la période 2022-2024, à la mise en œuvre d’Entrepôts de Données de Santé au sein des Hôpitaux.Cet appel à projet, porté par la DGOS du Ministère de la Santé et le Health Data Hubs’articule autour de 2 échéances pour déposer les projets, le 11 octobre 2022 et le 12 avril 2023. 

Cet appel à projets va permettre la mise en place et le renforcement d’entrepôts de données de santé (EDS) hospitaliers, coordonnés avec le Health Data Hub. 

Son ambition ? Faire de la France la première nation européenne innovante et souveraine en santé.

Les avantages d’un EDS sont multiples :  

  • Fédérer l’écosystème de santé public et privé autour de projets de recherche et d’innovation
  • Conforter l’avantage compétitif de la France et la souveraineté nationale en matière de données de santé 
  • Doter les organisations de santé d’outils performants au service de leur activité.

Les grandes fonctions d’un EDS sont :

  • la capture des données de santé en provenance de différentes sources internes et externe à l’hôpital
  • la normalisation de toutes ces données hétérogènes
  • le stockagedes données
  • l’exploitationdes données de santé à des fins de réutilisation pour les recherches internes ou externes aux établissements.
0
0 64
Article Guillaume Rongier · Sept 28, 2022 2m read

Nous sommes présent au rendez Meetup FHIR #11 : API Mon Espace Santé - Paris & Online

Welcome de Nicolas :

BIENVENUE par Nicolas RISS

Meetup FHIR #11 : API Mon Espace Santé - Paris & Online

https://esante.gouv.fr/produits-services/ci-sis

Hela Ghariani (DNS)
Mon espace santé et le catalogue de services

Le rôle de l’état n’est pas de faire mais de réguler et proposer des services.

0
0 95
Article Guillaume Rongier · Sept 28, 2022 23m read

Service Iris Healthtoolkit

Vidéo

Utilisation facile de HL7v2 vers FHIR, CDA vers FHIR, FHIR vers HL7v2 en tant que service.

L'objectif de ce projet est de fournir une API REST capable de convertir facilement divers formats de santé. Publiez le format souhaité dans le corps REST, obtenez la réponse dans le nouveau format.

Installation

Clonez ce référentiel

git clone https://github.com/grongierisc/iris-healthtoolkit-service.
0
0 225
InterSystems officiel Guillaume Rongier · Sept 12, 2022 5m read

InterSystems participe aux Rencontres autour de l'appel à projet EDS, organisés par PariSanté Campus et le HDH (Health Data Hub) - Jeudi 12 septembre 2022

image

Nous partageons ici nos notes publiques pour faire avancer le débat et invitons toutes les personnes mentionnées à les annoter, commenter ou amender. Grand merci à @Adeline Icard pour ces lignes !

1
0 192
Article Guillaume Rongier · Août 31, 2022 6m read

Nous continuons à observer les possibilités de Django, et son utilisation avec IRIS. Dans la première partie nous avons regardé comment définir des modèles et se connecter à des tableaux déjà existants dans IRIS, dans la suite nous avons étendu le portail d'administration intégré de Django, avec la possibilité de voir quelles données nous avons dans ces modèles, avec des filtres, l'édition et même la pagination.

Il est temps de passer à l'action, nous allons maintenant créer une API REST, sur Django, basée sur les mêmes données, que nous avons utilisées auparavant à partir du paquet posts-and-tags.

Pour ce faire, nous utiliserons Django REST Framework

Django REST Framework

Le cadre REST de Django est une boîte à outils puissante et flexible permettant de créer des API Web.

Quelques raisons pour lesquelles vous pourriez vouloir utiliser le cadre REST :

  • L'API navigable sur le Web est un avantage considérable pour vos développeurs.
  • Politiques d'authentification comprenant des paquets pour OAuth1a et OAuth2.
  • Sérialisation qui prend en charge les sources de données ORM et non ORM.
  • Personnalisable jusqu'en bas - utilisez simplement des visualisations régulières basées sur des fonctions si vous n'avez pas besoin des fonctionnalités les plus puissantes.
  • Une documentation complète et un support communautaire important.
  • Utilisé par des entreprises de renommée internationale, telles que Mozilla, Red Hat, Heroku et Eventbrite, qui lui font confiance.
0
0 90
Article Guillaume Rongier · Août 29, 2022 9m read

Dans la première partie, j'ai montré comment démarrer un nouveau projet sur Django, ainsi que définir de nouveaux modèles et ajouter des modèles existants.

Cette fois, je vous présenterai un panneau d'administration, qui est disponible dès le départ, et comment il peut être utile.

Remarque importante : ne vous attendez pas à ce que si vous essayez de répéter les actions de cet article, cela fonctionnera pour vous, ce n'est pas le cas. Au cours de l'article, j'ai dû faire quelques corrections dans le projet django-iris, et même dans le pilote DB-API fait par InterSystems pour corriger certains problèmes là aussi, et je pense que ce pilote est encore en développement, et nous aurons un pilote plus stable dans le futur. Considérons que cet article ne fait qu'expliquer comment cela pourrait être si nous avions tous fait.

0
0 90
Article Guillaume Rongier · Août 17, 2022 3m read

Avec les dernières améliorations concernant le support de Python dans IRIS, et la poursuite du travail sur le support de Python DB-API par InterSystems. J'ai implémenté le support IRIS dans le projet Django où Python DB-API est utilisé pour travailler avec d'autres bases de données.

Essayons une application simple sur Django, qui stocke ses données dans IRIS.

todo App

0
0 88
Article Guillaume Rongier · Juil 27, 2022 19m read

Introduction

Cet article a pour but de donner une introduction à ce qu'est gRPC ainsi que de donner un exemple de comment jouer avec le Hello World officiel en utilisant IRIS Embedded Python.

Vous pouvez trouver tout le code exposé ici, dans le référentiel suivant project repo.

gRPC

Le gRPC ( appel de procédure à distance gRPC) est un style architectural d'API basé sur le protocole RPC. Le projet a été créé par Google en 2015 et est sous licence Apache 2.0. Actuellement, le projet est soutenu par la fondation Cloud Native Computing Foundation (CNCF).

0
0 1265
Article Guillaume Rongier · Juil 22, 2022 10m read

Introduction

Depuis la version 2019.2, InterSystems IRIS fournit son API native pour Python comme méthode d'accès aux données haute performance. L'API native vous permet d'interagir directement avec la structure de données IRIS native.

Globales

En tant que développeurs InterSystems, vous êtes probablement déjà familiarisés avec les globales. Nous allons passer en revue les bases au cas où vous souhaiteriez un rafraîchissement, mais n'hésitez pas à passer directement à la section suivante.

InterSystems IRIS utilise des globales pour stocker les données. Une globale est un tableau clairsemé qui se compose de nœuds qui peuvent ou non avoir une valeur et de sous-nœuds. Ce qui suit est un exemple abstrait d'une globale :

Représentation arborescente d'une globale

0
0 134
Article Guillaume Rongier · Juil 8, 2022 3m read

InterSystems Native SDK pour Python est une interface légère pour les API d'InterSystems IRIS qui n'étaient auparavant disponibles que via ObjectScript.

Je suis particulièrement intéressé par la possibilité d'appeler des méthodes ObjectScript, plus précisément des méthodes de classe. Cela fonctionne, et cela fonctionne très bien, mais par défaut, les appels ne supportent que les arguments scalaires : chaînes de caractères, booléens, nombres intégraux et flottants.

Mais si vous voulez :

  • Transmettre ou retourner des structures, telles que des dicts ou des listes
  • Transmettre ou retourner des flux

Vous aurez besoin d'écrire un code glue ou de prendre ce projet (s'installe avec pip install edpy). Le paquet edpy vous donne une signature simple :

call(iris, class_name, method_name, args)

qui vous permet d'appeler n'importe quelle méthode ObjectScript et d'obtenir des résultats en retour.

0
0 73
Article Guillaume Rongier · Juil 6, 2022 11m read

1. intersystems-iris-docker-rest-template

Il s'agit d'un modèle d'une application REST API intégrée en python dans InterSystems IRIS. Elle possède également une spécification OPEN API et peut être développée avec Docker et VSCode.

1. intersystems-iris-docker-rest-template

2. Conditions préalables

3. Installation

3.1. Installation pour le développement

3.2. Portail de gestion et et VSCode

3.3. Avoir le répertoire ouvert à l'intérieur du conteneur

4. Comment cela fonctionne

5. Comment l'utiliser

5.1. Requête POST

5.1.1. Test de la requête POST

5.1.2. Comment fonctionne la requête POST

5.2. Requête GET

5.2.1.

0
0 58
Article Guillaume Rongier · Juil 4, 2022 11m read

Iris-python-template

Projet modèle avec divers codes Python à utiliser pour InterSystems IRIS Community Edition avec conteneur.

Caractéristiques :

  • Notebooks
  • Noyau Python intégré
    • Noyau ObjectScript
    • Noyau Vanilla Python
  • Python intégré
  • Code exemplaire
    • Démonstration de Flask
  • API natives Python d'IRIS
  • Code exemplaire

Diagram

2. Table de matières

0
0 767
Article Guillaume Rongier · Juin 24, 2022 7m read

Dans cette série d'articles en trois parties, il est montré comment vous pouvez utiliser IAM pour ajouter simplement de la sécurité, selon les normes OAuth 2.0, à un service précédemment non authentifié déployé dans IRIS.

Dans la première partie, nous avons fourni des informations sur OAuth 2.0 ainsi que des définitions et des configurations initiales d'IRIS et d'IAM afin de faciliter la compréhension de l'ensemble du processus de sécurisation de vos services.

0
0 231
Article Guillaume Rongier · Juin 22, 2022 4m read

Dans cette série d'articles en trois parties, il est montré comment vous pouvez utiliser IAM pour ajouter simplement de la sécurité, selon les normes OAuth 2.0, à un service précédemment non authentifié déployé dans IRIS.

Dans la première partie, nous avons fourni des informations sur OAuth 2.0 ainsi que des définitions et des configurations initiales d'IRIS et d'IAM afin de faciliter la compréhension de l'ensemble du processus de sécurisation de vos services.

0
0 97
Article Guillaume Rongier · Juin 20, 2022 5m read

Introduction

Aujourd'hui, de nombreuses applications utilisent le cadre d'autorisation ouvert (OAuth) pour accéder aux ressources de toutes sortes de services de manière sûre, fiable et efficace. InterSystems IRIS est déjà compatible avec le cadre OAuth 2.0, en fait, il y a un excellent article dans la communauté concernant OAuth 2.0 et InterSystems IRIS dans le lien suivant ici.

0
0 104
Article Guillaume Rongier · Juin 15, 2022 17m read

Introduction

Nous sommes à l'ère de l'économie multiplateforme et les API sont la "colle " de ce scénario numérique. Étant donné leur importance, les développeurs les considèrent comme un service ou un produit à consommer. Par conséquent, l'expérience d'utilisation est un facteur crucial de leur succès.

Afin d'améliorer cette expérience, des normes de spécification telles que la spécification OpenAPI (OAS) sont de plus en plus adoptées dans le développement des API RESTFul.

IRIS ApiPub - qu'est-ce que c'est ?

2
0 126
Article Guillaume Rongier · Juin 3, 2022 13m read

Class Query dans InterSystems IRIS (et Cache, Ensemble, HealthShare) est un outil utile qui sépare les requêtes SQL du code Object Script. En principe, cela fonctionne comme suit : supposons que vous souhaitiez utiliser la même requête SQL avec différents arguments à plusieurs endroits différents. Dans ce cas, vous pouvez éviter la duplication du code en déclarant le corps de la requête comme une Class Query, puis en appelant cette requête par son nom. Cette approche est également pratique pour les requêtes personnalisées, dans lesquelles la tâche consistant à obtenir la ligne suivante est définie par un développeur. Cela vous intéresse ? Alors lisez la suite !

0
0 160
Article Guillaume Rongier · Mai 27, 2022 5m read

La semaine dernière, nous avons annoncé la Plate-forme de données InterSystems IRIS, notre nouvelle plate-forme complète pour toutes vos activités liées aux données, qu'elles soient transactionnelles, analytiques ou les deux. Nous avons inclus un grand nombre des fonctionnalités que nos clients connaissent et apprécient de Caché et Ensemble, mais dans cet article, nous allons mettre un peu plus en lumière l'une des nouvelles capacités de la plate-forme : SQL Sharding, une nouvelle fonctionnalité puissante dans notre histoire de scalability.

0
0 94
Article Guillaume Rongier · Mai 21, 2022 16m read

Comme nous le savons tous, Caché est une excellente base de données qui accomplit de nombreuses tâches en son sein. Cependant, que faites-vous lorsque vous avez besoin d'accéder à une base de données externe ? Une façon de le faire est d'utiliser la passerelle Caché SQL Gateway via JDBC. Dans cet article, mon objectif est de répondre aux questions suivantes pour vous aider à vous familiariser avec cette technologie et à déboguer certains problèmes courants.

Plan de travail

0
0 307
Article Guillaume Rongier · Mai 6, 2022 4m read

Voici le troisième article de notre courte série sur les innovations d'IRIS SQL qui offrent une expérience plus adaptative et plus performante aux analystes et aux applications requérant des données relationnelles sur IRIS. Il s'agit peut-être du dernier article de cette série pour 2021.2, mais nous prévoyons plusieurs autres améliorations dans ce domaine. Dans cet article, nous allons approfondir un peu plus les statistiques de tableaux supplémentaires que nous commençons à rassembler dans cette version : Histogrammes

0
0 134
Article Guillaume Rongier · Mai 3, 2022 5m read

Voici le deuxième article de notre série sur les améliorations apportées à la version 2021.2 de SQL, qui offre une expérience SQL adaptative et performante. Dans cet article, nous allons examiner les innovations en matière de collecte Table Statistics, qui sont bien sûr le principal élément d'entrée pour la capacité de Run Time Plan Choice que nous avons décrite dans l'article précédent.

0
0 76
Article Guillaume Rongier · Mai 2, 2022 5m read

La version 2021.2 de la plate-forme de données InterSystems IRIS Data Platform comprend de nombreuses nouvelles fonctionnalités intéressantes pour le développement rapide, flexible et sécurisé de vos applications critiques. Embedded Python est certainement la vedette (et pour une bonne raison !), mais en SQL, nous avons également fait un grand pas en avant vers un moteur plus adaptatif qui recueille des informations statistiques détaillées sur les données de votre tableau et les exploite pour fournir les meilleurs plans de requête. Dans cette brève série d'articles, nous allons examiner de plus près trois éléments qui sont nouveaux dans 2021.2 et qui travaillent ensemble vers cet objectif, en commençant par Run Time Plan Choice.

Il est difficile de trouver le bon ordre pour en parler (vous ne pouvez pas imaginer le nombre de fois où je les ai remaniés en rédigeant cet article), car ils s'emboîtent si bien les uns dans les autres. Vous pouvez donc les lire dans un ordre aléatoire smiley.

0
0 66
Article Guillaume Rongier · Avr 13, 2022 7m read

Ce texte est la suite de mon article où j'ai expliqué la structure d'une base de données Caché. Dans cet article, j'ai décrit les types de blocs, les connexions entre eux et leur relation avec les globales. L'article est purement théorique. J'ai fait un projet qui aide à visualiser l'arbre des blocs - et cet article explique comment il fonctionne en détail.

0
0 113
Article Guillaume Rongier · Avr 12, 2022 7m read

Les globales d'InterSystems Caché offrent des fonctionnalités très pratiques pour les développeurs. Mais pourquoi les globales sont-elles si rapides et efficaces ?

Théorie

Fondamentalement, la base de données Caché est un catalogue portant le même nom que la base de données et contenant le fichier CACHE.DAT. Sur les systèmes Unix, la base de données peut également être une partition de disque ordinaire.

Toutes les données dans Caché sont stockées dans des blocs qui, à leur tour, sont organisés sous forme d'un arbre B* équilibré.

0
0 164
Article Guillaume Rongier · Avr 6, 2022 10m read

Dans les parties précédentes (1 et 2) nous avons parlé des globales en tant qu'arbres. Dans cet article, nous allons les considérer comme des listes éparses.

Une liste éparse - est un type de liste où la plupart des valeurs ont une valeur identique.

En pratique, vous verrez souvent des listes éparses si volumineuses qu'il est inutile d'occuper la mémoire avec des éléments identiques. Il est donc judicieux d'organiser les listes éparses de telle sorte que la mémoire ne soit pas gaspillée pour stocker des valeurs en double.

Dans certains langages de programmation, les listes éparses font partie intégrante du langage - par exemple, in J, MATLAB. Dans d'autres langages, il existe des bibliothèques spéciales qui vous permettent de les utiliser. Pour le C++, il s'agit de Eigen et d'autres bibliothèques de ce type.

Les globales sont de bons candidats pour la mise en œuvre de listes éparses pour les raisons suivantes :

0
0 136