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.
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 :
| Vocab | Nom du concept | Code concept | Patients | Lignes | ||
|---|---|---|---|---|---|---|
| ICCA | creatinine serum | L0021 | 1,842 | 9,614 | ||
| ICCA | lactate blood | L0102 | 1,203 | 4,871 | ||
| ICCA | hemoglobin | L0301 | 1,688 | 7,203 | ||
| ICCA | platelet count | L0411 | 974 | 3,120 | ||
| ICCA | WBC count | L0512 | 881 | 2,954 |
| Nom | Code | Vocab. | Domaine |
|---|---|---|---|
| Creatinine [Mass/volume] in Serum or Plasma | 2160-0 | LOINC | Measurement |
| Creatinine [Mass/volume] in Blood | 38483-4 | LOINC | Measurement |
| Creatinine [Moles/volume] in Serum or Plasma | 14682-9 | LOINC | Measurement |
Le flux de travail est toujours le même :
- Sélectionner un concept source dans le tableau de gauche.
- Trouver le concept cible dans le panneau de droite (via un concept set ou la recherche dans les vocabulaires OHDSI).
- Cliquer sur Exact match — ou choisir une autre équivalence sémantique dans le menu déroulant (on y reviendra plus bas).
Concepts source
| Vocab | Nom du concept | Code concept | Patients | Lignes | ||
|---|---|---|---|---|---|---|
| ICCA | creatinine serum | L0021 | 1,842 | 9,614 | ||
| ICCA | lactate blood | L0102 | 1,203 | 4,871 | ||
| ICCA | hemoglobin | L0301 | 1,688 | 7,203 | ||
| ICCA | platelet count | L0411 | 974 | 3,120 | ||
| ICCA | WBC count | L0512 | 881 | 2,954 |
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 :
- Correspondance exacte sur l’identifiant numérique.
- Correspondance partielle (substring) sur le nom et le code.
- 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.
ALIGNÉ
→ Creatinine [Mass/volume] in Serum or Plasma
LOINC · exactMatch
✓ 2
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.
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
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).
Frequence_cardiaque
ICCA · M0042 · 12 450 lignes · 1 842 patients
Statistiques
| Min | 0 |
| P25 | 65 |
| Médiane | 78 |
| P75 | 92 |
| Max | 245 |
| Moyenne | 82,3 |
| Écart-type | 18,7 |
Boxplot
Distribution
Distribution par sexe
Évolution par année
Unités hospitalières
Propriétés
| Unité | bpm |
| Fréquence | Horaire |
| Complétude | 98 % |
| Source | Monitorage |
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é | Type | Obligatoire | Description |
|---|---|---|---|
metadata | objet | non | Paires clé/valeur scalaires affichées sous forme de liste. |
statistics | objet | non | Statistiques 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. |
distributions | tableau | non | Liste 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 }. |
properties | tableau | non | Paires { 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.
| Catégorie | Sous-catégorie | Concept Set | |
|---|---|---|---|
| Biologie | Rénale | Créatinine | |
| Biologie | Hématologie | NFS — Numération formule sanguine | |
| Biologie | Hépatique | Bilan hépatique | |
| Médicaments | Antibiotiques | Pénicillines | |
| Imagerie | Thorax | Radiographie thoracique |
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 ».
Heart rate
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.
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.
Créatinine
Biologie / Rénale · 5 concepts
| Vocab | Nom | Domaine | Std |
|---|---|---|---|
| LOINC | Creatinine [Mass/volume] in Serum or Plasma | Measurement | S |
| LOINC | Creatinine [Mass/volume] in Blood | Measurement | S |
| LOINC | Creatinine [Moles/volume] in Serum or Plasma | Measurement | S |
| SNOMED | Serum creatinine measurement | Procedure | S |
| LOINC | Creatinine renal clearance | Measurement | S |
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.
| Vocab | Nom | Code | Domaine | Std | |
|---|---|---|---|---|---|
| LOINC | Creatinine [Mass/volume] in Serum or Plasma | 2160-0 | Measurement | S | |
| LOINC | Creatinine [Mass/volume] in Blood | 38483-4 | Measurement | S | |
| LOINC | Creatinine [Moles/volume] in Serum or Plasma | 14682-9 | Measurement | S | |
| SNOMED | Serum creatinine measurement | 113075003 | Procedure | S | |
| LOINC | Creatinine renal clearance | 2164-2 | Measurement | S |
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.
Creatinine [Mass/volume] in Serum or Plasma
Mode « Suggestions »
| Score | Méthodes | Vocab | Nom du concept | Code | Std | |
|---|---|---|---|---|---|---|
92% | 95%88%91% | LOINC | Creatinine [Mass/volume] in Serum or Plasma | 2160-0 | S | |
81% | 83%79%82% | LOINC | Creatinine [Mass/volume] in Blood | 38483-4 | S | |
76% | 80%71%77% | LOINC | Creatinine [Moles/volume] in Serum or Plasma | 14682-9 | S | |
68% | 72%64% | SNOMED | Serum creatinine measurement | 113075003 | S | |
54% | 58%51% | LOINC | Creatinine renal clearance | 2164-2 | S |
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 :
Le code local et le concept standard désignent exactement la même réalité clinique.
Très proche — un échange est acceptable dans la plupart des contextes.
Le concept standard est plus général que le code local.
Le concept standard est plus spécifique que le code local.
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
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.
Sélectionner un concept source
Cliquez sur une ligne. La ligne est surlignée et les actions deviennent disponibles dans le panneau de droite.
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.
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.
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.