Linkr
Accueil Ressources Outils Documentation Blog Démo
EN
  • Qu'est-ce que Linkr ?
  • Modes de déploiement
  • Démarrage rapide
  • Installation locale
  • Votre premier projet
  • Espace de travail, projet, plugin WIP
  • Le pipeline de données WIP
  • Versioning et collaboration WIP
  • Schémas WIP
  • Bases de données WIP
  • Qualité des données WIP
  • Pipelines ETL WIP
  • Présentation
  • Projets d'alignement
  • Vue d'ensemble
  • Concepts cibles
  • Éditeur d'alignements
  • Suggestions
  • Évaluation
  • Export
  • Catalogue de données WIP
  • Cohortes WIP
  • Données individuelles WIP
  • Jeux de données WIP
  • Collections de scripts WIP
  • IDE WIP
  • Tableaux de bord WIP
  • Rapports WIP
  • Wiki WIP
  • Versioning WIP
  • Installation en production WIP
  • Authentification et permissions WIP
  • Configuration WIP
  • Sauvegarde et restauration WIP
  • Créer un plugin WIP
  • Notes de version WIP
  • Glossaire WIP
Documentation Alignement de concepts Éditeur d'alignements

Éditeur d'alignements

L'interface principale pour aligner manuellement les concepts source aux concepts cibles.

En résumé

L’éditeur d’alignements est l’écran principal : à gauche vos concepts source, à droite les concepts cibles. Vous sélectionnez un concept source, vous trouvez son équivalent standard, vous précisez la relation sémantique, et l’alignement est créé en un clic.

Client Disponible en mode client-only — tout fonctionne dans le navigateur, sans backend. Backend Backend (FastAPI) en cours de développement.

Vue générale

L’éditeur est un panneau redimensionnable en deux colonnes, séparé par un diviseur que vous pouvez glisser pour ajuster l’espace selon votre confort de travail :

linkr-v2-b1800b.frama.io
Rechercher un nom, code ou ID…
VocabNom du conceptCode conceptPatientsLignes
ICCAcreatinine serumL00211,8429,614
ICCAlactate bloodL01021,2034,871
ICCAhemoglobinL03011,6887,203
ICCAplatelet countL04119743,120
ICCAWBC countL05128812,954
Jeux de conceptsRechercherSuggestions
creatinine serum
NomCodeVocab.Domaine
Creatinine [Mass/volume] in Serum or Plasma2160-0LOINCMeasurement
Creatinine [Mass/volume] in Blood38483-4LOINCMeasurement
Creatinine [Moles/volume] in Serum or Plasma14682-9LOINCMeasurement
L'éditeur en cours d'utilisation : « creatinine serum » est sélectionnée à gauche, les candidats LOINC apparaissent à droite.

Le flux de travail est toujours le même :

  1. Sélectionner un concept source dans le tableau de gauche.
  2. Trouver le concept cible dans le panneau de droite (via un concept set ou la recherche dans les vocabulaires OHDSI).
  3. Cliquer sur Exact match — ou choisir une autre équivalence sémantique dans le menu déroulant (on y reviendra plus bas).

Concepts source

linkr-v2-b1800b.frama.io
Rechercher un nom, code ou ID…
VocabNom du conceptCode conceptPatientsLignes
ICCAcreatinine serumL00211,8429,614
ICCAlactate bloodL01021,2034,871
ICCAhemoglobinL03011,6887,203
ICCAplatelet countL04119743,120
ICCAWBC countL05128812,954
Le panneau gauche : barre de recherche, filtres en ligne, points de statut et filtre de statut en pied de tableau.

Le tableau de gauche liste tous les concepts à aligner en défilement infini — les lignes se chargent au fur et à mesure que vous faites défiler.

Barre de recherche

Une barre de recherche pleine largeur est disponible au-dessus du tableau. Saisissez un nom, un code ou un identifiant, puis appuyez sur Entrée ou cliquez sur Rechercher. La recherche combine trois stratégies ordonnées par pertinence :

  1. Correspondance exacte sur l’identifiant numérique.
  2. Correspondance partielle (substring) sur le nom et le code.
  3. Correspondance approximative via Jaro-Winkler (seuil ≥ 0,8) — utile pour les fautes de frappe ou les variantes orthographiques.

Colonnes du tableau

Les colonnes disponibles dépendent des données présentes dans votre source. Le bouton en bas du tableau permet d’afficher ou masquer les colonnes :

  • Statut (petit point coloré) — voir ci-dessous.
  • Vocabulaire * — terminologie source (ex. Labo, ICCA…).
  • Catégorie — utile pour filtrer les concepts source par domaine clinique et traiter une catégorie entière d’un coup.
  • ID concept source — identifiant numérique utilisé dans les exports OMOP. Pour les sources fichier sans colonne d’ID, c’est l’ID attribué depuis la vue d’ensemble.
  • Nom du concept — libellé du concept.
  • Code concept * — code local du concept dans votre système source.
  • Patients et Lignes — fréquences observées dans votre base. Indispensables pour prioriser les concepts les plus courants.
  • Métadonnées — visible uniquement quand la colonne Métadonnées (JSON) a été configurée à l’import. Cliquer dessus ouvre la vue de détail du concept.

* colonnes obligatoires à l’import.

Filtres en ligne

Une deuxième rangée d’en-tête, directement sous les titres de colonnes, contient les filtres. Ils se combinent en temps réel :

  • Statut d’alignement — menu déroulant avec les options : Tous · Non alignés · Alignés · Alignés ailleurs.
  • Nom du concept — correspondance exacte sur le texte saisi, à la différence de la barre de recherche qui fait une recherche approximative.
  • Code et ID — champs texte.
  • Vocabulaire, Catégorie, Sous-catégorie, Domaine, Classe — menus multi-sélection, alimentés par les valeurs distinctes présentes dans votre source.

Le point de statut

Chaque ligne commence par un point coloré qui indique l’état d’alignement du concept :

Gris

Non aligné

Vert

Aligné dans ce projet

Bleu

Aligné dans un autre projet

Gris foncé

Ignoré

Point vert — un survol affiche un résumé des alignements existants pour ce concept dans ce projet : concept cible, vocabulaire, équivalence, et les avis reçus.

linkr-v2-b1800b.frama.io
creatinine serum

ALIGNÉ

→ Creatinine [Mass/volume] in Serum or Plasma

LOINC · exactMatch

✓ 2

Survol du point vert : résumé de l'alignement existant.

Point bleu — le même code a déjà été aligné dans un autre projet du workspace. Cliquer dessus ouvre un popover listant ces alignements, avec un bouton Importer pour les rapatrier en un clic dans le projet courant.

linkr-v2-b1800b.frama.io
lactate blood

2 alignements dans d'autres projets

→ Creatinine [Mass/vol] in Serum or Plasma

Projet MIMIC-IV · LOINC · exactMatch

✓ 3

→ Creatinine [Mass/vol] in Serum or Plasma

Projet SIR-Rean · LOINC · closeMatch

✓ 1⚑ 1

Clic sur le point bleu : alignements importables depuis d'autres projets.

Import groupé

L’onglet Évaluation propose un bouton Importer depuis d’autres projets qui permet de sélectionner et importer en une fois les alignements disponibles dans le workspace — pratique quand vous créez un nouveau projet pour une nouvelle base où le travail d’alignement a déjà été fait partiellement ailleurs.

Métadonnées du concept

Si votre source contient des métadonnées, l’icône en bout de ligne ouvre la vue des métadonnées du concept à la place du tableau source. Cette vue affiche selon le contenu :

  • Un tableau de statistiques descriptives (min, médiane, moyenne, max, écart-type…) avec un boxplot.
  • Des graphiques interactifs (histogramme de distribution, graphique en barres, camembert, courbe temporelle par année).
  • Une répartition par unités hospitalières.
  • Un tableau de propriétés libres.
  • Le JSON brut complet (bouton {} en haut à droite).
linkr-v2-b1800b.frama.io

Frequence_cardiaque

ICCA · M0042 · 12 450 lignes · 1 842 patients

Statistiques

Min0
P2565
Médiane78
P7592
Max245
Moyenne82,3
Écart-type18,7

Boxplot

Distribution

Distribution par sexe

Femme(50%)
Homme(50%)

Évolution par année

201920202021202220232024

Unités hospitalières

Réanimation80%
Soins intensifs20%

Propriétés

Unitébpm
FréquenceHoraire
Complétude98 %
SourceMonitorage
La vue des métadonnées : statistiques, boxplot, histogramme, distributions et propriétés du concept source.

Un bouton ← Retour ramène au tableau source, en restant sur le même scroll qu’avant.

Structure JSON attendue

La colonne Métadonnées (JSON) doit contenir un objet JSON. Linkr reconnaît deux formats au choix.

{
  "metadata": {
    "granularité": "Jour",
    "complétude": "98 %"
  },
  "statistics": {
    "min": 0,
    "p25": 45,
    "median": 72,
    "p75": 110,
    "max": 980,
    "mean": 78.4,
    "std": 32.1,
    "count": 12450
  },
  "distributions": [
    {
      "name": "Distribution par sexe",
      "type": "pie",
      "data": [
        { "label": "Femme", "value": 6230 },
        { "label": "Homme", "value": 6220 }
      ]
    },
    {
      "name": "Évolution par année",
      "type": "line",
      "data": [
        { "label": "2020", "value": 3100 },
        { "label": "2021", "value": 4200 }
      ]
    }
  ],
  "properties": [
    { "label": "Unité", "value": "mg/dL" },
    { "label": "Source", "value": "BIOLOGIE" }
  ]
}
CléTypeObligatoireDescription
metadataobjetnonPaires clé/valeur scalaires affichées sous forme de liste.
statisticsobjetnonStatistiques descriptives. Si min, p25, median, p75 et max sont présents, un boxplot est affiché. Alias acceptés : q1/p25, q3/p75, p50/median, sd/std.
distributionstableaunonListe de graphiques. Chaque entrée a un name (titre), un type ("bar", "pie" ou "line", défaut "bar"), et un tableau data d’objets { label, value }.
propertiestableaunonPaires { label, value } affichées dans un tableau de propriétés libres.

Concepts cibles

Le panneau de droite a trois modes, basculables via un sélecteur en haut : Jeux de concepts, Rechercher et Suggestions. Chacun a sa propre logique, mais tous trois permettent de sélectionner un concept cible que vous alignerez ensuite via la barre d’actions.

Mode « Jeux de concepts »

Un concept set est un ensemble de concepts standard regroupés autour d’une même réalité clinique (ex. Heart rate, Créatinine), accompagné de notes d’experts : définition, concepts inclus/exclus, règles de mapping. Il vous guide en restreignant le choix aux candidats déjà validés pour cette catégorie, plutôt que d’avoir à fouiller les millions de concepts d’ATHENA.

Vous parcourez les concept sets liés au projet (ceux importés depuis l’onglet Concepts cibles), triés et filtrés par Catégorie, Sous-catégorie et nom. Les colonnes Items, Version et Provenance sont masquées par défaut.

linkr-v2-b1800b.frama.io
Jeux de conceptsRechercherSuggestions
CatégorieSous-catégorieConcept Set
BiologieRénaleCréatinine
BiologieHématologieNFS — Numération formule sanguine
BiologieHépatiqueBilan hépatique
MédicamentsAntibiotiquesPénicillines
ImagerieThoraxRadiographie thoracique
12 résultats⚙
La liste des concept sets liés au projet. L'icône ⓘ à droite ouvre la fiche du concept set.

L’icône ⓘ ouvre un volet latéral détaillant le concept set : description rédigée par les experts, statistiques d’usage, concepts résolus et expression brute. C’est là que vous trouvez les règles de mapping — par exemple « mappez “HR” sans précision vers le concept générique, et non vers la variante oxymètre ».

linkr-v2-b1800b.frama.io

Heart rate

Vital signsHaemodynamicsINDICATE Consortium38 concepts

Définition & contexte clinique

La fréquence cardiaque est le nombre de battements par minute (bpm). C'est un signe vital et un paramètre hémodynamique. Plages normales : 60–100 bpm chez l'adulte, 110–160 bpm chez le nouveau-né.

Ce concept set capture les valeurs numériques de fréquence cardiaque uniquement. Il exclut la morphologie de l'onde de pouls, l'intensité, la classification du rythme, les différences calculées, la durée de mesure et la fréquence cardiaque fœtale (couverte par un concept set dédié).

Concepts inclus

Ce concept set contient 22 concepts standard (20 LOINC + 2 SNOMED) organisés par contexte clinique. Le concept le plus générique — 3027018 / 8867-4 (LOINC) — doit être utilisé par défaut lorsque la source ne précise ni méthode, ni site, ni position.

Par méthode de mesure
  • 3027018 / 8867-4 — Heart rate (LOINC) — concept par défaut, sans méthode ni site.
  • 3001376 / 8889-8 — Heart rate by Pulse oximetry (LOINC) — dérivée d'un oxymètre de pouls.
  • 21490670 / 60978-4 — Heart rate Intra arterial line by Invasive (LOINC) — depuis une ligne artérielle.
  • 21490872 / 76282-3 — Heart rate.beat-to-beat by EKG (LOINC) — intervalle R-R instantané.

Notes de mapping

Quand la source indique « heart rate » ou « pulse » sans précision, mappez vers 3027018 / 8867-4 (LOINC). Si la source identifie explicitement l'origine (oxymètre, ligne artérielle, ECG), utilisez le concept spécifique correspondant.

Le volet de détail du concept set Heart rate de l'INDICATE Consortium : définition, concepts inclus/exclus, notes de mapping.

Cliquez sur une ligne pour ouvrir le concept set dans le panneau principal : la barre supérieure rappelle son nom, sa catégorie et le nombre de concepts. Vous y voyez ses concepts résolus, naviguez via une recherche et des filtres en colonne, et sélectionnez celui qui correspond. Les concepts déjà alignés au concept source apparaissent grisés.

linkr-v2-b1800b.frama.io
Jeux de conceptsRechercherSuggestions

Créatinine

Biologie / Rénale · 5 concepts

Rechercher dans le concept set…
VocabNomDomaineStd
LOINCCreatinine [Mass/volume] in Serum or PlasmaMeasurementS
LOINCCreatinine [Mass/volume] in BloodMeasurementS
LOINCCreatinine [Moles/volume] in Serum or PlasmaMeasurementS
SNOMEDSerum creatinine measurementProcedureS
LOINCCreatinine renal clearanceMeasurementS
Les concepts résolus d'un concept set : sélection au clic, concepts déjà alignés grisés, retour à la liste via ← Retour.

C’est le mode rapide et précis quand votre concept source appartient à une catégorie déjà couverte par un concept set de référence.

Mode « Rechercher »

Vous tapez un nom, un code ou un identifiant numérique, et Linkr interroge la référence ATHENA chargée dans le projet. Comme pour les concepts source, la recherche combine match exact (sur l’ID), substring (tous les mots de la requête), et fuzzy (Jaro-Winkler ≥ 0,8) — pratique pour les fautes de frappe ou les variantes orthographiques. Les résultats sont triés par pertinence.

linkr-v2-b1800b.frama.io
Jeux de conceptsRechercherSuggestions
creatinin srum
VocabNomCodeDomaineStd
LOINCCreatinine [Mass/volume] in Serum or Plasma2160-0MeasurementS
LOINCCreatinine [Mass/volume] in Blood38483-4MeasurementS
LOINCCreatinine [Moles/volume] in Serum or Plasma14682-9MeasurementS
SNOMEDSerum creatinine measurement113075003ProcedureS
LOINCCreatinine renal clearance2164-2MeasurementS
12 / 248 résultats
Le mode Rechercher : bouton filtres à gauche, requête au centre, et résultats triés par pertinence.

Le bouton filtres (icône à gauche de la barre de recherche) ouvre un popover pour restreindre la recherche à certains vocabulaires, domaines, classes de concept ou aux concepts standard uniquement. Vous y réglez aussi le nombre maximum de résultats (défaut : 1 000 ; au-delà de 10 000 le navigateur ralentit).

Recherche sans filtre

Sans aucun filtre actif, Linkr vous avertit que la requête va porter sur l’intégralité du vocabulaire ATHENA — plusieurs secondes au minimum. Filtrez au moins par vocabulaire (LOINC, SNOMED, RxNorm…) pour des résultats plus rapides et plus pertinents.

Fiche du concept cible

L’icône ⓘ en bout de ligne — disponible aussi bien en mode Rechercher qu’en mode Suggestions — ouvre un volet latéral détaillant le concept OMOP : ses propriétés, ses relations (Maps to, Has component, Has method…), sa hiérarchie ancêtres/descendants, et ses synonymes. Indispensable pour vérifier qu’un candidat est bien standard, à jour, et que sa position dans la hiérarchie est cohérente avec votre code source.

linkr-v2-b1800b.frama.io

Creatinine [Mass/volume] in Serum or Plasma

#3016723LOINCStandard
Chemistry measurement[LOINC]Laboratory[LOINC]Chemistry panels[LOINC]Creatinine | Serum[LOINC]Creatinine | Blood[LOINC]Creatinine [Mass/vol][LOINC]
La fiche du concept OMOP : 4 onglets (Détails, Relations, Hiérarchie, Synonymes). Vue Hiérarchie : ancêtres au-dessus, le concept courant surligné, descendants en dessous.

Mode « Suggestions »

linkr-v2-b1800b.frama.io
Jeux de conceptsRechercherSuggestions
ScoreMéthodesVocabNom du conceptCodeStd
92%
95%88%91%
LOINCCreatinine [Mass/volume] in Serum or Plasma2160-0S
81%
83%79%82%
LOINCCreatinine [Mass/volume] in Blood38483-4S
76%
80%71%77%
LOINCCreatinine [Moles/volume] in Serum or Plasma14682-9S
68%
72%64%
SNOMEDSerum creatinine measurement113075003S
54%
58%51%
LOINCCreatinine renal clearance2164-2S
8 / 24 résultats⚙
Le mode Suggestions : score combiné, points colorés par méthode (Syntaxique, Sémantique, Statistique, IA), gestion des poids via le bouton « Gérer les suggestions ».

Vous parcourez des candidats pré-calculés pour le concept source sélectionné, classés par score combiné. Chaque ligne expose les scores détaillés par méthode (Syntaxique, Sémantique, Statistique, IA) sous forme de points colorés, et un bouton Gérer les suggestions permet d’importer le fichier de scores, ajuster les pondérations ou tout supprimer.

Ces scores ne sont pas calculés par Linkr : ils proviennent d’un fichier .parquet produit par le Skill Claude concept-mapping, exécuté hors de l’application sur l’export ZIP de votre projet.

Tout sur les suggestions

Le détail des méthodes de scoring, le workflow d’export → Claude Code → import, et les bonnes pratiques de validation sont décrits dans la page dédiée Suggestions.

Barre d’actions

La barre d’actions n’est visible que lorsqu’un concept source est sélectionné à gauche. Son contenu change selon qu’un concept cible est sélectionné à droite ou non.

Aligner

Quand un concept source et un concept cible sont sélectionnés, deux éléments apparaissent :

  • Bouton vert « Exact » (badge SKOS, avec flèche déroulante ) — un clic direct crée l’alignement en skos:exactMatch. La flèche ouvre un menu pour choisir une autre équivalence (Close, Broad, Narrow, Related) ; le badge du bouton change alors de couleur en conséquence.
  • Bouton (Aligner avec commentaire) — ouvre une boîte de dialogue où vous choisissez l’équivalence et saisissez un commentaire explicatif.

L’alignement est créé immédiatement avec le statut Non revu, prêt à être validé dans l’onglet Évaluation.

Ignorer

Quand un concept source est sélectionné mais sans concept cible, la barre d’actions bascule sur les boutons d’ignorance :

  • Bouton « Ignorer » — marque le concept source comme sans équivalent standard. Il est exclu du décompte des concepts à aligner et apparaît dans la KPI « Ignorés » du tableau de bord du projet. Si le concept est déjà ignoré, le bouton affiche Retirer le statut ignoré.
  • Bouton (Ignorer avec commentaire) — même action, avec une boîte de dialogue pour expliquer pourquoi (ex. « identifiant administratif sans signification clinique »).

Choisir l’équivalence SKOS

Linkr s’appuie sur le standard SKOS (Simple Knowledge Organization System) du W3C pour qualifier la force d’un alignement. Les exports SSSOM (Simple Standard for Sharing Ontological Mappings) consomment ces mêmes prédicats. Cinq niveaux, du plus précis au plus large :

Exact

Le code local et le concept standard désignent exactement la même réalité clinique.

Close

Très proche — un échange est acceptable dans la plupart des contextes.

Broad

Le concept standard est plus général que le code local.

Narrow

Le concept standard est plus spécifique que le code local.

Related

Lien sémantique reconnu, mais les deux concepts ne sont pas interchangeables.

Règle pratique : si vous hésitez entre Exact et Close, préférez Close et ajoutez un commentaire — le relecteur pourra escalader vers Exact lors de l’évaluation. Évitez Related sauf si aucune autre équivalence ne convient : les exports OMOP (source_to_concept_map) traitent tous les niveaux de la même façon, mais un Related dans un export SSSOM signale aux partenaires que l’alignement est fragile.

Voir aussi la section Mapping du SKOS Primer pour les exemples du W3C.

Alignements multiples

Un même concept source peut recevoir plusieurs alignements vers des cibles différentes. C’est courant pour distinguer la valeur, l’unité et l’instrument d’une même mesure (ex. maps_to, maps_to_value, maps_to_unit dans la nomenclature OMOP). Il suffit de re-sélectionner le concept source et d’aligner à nouveau ; les alignements supplémentaires se cumulent et apparaissent ensemble dans l’onglet Évaluation.

Résumé du flux de travail

1

Choisir l’ordre de travail

Triez le tableau source par Patients (décroissant) pour commencer par les concepts les plus fréquents, ou filtrez par Catégorie pour traiter un domaine clinique entier d’un coup.

2

Sélectionner un concept source

Cliquez sur une ligne. La ligne est surlignée et les actions deviennent disponibles dans le panneau de droite.

3

Trouver le concept cible

Parcourez un concept set (mode Jeux de concepts), recherchez librement dans ATHENA (mode Rechercher) ou laissez les Suggestions pré-calculées trier les candidats. Sélectionnez la ligne qui correspond.

4

Créer l’alignement

Cliquez sur Exact match pour un alignement direct, ou utilisez le menu déroulant pour une autre équivalence SKOS. Ajoutez un commentaire si le choix mérite une explication.

5

Passer au suivant

La pastille de la ligne du concept source passe au vert. Cliquez sur le concept suivant dans la liste.

L'alignement reste manuel

Même lorsque vous travaillez en mode Suggestions, c’est toujours vous qui validez l’alignement en cliquant sur Exact (ou une autre équivalence SKOS). Linkr n’aligne jamais automatiquement à partir d’un score : la suggestion priorise les candidats, l’expert garde la décision.

PrécédentConcepts ciblesSuivantSuggestions

Produit

  • Accueil
  • Démo

Ressources

  • Documentation
  • Ressources
  • Outils
  • Blog

Communauté

  • Code source Framagit
  • Code source Github

À propos

  • InterHop.org
  • Contact

2021–2026 InterHop — CC BY-NC-SA 4.0 (site) · GPLv3 (logiciel)