En résumé
Après avoir défini la population d’étude, il faut préciser quelles données collecter et à quel moment. Cet article couvre trois sections du Study Designer : les jeux de concepts (regrouper les codes médicaux), les ancrages temporels (définir les dates de référence) et les variables (configurer chaque donnée à extraire avec sa fenêtre temporelle et sa fonction d’agrégation).
Jeux de concepts
La section Jeux de concepts permet de créer des ensembles réutilisables de codes médicaux. Un jeu de concepts regroupe des codes issus de terminologies standardisées (CIM-10, SNOMED CT, LOINC, ATC…) qui décrivent un même concept clinique — par exemple, tous les codes correspondant au diagnostic de “sepsis”, ou tous les codes de prescriptions d’antibiotiques. Ces terminologies ont été présentées dans l’article sur les terminologies.
Ces jeux sont utilisés ensuite dans les critères de sélection (article précédent) et dans la définition des variables (ci-dessous).
Interopérabilité et extension multicentrique
Définir vos variables et critères à l’aide de terminologies standardisées dès la conception de l’étude garantit l’interopérabilité de votre protocole. Si vous envisagez une extension multicentrique ultérieure, ce travail préparatoire vous fera gagner un temps considérable : chaque centre pourra exploiter les mêmes jeux de concepts sans avoir à recréer les définitions.
Créer un jeu de concepts
Trois méthodes sont disponibles pour créer un jeu de concepts :
- Parcourir le catalogue — ouvre un catalogue de dictionnaires de jeux de concepts. Un dictionnaire regroupe des jeux de concepts prédéfinis, validés et prêts à l’emploi. Vous sélectionnez les jeux pertinents pour votre étude et les importez en un clic.
- Importer depuis une URL — importe un jeu de concepts depuis un lien externe, utile pour accéder à des dictionnaires qui ne sont pas encore inscrits dans le catalogue intégré
- Créer manuellement — crée un jeu vide auquel vous ajoutez les concepts un par un
Le dictionnaire INDICATE
Le catalogue inclut actuellement le INDICATE Data Dictionary, un dictionnaire de jeux de concepts standardisés développé dans le cadre du projet européen INDICATE. Ce dictionnaire offre un niveau d’abstraction au-dessus des terminologies brutes : plutôt que de manipuler des centaines de codes LOINC ou SNOMED CT individuels sur ATHENA ou ATLAS, vous travaillez directement avec des variables cliniques telles que “Fréquence cardiaque”, “Créatinine” ou “Diabète de type 2”, chacune associée à un jeu de concepts pré-sélectionnés par des experts. C’est ce niveau d’abstraction — la variable clinique, pas le code individuel — qui est utilisé dans les protocoles de recherche pour définir les données à collecter. D’autres dictionnaires pourraient être intégrés par la suite, créés par des sociétés savantes ou des groupes de travail spécialisés (oncologie, génétique, cardiologie…).
Gérer les concepts
Une fois un jeu de concepts créé, cliquez dessus pour l’ouvrir. Vous pouvez alors :
- Voir la liste des concepts inclus, avec pour chacun : le nom, le vocabulaire (CIM-10, LOINC…), le code et l’identifiant
- Inclure ou exclure chaque concept du jeu (un concept exclu ne sera pas utilisé dans les requêtes)
- Ajouter de nouveaux concepts (en recherchant sur ATHENA ou ATLAS)
- Supprimer des concepts existants
Chaque jeu de concepts permet aussi de définir :
- L’unité — choisie parmi une liste déroulante de codes UCUM (Unified Code for Units of Measure), le standard international des unités de mesure. Par exemple : mg/dL, mmol/L, bpm.
- Les valeurs min et max retenues — permettent de définir un intervalle de valeurs plausibles afin d’exclure automatiquement les données aberrantes lors de l’extraction.
À quoi servent les jeux de concepts ?
Un même jeu de concepts peut être réutilisé à plusieurs endroits : dans un critère de sélection (par exemple, “patients ayant un diagnostic de sepsis”) et dans une variable (par exemple, “valeur de créatinine la plus élevée”). Centraliser les codes dans un jeu de concepts évite les doublons et facilite la maintenance.
Ancrages temporels
Les ancrages temporels sont les dates de référence autour desquelles les variables sont collectées. Par exemple, si vous souhaitez mesurer la créatinine “dans les 24 heures suivant l’admission”, la date d’admission est l’ancrage temporel.
Les ancrages sont définis dans l’onglet Ancrages de la section Variables.
Types d’ancrages
Plusieurs types d’ancrages sont disponibles :
- Admission hospitalière — la date d’admission à l’hôpital. Vous précisez s’il s’agit de la première, de la dernière, ou de chaque admission. Vous pouvez aussi filtrer par nom d’hôpital.
- Sortie d’hospitalisation — la date de sortie de l’hôpital (première, dernière ou chaque sortie). Vous pouvez filtrer par nom d’hôpital.
- Admission en unité de soins — la date d’entrée dans une unité de soins. Vous précisez l’occurrence (première, dernière ou chaque) et vous pouvez filtrer par nom d’unité.
- Sortie d’unité de soins — la date de sortie d’une unité de soins (première, dernière ou chaque). Vous pouvez filtrer par nom d’unité.
- Événement (jeu de concepts) — une date liée à un jeu de concepts, par exemple la date du premier diagnostic de sepsis. Vous sélectionnez le jeu de concepts concerné et l’occurrence (première, dernière ou chaque).
- Texte libre — pour décrire un ancrage qui ne correspond à aucun des types ci-dessus
Chaque ancrage a un nom (par exemple : “Admission en réanimation”, “Diagnostic de sepsis”) et des précisions facultatives.
Pourquoi définir des ancrages ?
Dans une étude sur données de santé, le moment où une mesure est collectée est aussi important que la mesure elle-même. Les ancrages temporels permettent de formaliser cette information et de la reporter de manière cohérente dans tout le protocole, mais aussi pour générer automatiquement les scripts de l’étude.
Variables
L’onglet Variables de la même section permet de définir chaque donnée à extraire. Une variable correspond à une mesure, un résultat ou une caractéristique que vous souhaitez obtenir pour chaque individu de votre cohorte. Les notions de concept, d’ancrage temporel, de fenêtre de recueil et de fonction d’agrégation ont été présentées en détail dans l’article sur la définition des variables.
Créer une variable
Cliquez sur Ajouter une variable pour ouvrir le formulaire de création. Vous renseignez :
- Nom — le nom affiché de la variable (par exemple : “Créatinine à l’admission”)
- Identifiant — le nom technique utilisé dans les exports et les scripts générés (par exemple :
creatinine_admission) - Description — une description libre de la variable
- Type de données — continu, catégoriel, binaire, ordinal, date ou texte
Source de la variable
Deux types de variables sont disponibles :
- Jeu de concepts — la variable est extraite à partir d’un jeu de concepts défini précédemment. Vous sélectionnez le jeu dans un menu déroulant avec recherche.
- Variable calculée — la variable est dérivée de données structurelles du séjour ou des données démographiques du patient : âge, sexe, durée d’hospitalisation ou durée de séjour en unité.
Ancrage temporel et fenêtre de recueil
Chaque variable est rattachée à un ancrage temporel. C’est la date de référence à partir de laquelle la fenêtre de recueil est calculée.
La fenêtre de recueil précise l’intervalle autour de l’ancrage pendant lequel les données sont recherchées :
- Début — décalage par rapport à l’ancrage (un nombre négatif signifie “avant l’ancrage”)
- Fin — décalage par rapport à l’ancrage (peut également être négatif pour une fenêtre entièrement avant l’ancrage)
- Unité de temps — heures, jours, semaines, mois ou années
Par exemple, pour “la créatinine la plus élevée dans les 24 heures suivant l’admission” :
- Ancrage : admission
- Début : 0
- Fin : 24
- Unité : heures
Fonction d’agrégation
Lorsque plusieurs valeurs existent dans la fenêtre de recueil, vous choisissez comment les résumer :
- Première / Dernière — la première ou la dernière valeur chronologiquement
- Maximum / Minimum — la valeur la plus élevée ou la plus basse
- Moyenne / Médiane — la moyenne ou la médiane des valeurs
- Présence — indique si au moins une valeur existe (oui/non)
- Durée — la durée entre la première et la dernière valeur
- Nombre — le nombre de valeurs trouvées
- Somme — la somme des valeurs
Exemple concret
Pour une étude sur le sepsis, vous pourriez définir les variables suivantes :
- Lactate maximal à H24 — jeu de concepts “Lactate”, ancrage “Admission en réanimation”, fenêtre 0–24 heures, agrégation “Maximum”
- Créatinine à l’admission — jeu de concepts “Créatinine”, ancrage “Admission”, fenêtre −6 à +6 heures, agrégation “Première”
- Antécédent de diabète de type 2 — jeu de concepts “Diabète de type 2”, ancrage “Admission”, fenêtre null–0 (depuis toujours jusqu’à l’admission), agrégation “Présence”
- Âge — variable calculée “Âge”
Tableau et chronologie
Les variables définies sont affichées dans un tableau récapitulatif qui résume pour chaque variable : le nom, l’unité, l’ancrage temporel, la fenêtre de recueil et la fonction d’agrégation. Vous pouvez modifier ou supprimer chaque variable depuis ce tableau.
Une vue chronologique (timeline) est également disponible. Elle représente visuellement les ancrages temporels et les fenêtres de recueil de chaque variable sous forme de barres horizontales. C’est un bon moyen de vérifier d’un coup d’œil que toutes les fenêtres sont cohérentes.
Ce qu’il faut retenir
- Les jeux de concepts regroupent les codes médicaux (CIM-10, LOINC, ATC…) en ensembles réutilisables pour les critères et les variables, avec une unité (UCUM) et des valeurs min/max pour exclure les données aberrantes.
- Les ancrages temporels définissent les dates de référence (admission, sortie, événement clinique…) autour desquelles les variables sont collectées.
- Chaque variable est associée à un ancrage, une fenêtre de recueil et une fonction d'agrégation qui précisent quand et comment extraire la donnée.
- La vue chronologique permet de visualiser d'un coup d'œil les fenêtres de recueil de toutes les variables.