En résumé
L’onglet Évaluation est le tableau de bord de revue : tous les alignements créés y sont listés, avec leurs statuts, leurs commentaires, et les outils pour valider, signaler ou rejeter en équipe.
Le tableau
Vocabulaire source | Nom concept source | Équivalence | Vocabulaire cible | Nom concept cible | Domaine | Classe de concept | Standard | Aligné par | ✓ | ⚑ | ✗ | Évaluation | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ICCA | TA_systolique_invasive | Exact | SNOMED | Invasive systolic arterial pressure | Measurement | Observable Entity | S | John Doe | — | — | — | ||
| ICCA | FC_bpm | Exact | LOINC | Heart rate | Measurement | Clinical Observation | S | Jane Smith | 1 | — | — | ||
| MIMIC-IV | creatinine_serum | Exact | LOINC | Creatinine [Mass/volume] in Serum or Plasma | Measurement | Lab Test | S | Claude Opus 4.7 | 2 | — | — | ||
| MIMIC-IV | fr_resp | Exact | LOINC | Respiratory rate | Measurement | Clinical Observation | S | Marie Dupont | 1 | 1 | — | ||
| MIMIC-IV | poids_kg | Exact | LOINC | Body weight | Measurement | Clinical Observation | S | Jane Smith | 3 | — | — | ||
| ICCA | DT2_sans_compli | Narrow | SNOMED | Type 2 diabetes mellitus without complication | Condition | Disorder | S | Claude Opus 4.7 | — | — | 1 | ||
| REA | IMC | Exact | LOINC | Body mass index (BMI) [Ratio] | Measurement | Clinical Observation | S | Paul Bernard | — | — | — |
Chaque ligne représente un alignement concept source → cible. Les colonnes décrivent le concept source (vocabulaire, nom, code), l’équivalence SKOS choisie, le concept cible (vocabulaire, nom, domaine, classe, badge Standard), qui a proposé l’alignement, et trois compteurs de votes (approuvé, signalé, rejeté) avant la colonne Évaluation qui rassemble les actions.
La colonne Évaluation
Tout à droite de chaque ligne, une colonne Évaluation regroupe six boutons côte à côte. Leur disponibilité dépend du contexte : vous ne pouvez pas voter sur un alignement que vous avez vous-même posé.
Fonctionnalités
De gauche à droite :
- Voir le détail — ouvre la fiche complète de l’alignement (voir ci-dessous).
- Commentaires — ouvre le fil de discussion attaché à l’alignement (voir ci-dessous). Une pastille indique le nombre total de commentaires.
- Avis — liste les votes de tous les relecteurs (approuvé, signalé, rejeté), avec date et commentaire éventuel. Le bouton est entouré quand vous avez vous-même voté ; une pastille indique le nombre total de votes.
- Approuver — pose votre vote « approuvé » sur l’alignement. Le bouton devient vert plein une fois votre vote enregistré. Désactivé sur vos propres alignements.
- Rejeter — pose votre vote « rejeté » (vous estimez que la cible est incorrecte). Le bouton devient rouge plein une fois votre vote enregistré. Désactivé sur vos propres alignements.
- Signaler — pose votre vote « à revoir » : vous voulez attirer l’attention de l’équipe sans trancher. Le bouton devient orange plein une fois votre vote enregistré. Utile pour les cas litigieux qui méritent une discussion avant décision.
Cliquer une action met immédiatement à jour l’alignement. En mode édition (bouton Édition en haut), des cases à cocher apparaissent vous permettant de supprimer les alignements sélectionnés.
Fiche de détail de l’alignement
Concept source
| Vocabulaire source | ICCA |
| Nom concept source | TA_systolique_invasive |
| Code concept source | M0118 |
| Patients | 1 842 |
| Lignes | 24 380 |
Statistiques
| Min | 60 |
| P25 | 108 |
| Médiane | 122 |
| P75 | 138 |
| Max | 220 |
Boxplot (mmHg)
Concept cible
| Vocabulaire cible | SNOMED |
| ID concept cible | 4353843 |
| Nom concept cible | Invasive systolic arterial pressure |
| Code concept cible | 251071003 |
| Domaine | Measurement |
| Classe de concept | Observable Entity |
| Standard | S |
Métadonnées de l'alignement
| Équivalence | Exact |
| Status | Approuvé |
| Score de correspondance | — |
| Aligné par | John Doe |
| Créé le | 14/05/2026 14:32 |
| Dernière modification | 14/05/2026 14:32 |
Avis (1)
14/05/2026 15:08
Le bloc Statistiques sous le concept source est généré à partir des métadonnées du concept source si elles existent. Le rendu complet (tableau de statistiques étendu, boxplot, histogramme, distributions, propriétés) est décrit dans Métadonnées du concept.
Fil de commentaires
Commentaires
TA_systolique_invasive → Invasive systolic arterial pressure
Pourquoi pas le LOINC 8480-6 plutôt que le SNOMED ? Plus de standardisation côté labo.
Le SNOMED 251071003 précise « invasive », ce que le LOINC 8480-6 ne fait pas. Source plus spécifique → broadMatch côté LOINC.
Ajouter un commentaire
Avis
Avis
TA_systolique_invasive → Invasive systolic arterial pressure
14/05/2026 15:08
Mon avis (John Doe)
Vote multi-relecteur
Linkr est conçu pour le travail en équipe. Chaque relecteur enregistre son propre vote (approved, flagged, rejected) sur un alignement donné. Tous les votes sont conservés dans l’historique de l’alignement.
Le statut effectif affiché dans le tableau et utilisé pour les exports est calculé à la majorité des votes :
- Si plus de votes pour
approuvéque pourrejeté→ effectifapprouvé. - Si égalité ou majorité de
rejeté→ effectifrejeté. - En cas d’ambiguïté → priorité
approuvé > rejeté > à revoir.
Vous ne pouvez pas vous auto-relire
Si vous avez créé l’alignement, Linkr vous empêche de poser un vote. C’est un garde-fou simple pour éviter qu’un alignement soit auto-validé par son auteur.
Import / export des alignements
Au-dessus du tableau, deux boutons permettent de sortir et réinjecter des alignements au format Linkr interne (mappings.json). Pour des exports vers d’autres formats (SSSOM, OMOP STCM, Usagi), passez par l’onglet Export.
Exporter
Le bouton Exporter télécharge un fichier mappings.json contenant tous les alignements du projet courant, dans le format décrit plus bas.
Importer
Importer des alignements
Choisissez la source des alignements à importer.
Le bouton Importer ouvre un dialog avec deux options :
- Depuis un fichier — charge un
mappings.jsonexporté précédemment. Linkr déduplique automatiquement : un alignement(source, target)qui existe déjà n’est pas réimporté. - Depuis d’autres projets — pioche dans les alignements créés dans les autres projets du workspace. Pratique pour réutiliser un travail déjà fait sur un vocabulaire commun.
Importer depuis d'autres projets
Importe localement tous les alignements identifiés comme « déjà mappés ailleurs » (pastille bleue) en provenance des projets sélectionnés. Statut, évaluations et commentaires sont préservés.
| Projet source | Vocabulaire source | Nom concept source | Équivalence | Vocabulaire cible | Nom concept cible | Statut | |
|---|---|---|---|---|---|---|---|
| Labo MIMIC-IV | ICCA | creatinine_serum | Exact | LOINC | Creatinine [Mass/volume] in Serum or Plasma | Approuvé | |
| IMPACT | ICCA | creatinine_serum | Exact | LOINC | Creatinine [Mass/volume] in Serum or Plasma | Approuvé | |
| PROSPER | ICCA | creatinine_serum | Exact | LOINC | Creatinine [Moles/volume] in Serum or Plasma | Signalé | |
| OASIS | ICCA | FC_bpm | Exact | LOINC | Heart rate | Approuvé | |
| Labo MIMIC-IV | ICCA | FC_bpm | Exact | LOINC | Heart rate | Approuvé | |
| PROSPER | ICCA | fr_resp | Exact | LOINC | Respiratory rate | Non vérifié | |
| IMPACT | ICCA | fr_resp | Exact | LOINC | Respiratory rate | Rejeté | |
| OASIS | ICCA | poids_kg | Exact | LOINC | Body weight | Approuvé |
Structure de mappings.json
Le fichier exporté est un tableau JSON d’objets, un par alignement. Voici un exemple complet :
[
{
"id": "map_3f2c9a",
"projectId": "icca-rea-2026",
"sourceVocabularyId": "ICCA",
"sourceConceptCode": "M0118",
"sourceConceptName": "TA_systolique_invasive",
"sourceDomainId": "Measurement",
"sourceFrequency": 24380,
"sourceCategoryId": "Hémodynamique",
"targetConceptId": 4353843,
"targetConceptCode": "251071003",
"targetConceptName": "Invasive systolic arterial pressure",
"targetVocabularyId": "SNOMED",
"targetDomainId": "Measurement",
"targetConceptClassId": "Observable Entity",
"equivalence": "exactMatch",
"status": "approved",
"matchScore": 0.97,
"comment": "Mesure invasive en réanimation.",
"mappedBy": "John Doe",
"mappedOn": "2026-05-14T14:32:11Z",
"reviewedBy": "Jane Smith",
"reviewedOn": "2026-05-14T15:08:00Z",
"createdAt": "2026-05-14T14:32:11Z",
"updatedAt": "2026-05-14T15:08:00Z"
}
]
| Clé | Type | Obligatoire | Description |
|---|---|---|---|
id | chaîne | oui | Identifiant unique de l’alignement (généré par Linkr à la création). |
projectId | chaîne | oui | Identifiant du projet d’alignement auquel l’alignement appartient. |
sourceVocabularyId | chaîne | oui | Vocabulaire du concept source (ex. ICCA, MIMIC-IV). |
sourceConceptCode | chaîne | oui | Code du concept source dans son vocabulaire d’origine. |
sourceConceptName | chaîne | oui | Libellé du concept source. |
sourceDomainId | chaîne | oui | Domaine OMOP attendu (Measurement, Condition, Drug, Observation…). |
sourceFrequency | nombre | non | Nombre d’enregistrements observés pour ce concept dans la source. |
sourceCategoryId | chaîne | non | Catégorie clinique du concept source (issue du dictionnaire). |
sourceSubcategoryId | chaîne | non | Sous-catégorie clinique. |
sourceConceptClassId | chaîne | non | Classe de concept source (si OMOP). |
targetConceptId | nombre | oui | concept_id OMOP du concept cible. |
targetConceptCode | chaîne | oui | Code dans le vocabulaire cible (ex. LOINC 2160-0, SNOMED 251071003). |
targetConceptName | chaîne | oui | Libellé du concept cible. |
targetVocabularyId | chaîne | oui | Vocabulaire cible (LOINC, SNOMED, RxNorm…). |
targetDomainId | chaîne | oui | Domaine OMOP du concept cible. |
targetConceptClassId | chaîne | non | Classe de concept cible (Lab Test, Observable Entity…). |
equivalence | chaîne | oui | Équivalence SKOS : exactMatch, closeMatch, narrowMatch, broadMatch, relatedMatch. |
status | chaîne | oui | Statut de revue : unchecked, approved, flagged, rejected, invalid, ignored. |
matchScore | nombre | non | Score combiné (0–1) hérité du pré-classement, si disponible. |
comment | chaîne | non | Commentaire principal de l’alignement. |
comments | tableau | non | Fil de commentaires structurés (alignement et avis). |
conceptSetId | chaîne | non | Identifiant du concept set utilisé pour proposer cet alignement, le cas échéant. |
mappedBy | chaîne | non | Nom de l’auteur de l’alignement (ou de la méthode automatique : Syntactic, BioLORD, Claude Sonnet…). |
mappedOn | chaîne | non | Date ISO 8601 de création de l’alignement. |
assignedReviewer | chaîne | non | Relecteur assigné explicitement à cet alignement. Conservé principalement pour la compatibilité Usagi (colonne du CSV d’export OHDSI). |
reviewedBy | chaîne | non | Dernier relecteur ayant voté. |
reviewedOn | chaîne | non | Date du dernier vote. |
reviewComment | chaîne | non | Commentaire associé au dernier vote. |
createdAt | chaîne | oui | Date ISO 8601 de création (jamais modifiée). |
updatedAt | chaîne | oui | Date ISO 8601 de dernière modification. |