En résumé
Une cohorte se construit dans l’ordre de son écran : le niveau d’une ligne, puis les critères — neuf types, de l’âge au texte libre —, assemblés en groupes par ET, OU et NON. Alimenter fige ensuite la liste des membres, et la définition s’échange au format OHDSI ATLAS.
Une cohorte se crée depuis la page Cohortes du projet. Elle s’ouvre sur le constructeur, que cette page parcourt de la barre d’outils aux critères, puis à leur combinaison.
L’écran du constructeur
Une cohorte s’ouvre sur deux volets. À gauche, les Critères — ou, par la bascule Critères / SQL, la requête qu’ils engendrent. À droite, les résultats de la dernière exécution. Les deux icônes en forme d’œil, aux extrémités de la barre d’outils, replient l’un ou l’autre volet pour donner toute la largeur au second.

La barre d’outils porte aussi Importer et Exporter (au format ATLAS, voir plus bas), Rapport, Alimenter et Exécuter.
Une ligne par quoi ?
Avant les critères, une question à trancher, dans la barre d’outils : Une ligne par quoi ?
| Niveau | Ce qu’une ligne représente |
|---|---|
| Patient | Une personne, quel que soit son nombre de passages. |
| Hospitalisation | Un séjour hospitalier. Un même patient peut apparaître plusieurs fois. |
| Séjour en unité | Un passage dans une unité — un séjour en réanimation au sein d’une hospitalisation. |
Le choix dépend de la question posée. « Combien de patients ont reçu de la noradrénaline ? » se compte au niveau patient ; « quelle est la durée médiane de séjour en réanimation ? » au niveau séjour en unité.
Ce choix se change à tout moment
Le niveau se modifie sans perdre les critères. Il vaut la peine de comparer : une cohorte de 800 patients peut correspondre à 1 200 hospitalisations, et l’écart est souvent instructif.
Les critères
Ajouter un critère propose neuf types — et, sous Logique, Ajouter un groupe (ET/OU).
Âge
Un minimum, un maximum, en années, mois ou jours — âge actuel ou à l’admission.
Sexe
Homme, femme, inconnu.
Décès
Décédé ou vivant, durant l’hospitalisation, durant le séjour en unité, ou à n’importe quel moment.
Période
Une fenêtre de dates.
Durée de séjour
En heures, jours ou mois, au niveau hospitalisation ou séjour en unité.
Lieu de soins
Une ou plusieurs unités.
Concept
Un diagnostic, un médicament, un examen. Le plus utilisé — voir ci-dessous.
Texte libre
Une recherche dans les comptes rendus.
Liste d’identifiants
Des patients, des hospitalisations ou des séjours désignés un par un — une colonne collée depuis un tableur.
Un critère se déplie pour se régler, et se replie sur une ligne de résumé — À l’admission ≥ 18 ans. Son type se change depuis le menu en tête du critère déplié.
Au niveau d'extraction de la cohorte (patient, hospitalisation ou unité)
3 identifiants
Le critère Concept
Vous choisissez la table d’événements — diagnostics, prescriptions, biologie — puis, avec Sélectionner des concepts, les concepts concernés. Deux raffinements s’ajoutent, chacun dans une section repliable :
- un filtre de valeur : une créatinine, mais seulement au-dessus de 200 µmol/L. Plusieurs filtres peuvent se cumuler, et l’opérateur between borne des deux côtés ;
- un nombre d’occurrences : au moins trois mesures, et non une seule.
Le nombre d’occurrences se compte au niveau de la cohorte. Sur une cohorte au niveau patient, « au moins 3 » signifie trois fois pour ce patient, tous séjours confondus.
Sur une cohorte au niveau hospitalisation ou séjour en unité, seuls comptent les événements datés pendant ce séjour, entre l’entrée et la sortie. « Séjours avec un lactate supérieur à 2 » retient les séjours où le lactate a été mesuré, et non tous les séjours d’un patient qui en a eu un un jour. Pour « à n’importe quel moment », choisissez le niveau patient. Si une table d’événements n’a pas de date dans le mapping du schéma, le critère ne peut pas être limité au séjour, et le formulaire le signale.
Le critère Texte libre
Pour ce que les données structurées ne portent pas : une mention dans un compte rendu.
- Nom — ce que la recherche désigne, anticoagulants ; il remplace les termes sur le critère replié.
- Le champ — le Corps du document ou son Titre.
- Le mode — Contient (une sous-chaîne : « art » trouve aussi « artère »), Mot entier (« art » ne trouve que « art ») ou Expression régulière (
hepar|lovenox). - Aa et é=e — par défaut, la casse et les accents sont ignorés : « hemorragie » trouve « hémorragie ». Ces deux boutons les font compter.
- Les termes — séparés par des virgules. Quand il y en a plusieurs, N’importe quel terme ou Tous les termes doivent apparaître.
Ajouter un autre champ enchaîne une deuxième recherche, par ET ou par OU — sur le titre et le corps par exemple — et toutes portent sur un même document. NON, en tête d’une recherche, exclut les documents qui y répondent. La Note en bas du formulaire n’entre pas dans la requête : elle sert à expliquer le critère.
Le mot entier évite les faux positifs
Chercher Contient « sepsis » remonte aussi « asepsie ». Le mode Mot entier écarte ce bruit, qui est la première cause de cohorte trop large.
Ce critère exige des comptes rendus mappés
Si aucune table de documents n’est déclarée dans le schéma de la base, la recherche ne peut pas s’exécuter : le critère reste affiché, à titre descriptif, mais ne filtre rien. Voir Schémas.
Le critère Liste d’identifiants
Pour les cas où la population est déjà connue, patient par patient : une liste tirée d’un registre, les dossiers relus par un confrère. Identifiants de fixe ce que désignent les numéros — Patient, Hospitalisation ou Séjour en unité — et la zone Identifiants accepte une colonne collée depuis un tableur, ou une liste séparée par des virgules, des espaces ou des retours à la ligne. Le compteur sous la zone indique combien d’identifiants ont été reconnus.
Combinée aux autres critères, elle sert autant à restreindre qu’à écarter : avec NOT, elle exclut une liste de patients — ceux qui ont refusé l’usage de leurs données, par exemple.
Un âge en jours ou en mois demande une date de naissance
Le critère Âge accepte les années, les mois et les jours — utile en néonatologie. Si le schéma de la base ne porte que l’année de naissance, un âge en jours ou en mois ne peut pas être calculé : le formulaire le signale, et le critère ne sélectionnerait personne.
Combiner : ET, OU, NON
Les critères s’assemblent en groupes, et les groupes s’imbriquent. C’est ce qui permet d’exprimer une définition réelle :
âge ≥ 18 ans ET (sepsis OU choc septique) ET NON décédé
385
résultats
Chaque critère — et chaque groupe — porte ses commandes :
- AND / OR, la pastille entre deux éléments, qui décide comment l’un rejoint le précédent. Un clic la bascule ;
- NOT, qui l’inverse — c’est ainsi qu’on écrit un critère d’exclusion ;
- Activer / Désactiver, l’icône d’alimentation, qui le neutralise sans le supprimer ;
- la poignée à gauche, qui le déplace par glisser-déposer.
Un groupe se nomme avec le crayon — ce nom est celui qui apparaît dans l’attrition. En haut du panneau, Tout replier et Tout désactiver agissent sur tout l’arbre d’un coup.
Dans un même groupe, ET l’emporte sur OU, comme en SQL : A ET B OU C se lit (A ET B) OU C. Dès que vous mélangez les deux, un groupe rend l’intention explicite, pour vous comme pour le relecteur.
Désactiver plutôt que supprimer
C’est le geste à retenir pour tester une définition : désactivez un critère, relancez, comparez l’effectif. Vous mesurez son poids réel sans perdre son paramétrage — et vous pouvez le réactiver après.
L’exécution, la lecture de l’attrition et des autres onglets de résultats, la requête SQL et le rapport de cohorte sont détaillés dans Résultats, SQL et rapport.
Figer une cohorte
Alimenter enregistre la liste des membres à un instant donné. La barre d’outils affiche ensuite Figée le avec sa date ; son survol rappelle le nombre de membres figés.
La distinction avec l’exécution est importante :
Exécuter
Un aperçu, recalculé à chaque fois.
Sert à mettre au point la définition. Si la base évolue, l’effectif change.
Alimenter
Une liste figée, conservée.
C’est cette liste que lit la page Données individuelles. Elle ne bouge plus tant que vous ne la régénérez pas.
L’intérêt est la reproductibilité. Un entrepôt hospitalier se met à jour en continu : sans instantané, deux analyses lancées à un mois d’intervalle ne portent pas sur les mêmes patients, et vos chiffres deviennent impossibles à retrouver. Figer la cohorte fixe le dénominateur.
Régénérer demande confirmation — Régénérer la cohorte — en rappelant que les effectifs peuvent différer si la base a changé.
Échanger avec OHDSI ATLAS
Une définition s’importe et s’exporte au format JSON d’OHDSI ATLAS. Une définition publiée par un réseau de recherche se rejoue donc sur votre base, et la vôtre peut partir vers un partenaire qui n’utilise pas Linkr. À l’import, Linkr annonce le nombre de critères détectés et les avertissements éventuels — ce qu’ATLAS exprime et que Linkr ne sait pas traduire.
Les cohortes voyagent avec le projet
Une cohorte fait partie de l’export : ses critères partent avec le projet, dans un fichier lisible et versionnable. Les résultats d’exécution, eux, restent locaux — ils dépendent de la base, pas de la définition.
Pour aller plus loin
- Résultats, SQL et rapport — exécuter, lire l’attrition, modifier le SQL, produire le rapport.
- Cohortes — ce qu’est une cohorte, et ce qu’elle alimente.
- Concepts — repérer les concepts à mettre dans un critère.
- Schémas — ce que le mapping doit déclarer pour que les critères fonctionnent.
- Concevoir une étude — écrire des critères d’inclusion défendables.