En résumé
Cette page répond à une question : qu’y a-t-il réellement dans cette base ? Elle parcourt le dictionnaire de la base connectée — quel que soit son modèle — et donne pour chaque concept le nombre d’enregistrements, le nombre de patients et la distribution des valeurs. Les concepts retenus se rassemblent dans une liste de concepts qui voyage avec le projet.
Savoir ce qu’on a avant de le chercher
Un entrepôt de santé décrit des milliers de concepts possibles. Votre base n’en contient qu’une fraction, et rien ne dit d’avance laquelle : un entrepôt de réanimation aura la ventilation et les catécholamines en abondance, et presque rien en oncologie.
D’où l’ordre des opérations. Avant d’écrire un critère de cohorte sur « lactate », il faut savoir si le lactate est présent, sous quel code, combien de fois, et avec quelles valeurs. C’est ce que donne cette page.
Le dictionnaire de la base
La page n’impose aucun modèle de données. Elle lit la ou les tables de dictionnaire que le schéma de la base déclare, et s’adapte à ce qu’elle y trouve.
Une base OMOP
La table concept : identifiant, nom, code, vocabulaire, domaine, classe, statut standard. La page affiche toutes ces colonnes.
Une base MIMIC
d_items et d_labitems, souvent déclarées ensemble. Pas de vocabulaire standardisé, et d_items n’a pas de colonne de code : ces colonnes n’apparaissent simplement pas.
Un modèle maison
Votre propre table de référence. Il suffit qu’elle porte un identifiant et un libellé ; tout le reste est facultatif.
Une base peut avoir plusieurs dictionnaires
Quand le schéma en déclare plusieurs, la page les réunit et ajoute une colonne indiquant de quel dictionnaire vient chaque ligne. Sur MIMIC, c’est ainsi que d_items et d_labitems se parcourent d’un seul tenant.
Sans dictionnaire déclaré, la page reste vide
Elle annonce alors qu’aucune table de concepts n’a été trouvée. C’est le mapping du schéma qui désigne cette table — il faut la déclarer avant que cette page ne serve à quelque chose.
Le tableau
Une ligne par concept, avec deux colonnes qui font tout l’intérêt de la page :
- Enregistrements — combien de fois ce concept apparaît dans la base ;
- Patients — combien de patients distincts sont concernés.
L’écart entre les deux se lit. Trois cent mille enregistrements de fréquence cardiaque pour huit cents patients, c’est un monitorage continu. Huit cents enregistrements pour huit cents patients, c’est une mesure ponctuelle à l’admission. Ces deux données ne s’exploitent pas de la même façon.

Les autres colonnes dépendent du dictionnaire : vocabulaire, code, domaine, classe, validité. Elles se redimensionnent, se réordonnent par glisser-déposer et se masquent.
La base parcourue se choisit en tête de la barre d’outils, parmi celles du projet : changer de base change le dictionnaire, et donc les colonnes.
Quand le modèle distingue un code standard et un code d'origine
Certains modèles, dont OMOP, enregistrent un événement sous deux concepts : le standard et le source d’origine. Linkr compte alors les deux, et un concept apparaît dans les effectifs qu’il figure sous l’une ou l’autre forme. Vous ne passez donc pas à côté de données mal alignées. Sur un modèle sans cette distinction, il n’y a qu’un seul code, et la question ne se pose pas.
Chercher et filtrer
La recherche porte sur le nom, le code et l’identifiant, avec une tolérance aux fautes de frappe.
La recherche se déclenche sur Entrée, pas à la frappe
C’est délibéré. Un dictionnaire complet peut dépasser le million de lignes : relancer une recherche approchée à chaque caractère rendrait la page inutilisable. Tapez, puis Entrée. Échap efface.
Le bouton Filtres, l’icône de curseurs à côté du choix de la base, regroupe les colonnes filtrables du dictionnaire. Lesquelles, là encore, dépendent de la base : domaine et classe si le modèle les déclare, vocabulaire s’il en a un, et le statut Std — Standard, Classification, Non standard — sur les modèles qui en portent un. L’icône passe en couleur dès qu’un filtre est actif.
Un clic sur une ligne ouvre son détail. Ctrl ou Cmd + clic ajoute une ligne à la sélection, Maj + clic sélectionne une plage : le panneau de droite annonce alors N concepts sélectionnés, prêts à partir dans une liste.
| Vocabulary Id | Concept Id | Concept Name | Concept Code | Domain Id | Concept Class Id | Std | Patients | Enregistrements |
|---|---|---|---|---|---|---|---|---|
| LOINC | 3047181 | Lactate [Moles/volume] in Blood | 32693-4 | Measurement | Lab Test | S | 78 | 1 842 |
| LOINC | 3016723 | Creatinine [Mass/volume] in Serum or Plasma | 2160-0 | Measurement | Lab Test | S | 96 | 2 184 |
| LOINC | 3000963 | Hemoglobin [Mass/volume] in Blood | 718-7 | Measurement | Lab Test | S | 92 | 1 576 |
| LOINC | 3027018 | Heart rate | 8867-4 | Measurement | Clinical Observation | S | 100 | 48 210 |
| SNOMED | 132797 | Sepsis | 91302008 | Condition | Clinical Finding | S | 41 | 312 |
| SNOMED | 201826 | Type 2 diabetes mellitus | 44054006 | Condition | Clinical Finding | S | 34 | 268 |
| RxNorm | 1321341 | Norepinephrine | 7512 | Drug | Ingredient | S | 52 | 487 |
| ICD10CM | 45600511 | Sepsis, unspecified organism | A41.9 | Condition | 4-char billing code | NS | 38 | 290 |
Détail du concept
Statistiques des données
Le détail d’un concept
Cliquer une ligne ouvre le panneau de droite : les métadonnées du concept, puis ses statistiques.
Pour un concept porteur d’une valeur numérique — une biologie, une constante — Linkr calcule minimum, maximum, moyenne, médiane, écart-type, et trace un histogramme.
C’est un contrôle de qualité immédiat. Une créatinine dont la moyenne est à 1,2 est en mg/dL ; à 105, en µmol/L. Un poids qui monte à 7 000 signale des grammes mélangés à des kilos. Ces problèmes se voient sur l’histogramme en quelques secondes, et coûtent des semaines s’ils sont découverts après l’analyse.
Exclure les valeurs aberrantes pour lire le graphique
Une seule valeur absurde écrase tout l’histogramme. L’option Exclure les valeurs aberrantes le limite aux 1er–99e percentiles, et une ligne sous le graphique dit combien de valeurs ont été laissées de côté. Seul l’histogramme change : minimum, maximum et moyenne restent calculés sur toutes les valeurs. À utiliser pour lire la distribution — mais les valeurs aberrantes, elles, restent à traiter.
Sous les chiffres, une boîte à moustaches résume la même distribution : la boîte va du premier au troisième quartile, le trait marque la médiane, les moustaches le minimum et le maximum. Démarrer à zéro, au-dessus de l’histogramme, choisit entre un axe partant de zéro et un axe resserré sur les valeurs.
L’icône SQL, à droite du nom, affiche les requêtes derrière ces statistiques, utile pour vérifier ce qui est compté, ou pour reprendre la requête ailleurs.
LOINC
Statistiques des données
Histogramme
Distribution des valeurs
Réglages des concepts
Stats
Calcule le nombre d’enregistrements et la distribution des valeurs du concept sélectionné. Désactivez pour naviguer plus vite.
Exclure les valeurs aberrantes
Limite l’histogramme aux 1er–99e percentiles, pour qu’une valeur aberrante n’écrase pas le graphique.
Les deux interrupteurs se trouvent dans les Réglages des concepts, l’icône d’engrenage de la barre d’outils, onglet Général : Stats coupe le calcul pour parcourir beaucoup de concepts plus vite, et Exclure les valeurs aberrantes agit sur l’histogramme de tous les concepts consultés.
La génération de la liste
Compter les occurrences de chaque concept sur un entrepôt entier est coûteux. En mode serveur, Linkr calcule donc ces effectifs une fois et les conserve.
Sur une base neuve, un bandeau annonce que la liste n’a pas encore été générée et propose de la générer — opération qui peut prendre un moment sur une base volumineuse. Un bouton Actualiser la régénère ensuite, avec la date de dernière actualisation.
Actualisez après avoir alimenté la base
Les effectifs datent de la dernière génération. Après un chargement de nouvelles données par un pipeline ETL, la page affiche encore les anciens chiffres tant que vous n’avez pas actualisé.
Rassembler des concepts dans une liste
En parcourant, vous repérez les concepts qui vous intéressent : les six codes qui désignent une ventilation mécanique, les quatre façons dont une créatinine est enregistrée. Une liste de concepts les rassemble.
Sélectionnez une ou plusieurs lignes, puis + — ou Entrée — pour les ajouter à la liste active ; son survol dit laquelle. La flèche à côté permet de choisir une autre liste de destination ou d’en créer une (Nouvelle liste). Le bouton de liste, avec son compteur, ouvre la fenêtre Liste de concepts.
Dans cette fenêtre, une liste se choisit, se renomme avec le crayon, se supprime, se vide avec Effacer, et surtout se copie au format SQL, R ou Python. C’est le geste qui fait gagner le plus de temps : vos trente codes de ventilation atterrissent dans un script sans une seule recopie manuelle, chacun suivi d’un commentaire qui rappelle son vocabulaire et son nom.
Liste de concepts
| Vocabulary Id | ID | Nom | Code | |
|---|---|---|---|---|
| LOINC | 3047181 | Lactate [Moles/volume] in Blood | 32693-4 | |
| LOINC | 3016723 | Creatinine [Mass/volume] in Serum or Plasma | 2160-0 | |
| LOINC | 3000963 | Hemoglobin [Mass/volume] in Blood | 718-7 |
Presse-papiers
IN ( 3047181 -- LOINC - Lactate [Moles/volume] in Blood , 3016723 -- LOINC - Creatinine [Mass/volume] in Serum or Plasma , 3000963 -- LOINC - Hemoglobin [Mass/volume] in Blood)Copier par identifiant ou par code
Les deux sont proposés quand le dictionnaire a une colonne de code. Quand il n’en a pas — d_items sur MIMIC, par exemple — seul l’identifiant est offert : copier des codes ne produirait que des chaînes vides.
Une liste voyage avec le projet
Elle est exportée, versionnée et partagée avec lui. Le travail de repérage — souvent plusieurs heures — se transmet donc à qui reprend le projet, au lieu d’être refait.
Liste de concepts et concept set : deux choses différentes
Les deux noms se ressemblent. Ils ne jouent pourtant pas le même rôle.
Liste de concepts
La vôtre, constituée à la main.
Rattachée au projet. Vous l’alimentez en parcourant le tableau, vous la modifiez à volonté, et elle part avec le projet.
Concept set
Importé, en lecture seule.
Vient d’un dictionnaire de données installé dans l’espace de travail — un référentiel publié par un réseau de recherche. Partagé par tous les projets.
Autrement dit : un concept set est un référentiel que vous recevez, une liste de concepts est une sélection que vous produisez.
Enrichir le tableau avec un référentiel
Les Réglages des concepts, onglet Dictionnaire de données, permettent d’importer un dictionnaire de données — à ne pas confondre avec le dictionnaire de la base, qui vient du schéma. Celui-ci est un référentiel externe : ses concept sets s’affichent en colonnes supplémentaires — nom, catégorie, sous-catégorie.
L’appariement se fait sur le vocabulaire et le code du concept. Ces colonnes ne sont donc proposées que si la base en déclare les deux.
L’intérêt : vous voyez immédiatement qu’un concept appartient au groupe « marqueurs inflammatoires » défini par le référentiel, sans avoir à le savoir. Le nom du concept set est cliquable et ouvre sa fiche.
Le référentiel est partagé par tout l'espace de travail
La page n’en accueille qu’un à la fois. Mettre à jour réimporte le référentiel — une nouvelle version du même dictionnaire — sans rien retirer ; Changer l’échange contre un autre. Les concept sets étant partagés avec tous les projets de l’espace de travail — y compris les projets d’alignement de concepts — ce changement les concerne tous, et ne s’annule pas. L’ancien n’est supprimé qu’une fois le nouveau importé : annuler l’import ne casse rien.
Une liste de concepts n'alimente pas encore un critère de cohorte
Les concepts d’un critère de cohorte se choisissent indépendamment. Pour l’instant, une liste sert au suivi de données individuelles et à l’export vers vos scripts — pas à remplir un critère.
Pour aller plus loin
- Schémas — déclarer le dictionnaire d’une base, sans quoi cette page reste vide.
- Cohortes — utiliser un concept repéré ici comme critère.
- Alignement de concepts — faire correspondre vos codes locaux à une terminologie standard.
- Introduction à OMOP — un modèle de données standard et ses terminologies.