Fonctionnalité en construction
Cette fonctionnalité n'est pas encore disponible. Voici ce qui est prévu, pour que vous puissiez juger si elle couvrira votre besoin — et nous dire si ce n'est pas le cas.
État — en cours de développement
Disponibilité prévue — navigateur et serveur
En résumé
Le pipeline d’un projet dessine l’enchaînement qui va de l’entrepôt aux résultats : une base, une cohorte, des scripts, un jeu de données, un tableau de bord. Aujourd’hui, c’est un schéma — il documente votre démarche, il ne l’exécute pas. L’orchestration est en cours de construction.
Cette page ne s'exécute pas encore
Un bandeau le rappelle dans l’application : « Cette vue pipeline est actuellement à titre indicatif uniquement. L’orchestration et l’exécution sont en cours de développement. »
Ce que vous dessinez est enregistré, mais aucun bouton ne lance quoi que ce soit. Pour produire réellement un jeu de données, passez par l’IDE ou par un import de fichier.
Ce que fait le pipeline aujourd’hui
C’est un éditeur de schéma. Vous posez des nœuds sur un canevas, vous les reliez, et l’ensemble s’enregistre tout seul.
Sa valeur est documentaire, et elle n’est pas négligeable : un projet de recherche qui s’étale sur deux ans finit toujours par comporter des étapes que plus personne ne sait reconstituer. Un schéma à jour répond à « d’où sort ce jeu de données ? » sans fouiller l’historique.
Les six types de nœuds
| Nœud | Ce qu’il représente |
|---|---|
| Base de données | Une base liée au projet, choisie dans une liste. Point de départ de la chaîne. |
| Cohorte | Une cohorte du projet, choisie dans une liste. Représente l’étape de filtrage. |
| Scripts | Une liste ordonnée de chemins de fichiers — la transformation. |
| Jeu de données | Le résultat attendu, désigné par un nom que vous saisissez. |
| Tableau de bord | Fin de chaîne. La liaison vers un tableau de bord réel n’est pas encore active. |
| Groupe | Un cadre pour regrouper visuellement des nœuds. Les nœuds déposés dedans suivent ses déplacements. |
On fait glisser un composant depuis le panneau de gauche, on relie les nœuds en tirant d’une poignée à l’autre, et le panneau de droite configure le nœud sélectionné. Tout est enregistré automatiquement — il n’y a pas de bouton d’enregistrement.
Les nœuds Base et Cohorte pointent vers des objets réels
Choisir une base ou une cohorte dans le panneau la rattache réellement au nœud, et le nœud prend son nom. Les nœuds Scripts et Jeu de données, eux, attendent du texte libre : un chemin de fichier, un nom. Rien ne vérifie que le fichier existe.
Deux pipelines à ne pas confondre
Linkr a deux fonctionnalités qui portent ce nom, et elles n’opèrent pas au même endroit.
Pipeline ETL — entrepôt
Base → base. Fonctionne.
Alimente une base à partir d’une autre : c’est là qu’un modèle source est converti en OMOP. Il s’exécute réellement. Voir Pipelines ETL.
Pipeline de projet — cette page
Entrepôt → jeux de données. Schéma seulement.
Décrit l’exploitation de l’entrepôt par un projet : filtrage, transformation, analyse.
Le premier construit l’entrepôt, le second l’exploite. Si vous cherchez à convertir des données vers OMOP, c’est le pipeline ETL qu’il vous faut.
Ce qui est prévu
L’intention est que ce schéma devienne exécutable : un bouton, et toute la chaîne se déroule d’un bout à l’autre.
La chaîne, de la base au tableau de bord
On part d’une base
L’entrepôt, dans son format long.
On en tire une cohorte
Les critères s’appliquent et délimitent la population du jour.
Les scripts s’exécutent dans l’ordre
Calcul des scores, agrégations, nettoyage — en R, en Python ou en SQL.
Un jeu de données en sort
Au format large : une ligne par patient ou par séjour, une colonne par variable.
Le tableau de bord l’affiche
Il lit ce jeu de données : une fois celui-ci rafraîchi, les graphiques le sont aussi.
Ce que cela change : un tableau de bord qui se tient à jour
L’exemple le plus parlant est le pilotage d’un service. Un tableau de bord affiche l’activité de la semaine, l’occupation des lits, les durées de séjour. Aujourd’hui, le tenir à jour suppose que quelqu’un relance les scripts à la main, réimporte le résultat, et vérifie que rien n’a été oublié — chaque jour.
Avec un pipeline exécutable, la même chose tient en une phrase : le pipeline tourne chaque matin, la cohorte se recalcule sur les données de la veille, les scripts produisent le jeu de données, et le tableau de bord affiche des chiffres à jour quand l’équipe arrive.
C’est ce qui sépare une analyse ponctuelle d’un outil de suivi : non pas la qualité des graphiques, mais le fait que personne n’ait à les rafraîchir.
Et le reste du temps
Le modèle de données anticipe déjà l’exécution : chaque nœud porte un statut — en attente, en cours, réussi, en erreur, périmé — ainsi qu’un nombre de lignes et de colonnes. Ces champs sont affichés par l’interface, mais rien ne les alimente pour l’instant.
L’idée directrice est celle d’une chaîne où chaque étape produit une sortie nouvelle sans écraser son entrée : on reprend une étape sans avoir à tout recalculer, et l’on sait toujours d’où vient chaque table. Un statut périmé signale alors qu’une étape amont a changé depuis — donc que le résultat affiché ne correspond plus à ce qui l’a produit.
Le pipeline ne part pas dans l'export du projet
Tant que l’exécution n’existe pas, le contenu du pipeline est exclu de l’export et du versioning : il produirait des différences que personne ne pourrait exploiter. Votre schéma reste donc local à votre installation — il ne suit pas le projet vers un dépôt git ni vers un collègue.
Le compteur « Jeux de données » de la page Résumé lit ce schéma
Il compte les nœuds de type jeu de données dessinés ici, et non le contenu de Laboratoire › Jeux de données. Un écart entre les deux est donc attendu tant que le pipeline n’est pas terminé.
En attendant
Les étapes que ce schéma décrit existent toutes, séparément et pleinement fonctionnelles :
- Cohortes — filtrer les patients, avec exécution et attrition réelles.
- IDE — écrire et exécuter les scripts de transformation.
- Jeux de données — les tables produites, réellement stockées.
- Pipelines ETL — l’autre pipeline, celui qui s’exécute.