Gestion des bases de données
Fabrice GOURMELON
URC/CIC Paris Descartes Necker - Cochin
DU Chef de Projet en Recherche Clinique
30/11/2018
A. Qu’est-ce qu’une donnée ?
B. Qu’est-ce qu’une base de données ?
C. Définition de base de données
D. Accès à une base de données
E. Schéma relationnel
F. Système de Gestion des Bases de Données (SGBD)
G. Outils utilisés en Recherche clinique
H. Data Management
Fabrice Gourmelon - URC/CIC Necker - Cochin
2
A. Qu’est-ce qu’une donnée ?
• C’est une information quelconque
▫ Je m’appelle Fabrice
• Relation entre plusieurs informations
▫ Je suis Data Manager à l’URC/CIC Necker-Cochin à Paris
Collection ordonnée d’informations pour un même individu
Introduction Fabrice Gourmelon - URC/CIC Necker - Cochin
3
B. Qu’est-ce qu’une base de
données
• Ensemble volumineux d’informations
• Caractéristique essentielle : mémoriser les informations de manière permanente
Introduction Fabrice Gourmelon - URC/CIC Necker - Cochin
4
C. Définition
• Une Base de données est un gros ensemble d’informations structurées mémorisées sur un support permanent.
Introduction Fabrice Gourmelon - URC/CIC Necker - Cochin
5
D. Accès à une base de données
• Données réparties en tables (entités)
• Une table est composée de lignes
• Une ligne est un ensemble fixe de champs (attributs)
• Un champ a un nom et un type
Introduction Fabrice Gourmelon - URC/CIC Necker - Cochin
6
Champ_1 Champ_2 Champ_3 Champ_4 Champ_5
Donnée1 Donnée1 Donnée1 Donnée1 Donnée1
Donnée2 Donnée2 Donnée2 Donnée2 Donnée2
Donnée3 Donnée3 Donnée3 Donnée3 Donnée3
Donnée4 Donnée4 Donnée4 Donnée4 Donnée4
Donnée5 Donnée5 Donnée5 Donnée5 Donnée5
D. Accès à une base de données (2)
• Une base de données est une collection de tables
Introduction Fabrice Gourmelon - URC/CIC Necker - Cochin
7
Table1
Base de données
D. Accès à une base de données (3)
• BD relationnelle = collection de tables qui ont un champ commun
Introduction Fabrice Gourmelon - URC/CIC Necker - Cochin
8
Table1
Base de données
E. Schéma relationnel
Introduction
• Ensemble des schémas des tables définies dans cette base de données
▫ Clés primaires (Identifiant unique d’une ligne de la table)
▫ Clés étrangères
Création de liaisons fixes entre les tables
• Une clé étrangère dans une table est une clé primaire dans une autre table
▫ Liaisons : Un-à-Un, Un-à-Plusieurs
▫ Intégrité référentielle
Fabrice Gourmelon - URC/CIC Necker - Cochin
9
E. Schéma relationnel (2)
Introduction
Entité (table)
Attributs (variables)
Liaison
Clé Primaire
Clé Etrangère
Fabrice Gourmelon - URC/CIC Necker - Cochin
10
F. Système de Gestion des Bases de
Données (SGBD)
• Recours à un outil chargé de :
▫ Gérer les fichiers constituant une base de données
▫ Prendre en charge les fonctionnalités de protection et de sécurité
▫ Fournir les différents types d’interfaces nécessaires à l’accès aux données
Introduction Fabrice Gourmelon - URC/CIC Necker - Cochin
11
F. Système de Gestion des Bases de
Données (SGBD) (2)
• Définition
▫ Un Système de Gestion de Bases de Données (SGBD) est un logiciel qui permet de manipuler les informations stockées dans une base de données tout en cachant la complexité des opérations
(lecture, création, modification, suppression…)
Introduction Fabrice Gourmelon - URC/CIC Necker - Cochin
12
F. Système de Gestion des Bases de
Données (SGBD) (3)
• Exemples de SGBD
▫ Microsoft Access
▫ Microsoft SQL Server
▫ MySQL / MariaDB
▫ OpenOffice Base / LibreOffice Base
▫ Oracle Database
▫ PostgreSQL
▫ Sybase
▫ FileMakerPro
Introduction Fabrice Gourmelon - URC/CIC Necker - Cochin
13
G. Outils utilisés en Recherche
Clinique • REDCap (MySQL)
• CleanWEB (MySQL)
• Ennov Clinical (Oracle Database)
• Oracle Clinical (Oracle Database)
• Clintrial (Oracle Database)
• OpenClinica (PostgreSQL)
Utilisation :
CRF papier + Saisie dans une base de données
CRF électronique
Introduction Fabrice Gourmelon - URC/CIC Necker - Cochin
14
H. Data Management
• Définition
▫ Le Data Management est l'activité de gestion des données de la recherche clinique permettant d'obtenir une base de données cohérente et exploitable par les statisticiens afin de répondre aux objectifs de l'étude.
Introduction Fabrice Gourmelon - URC/CIC Necker - Cochin
15
A. Annotation du CRF
B. Dictionnaire des données
C. Création des tables
D. Création du masque de saisie
E. Définition des contrôles de cohérence
F. Convention de saisie / Mode d’emploi
G. Test de la base
Pré-requis : Protocole finalisé et Listing/CRF validé
Intervenants : DM, IP, BioStat, CP/CEC, ARC, TEC
Fabrice Gourmelon - URC/CIC Necker - Cochin
16
A. Annotation du CRF
• Première étape pour structurer l’information du questionnaire dans une base de données
▫ Traduire « informatiquement » le CRF
• Fractionner le CRF en groupes de données
▫ Groupe de données => Table
• Annoter un CRF vierge en indiquant un nom de variable pour chaque items à saisir
▫ Nom et type des variables, Liste des codes
I. Préparation de la base de données Fabrice Gourmelon - URC/CIC Necker - Cochin
17
A. Annotation du CRF (2)
I. Préparation de la base de données
Variable
Codes
Fabrice Gourmelon - URC/CIC Necker - Cochin
18
B. Dictionnaire des données
I. Préparation de la base de données
• Description plus complète de la variable
▫ Table où elle se situe
▫ Nom de la variable
▫ Type de la variable (texte, date, entier, réel…)
▫ Format de la variable (taille, décimale…)
▫ Unité
▫ Libellé
▫ Liste de codes (pour les QCM)
Doit être revu par le Data Manager et le Statisticien
Fabrice Gourmelon - URC/CIC Necker - Cochin
19
B. Dictionnaire des données (2)
I. Préparation de la base de données Fabrice Gourmelon - URC/CIC Necker - Cochin
20
C. Création des tables
I. Préparation de la base de données
• Début de la construction de la base de données
• Création des Tables dans le SGBD à partir du dictionnaire de données
▫ Création manuelle dans le SGBD
▫ Utilisation du langage SQL
▫ Création automatique des tables
à partir du dictionnaire de données (ex: import csv)
à partir des formulaires de saisie créés
Fabrice Gourmelon - URC/CIC Necker - Cochin
21
C. Création des tables (2)
I. Préparation de la base de données Fabrice Gourmelon - URC/CIC Necker - Cochin
22
• Exemple de création manuelle dans le SGBD :
▫ Création des variables une à une (Risque d’oublis)
• Préférence : Automatiser la création des tables
▫ Générer des scripts SQL à partir du dictionnaire des données
D. Création du masque de saisie
I. Préparation de la base de données
• Espaces de saisie dans l'interface utilisateur comportant plusieurs zones
▫ Texte, Radio-button, Combo-box, Cases à cocher, Listes, Boutons
• Interactivité entre l’utilisateur et la base de données
• Homogénéisation du format des entrées
• Contrôle des entrées
Fidèle au CRF Papier, Conviviale
Fabrice Gourmelon - URC/CIC Necker - Cochin
23
D. Création du masque de saisie (2)
I. Préparation de la base de données Fabrice Gourmelon - URC/CIC Necker - Cochin
24
Module
Formulaire
Variable
D. Création du masque de saisie (3)
I. Préparation de la base de données Fabrice Gourmelon - URC/CIC Necker - Cochin
25
Création d’une
variable (1/2)
D. Création du masque de saisie (4)
I. Préparation de la base de données Fabrice Gourmelon - URC/CIC Necker - Cochin
26
Création d’une
variable (2/2)
D. Création du masque de saisie (5)
I. Préparation de la base de données Fabrice Gourmelon - URC/CIC Necker - Cochin
27
Aperçu du formulaire
E. Définition des contrôles de
cohérences
I. Préparation de la base de données
• Liste des contrôles effectués sur les données
▫ Référence du contrôle
▫ Table et variable concernée
▫ Message pour les investigateurs
• Réalisation à partir des documents suivants
▫ Protocole
▫ CRF
▫ Dictionnaire des données
Fabrice Gourmelon - URC/CIC Necker - Cochin
28
E. Définition des contrôles de
cohérences (2)
I. Préparation de la base de données Fabrice Gourmelon - URC/CIC Necker - Cochin
29
F. Conventions de saisie / Mode
d’emploi
I. Préparation de la base de données
• Conventions générales
▫ Comment accéder au logiciel de saisie
▫ Comment créer, modifier et valider un dossier
▫ Codage des données manquantes ou illisibles
ND/08/2012 -> 01/08/2012
Saisir « ILLISIBLE » dans la zone de texte
Cocher « ANOMALIE » si plus d’une case est cochée
• Conventions particulières
▫ Conventions spécifiques pour un formulaire
Fabrice Gourmelon - URC/CIC Necker - Cochin
30
G. Test de la base
I. Préparation de la base de données
• Saisie de patients fictifs
▫ Masque de saisie vs CRF papier/Listing variables
▫ Convivialité, ergonomie
▫ Champs de saisie (taille, formats…)
• Extraction des données
▫ Vérification des enregistrements dans les tables
▫ Vérification des requêtes d’export
• => Mise en production
Fabrice Gourmelon - URC/CIC Necker - Cochin
31
A. Type de support
B. Réception des CRF papiers (spécifique CRF papier + BDD)
C. Type de saisie (spécifique CRF papier + BDD)
D. Gestion des droits d’accès
E. Audit-trail
F. Sauvegardes
G. Exemple
Fabrice Gourmelon - URC/CIC Necker - Cochin
32
A. Type de support
II. Saisie des données
• Cahier d’observation papier (CRF)
▫ Saisie dans la base par un opérateur de saisie
▫ Saisie faite à partir des CRF papiers
• Cahier d’observation électronique (eCRF)
▫ Saisie directe par les investigateurs / TECs
▫ Pas de support papier
Fabrice Gourmelon - URC/CIC Necker - Cochin
33
B. Réception des CRF papiers
II. Saisie des données
• Le Data Manager vérifie :
▫ Remplissage du bandeau d’identification du CRF
▫ Pages manquantes ou illisibles
• Suivi de la réception des CRF :
▫ Nombre de CRF reçus le mois en cours
▫ Nombre de CRF reçus au total
Fabrice Gourmelon - URC/CIC Necker - Cochin
34
C. Type de saisie
II. Saisie des données
• Saisie simple
• Double saisie
▫ Indépendante
Confrontation des bases 1 et 2 par le Data Manager
Correction des erreurs en se basant sur le CRF
▫ Interactive
En cas de discordance, une alerte est présentée au deuxième opérateur de saisie
Fabrice Gourmelon - URC/CIC Necker - Cochin
35
C. Type de saisie (2)
II. Saisie des données
• Import des données externes
▫ Résultats de laboratoires, imagerie, Auto-questionnaires, objets connectés …
• Suivi de la saisie (global et mensuel)
▫ Nombre de CRF saisis en base 1
▫ Nombre de CRF saisis en base 2
Fabrice Gourmelon - URC/CIC Necker - Cochin
36
D. Gestion des droits d’accès
II. Saisie des données
• Compte individuel
• Mot de passe à renouveler régulièrement
• Durée de session limitée (ex: 30 min d’inactivité)
• Compte bloqué après 3 échecs d’authentification
• Accès limité aux besoins de l’utilisateur
Fabrice Gourmelon - URC/CIC Necker - Cochin
37
E. Audit-trail (1/2)
II. Saisie des données
• Suivi des saisies et des modifications des données :
▫ Qui ? (Nom de l’utilisateur)
▫ Quand ? (Date de la saisie)
▫ Quoi ? (variable concernée)
▫ Ancienne valeur ? (vide si saisie initiale)
▫ Nouvelle valeur ?
Fabrice Gourmelon - URC/CIC Necker - Cochin
38
E. Audit-trail (2/2)
II. Saisie des données Fabrice Gourmelon - URC/CIC Necker - Cochin
39
F. Sauvegardes
II. Saisie des données
• Copie de la base sur différents supports (serveurs, disque local…)
▫ Manuelle par Data Manager ou Administrateur
▫ Automatique par tâche planifiée
• Sauvegardes fréquentes / Automatiques
• Archivage des anciennes versions
Garantie de ne pas perdre le travail
Fabrice Gourmelon - URC/CIC Necker - Cochin
40
G. Exemple
II. Saisie des données
Sélection du patient
Fabrice Gourmelon - URC/CIC Necker - Cochin
41
G. Exemple (2)
II. Saisie des données
Sélection du formulaire
Fabrice Gourmelon - URC/CIC Necker - Cochin
42
G. Exemple (3)
II. Saisie des données
Saisie des données
Fabrice Gourmelon - URC/CIC Necker - Cochin
43
G. Exemple (4)
II. Saisie des données
Contrôle et enregistrement des
réponses
Fabrice Gourmelon - URC/CIC Necker - Cochin
44
A. Programmation des contrôles de cohérences
B. Edition de listing des queries
C. Circuit des demandes de correction (DCF)
D. Correction des données
E. Statut des queries
F. Description des données
G. Contrôle qualité de la base de données (spécifique CRF papier + BDD)
Fabrice Gourmelon - URC/CIC Necker - Cochin
45
A. Programmation des contrôles
de cohérences
III. Contrôle des données
Requêtes (SQL) détectant les incohérences :
• Déviations au protocole
▫ Critères d’inclusion cochés sur « Non »
• Incohérences sur une donnée ou entre plusieurs données
▫ Test de grossesse positif pour un homme
▫ Date de la visite 2 antérieure à la date de visite 1
• Données manquantes
• Doublons
• Format invalide (QCM, entier, réel, date…)
Fabrice Gourmelon - URC/CIC Necker - Cochin
46
A. Programmation des contrôles
de cohérences (2)
III. Contrôle des données
- Définition des bornes
- Définition des dates « limites »
- Variables obligatoires
- Conditions de saisie
Fabrice Gourmelon - URC/CIC Necker - Cochin
47
A. Programmation des contrôles
de cohérences (3)
III. Contrôle des données
- Incohérences entre les données
- Déviation au protocole
Fabrice Gourmelon - URC/CIC Necker - Cochin
48
B. Edition des listings des queries
III. Contrôle des données
• Exécution des programmes de contrôles
▫ Listing des queries ouvertes
Référence / Type
Date de l’émission
Référence du patient
Centre du patient
Nom de la visite
Table et variable de la base de données
Valeur de la données
Message de la query
Fabrice Gourmelon - URC/CIC Necker - Cochin
49
B. Edition des listings des queries
(2)
III. Contrôle des données Fabrice Gourmelon - URC/CIC Necker - Cochin
50
C. Circuit des demandes de
corrections (DCF)
III. Contrôle des données
Incohérences => Demande de correction (DCF)
Sauf pour les corrections autorisées
• Transmission des DCF
▫ Data Manager => ARC => Investigateur
• Retour des DCF
▫ Investigateur => ARC => Data Manager
• Suivi des envois et retours
▫ Nombre d’envois et de retours le mois en cours
▫ Nombre d’envois et de retours au total
Fabrice Gourmelon - URC/CIC Necker - Cochin
51
C. Circuit des demandes de
corrections (DCF) (2)
III. Contrôle des données Fabrice Gourmelon - URC/CIC Necker - Cochin
52
D. Correction des données
III. Contrôle des données
• Retour des DCF
▫ Saisie des nouvelles valeurs dans la base à partir des DCF datées et signées par l’investigateur
• Corrections autorisées
▫ Correction des données par le Data Manager sans passer par une DCF
▫ Les corrections autorisées sont définies
Traitements pris : Oui Non
Si oui, préciser : Aspirine
Fabrice Gourmelon - URC/CIC Necker - Cochin
53
E. Statut des queries
III. Contrôle des données
• Statut des queries :
▫ Ouvert
▫ Clôturé
Valeur corrigée
Valeur confirmée
Valeur non vérifiable
• Exécution régulières des contrôles et émission des DCF
▫ Tant que la saisie n’est pas terminée
▫ Tant qu’il reste des queries ouvertes
Fabrice Gourmelon - URC/CIC Necker - Cochin
54
E. Statut des queries (2)
III. Contrôle des données Fabrice Gourmelon - URC/CIC Necker - Cochin
55
F. Description des données
III. Contrôle des données
• Taux de remplissage pour chaque données
▫ Nombre de données saisies
▫ Nombre de données attendues
• Statistique descriptives pour les données quantitatives
▫ Minimum
▫ Maximum
▫ Moyenne
Fabrice Gourmelon - URC/CIC Necker - Cochin
56
G. Contrôle qualité de la base de
données
III. Contrôle des données
• Comparaison : CRF papier vs base de données
• Tirage au sort des CRF papier
▫ RACINE(N) + 1 (N = Nombre de CRF)
• Vérification de 100% des items du critère de jugement principal
▫ Taux d’erreur accepté : 1 pour 1000
Fabrice Gourmelon - URC/CIC Necker - Cochin
57
G. Contrôle qualité de la base de
données (2)
III. Contrôle des données
• Test concluant (taux d’erreur < 1/1000)
▫ Données de bonne qualité
• Test non concluant (taux d’erreur > 1/1000)
▫ On refait un tirage au sort
Test concluant (taux d’erreur < 1/1000)
Données de bonne qualité
Test non concluant (taux d’erreur > 1/1000)
La saisie doit être refaite
Fabrice Gourmelon - URC/CIC Necker - Cochin
58
A. Définition
B. MedDRA
Fabrice Gourmelon - URC/CIC Necker - Cochin
59
A. Définition
IV. Codification
• Choix d’un terme de référence en vue d’une exploitation informatique
• Que doit-on coder ?
▫ Les événements indésirables
▫ Les traitements médicamenteux
▫ Les actes diagnostiques
▫ Les actes thérapeutiques
Fabrice Gourmelon - URC/CIC Necker - Cochin
60
B. MedDRA
IV. Codification Fabrice Gourmelon - URC/CIC Necker - Cochin
61
Hiérarchie structurelle de la terminologie MedDRA (+ nombre de termes uniques v21.1)
• SOC (Classification par discipline médicale) : 27
▫ HLGT (Groupes de termes de haut niveau) : 337
HLT (Terme de haut niveau) : 1 737
PT (Terme préférentiel) : 23 389
▫ LLT (Terme de plus bas niveau) : 79 507
Fabrice Gourmelon - URC/CIC Necker - Cochin
62
Réconciliation avec la base de PV
V. Réconciliation avec la base de PV
• Echange d’information sur les EIG avec la PV du promoteur
• Vérification des EIG en commun
▫ Patient profile : caractéristiques + données EIG
▫ Nombre d’EIG dans chaque base
• En cas de différence :
▫ Requête de PV
Fabrice Gourmelon - URC/CIC Necker - Cochin
63
A. Définition
B. Objectifs
Fabrice Gourmelon - URC/CIC Necker - Cochin
64
A. Définition
VI. Blind-Review
• Réunion de revue des données : c’est la mise en commun de toutes les information de l’essai
• Elle a lieu quand toutes les données de l’étude sont recueillies, saisies et validées
• Protagonistes : Data Manager, Chef de Projets (+/- ARC), Statisticien, Investigateur coordonnateur
Fabrice Gourmelon - URC/CIC Necker - Cochin
65
B. Objectifs
VI. Blind-Review
• Revoir les conditions de réalisation de l’étude
• Spécifier les déviations définies dans le protocole
• Vérifier les paramètres d’efficacité
• Déterminer les population d’analyse
• Revoir le plan d’analyse statistique
• S’assurer de la conformité des consentements
Des requêtes peuvent encore être émises suite à cette réunion
Fabrice Gourmelon - URC/CIC Necker - Cochin
66
A. Gel de la base
B. Export des données
C. Transfert des données au statisticien
D. Archivage
Fabrice Gourmelon - URC/CIC Necker - Cochin
67
A. Gel de la base
VII. Gel de la base / Transfert
• Tous les CRF sont saisis
• Toutes les corrections sont intégrées
• Monitoring terminé
• Contrôle de cohérences : pas d’anomalies
• Codification validée
• Contrôle qualité effectué
• Consolidation avec la PV
• Réunion de Blind-Review réalisée
• Plan d’analyse statistique validé
Fabrice Gourmelon - URC/CIC Necker - Cochin
68
A. Gel de la base (2)
VII. Gel de la base / Transfert
• Verrouillage informatique par le Data Manager:
▫ Base de données accessible
▫ Données non modifiables
Lecture seule
• « Dégel » possible si :
▫ Prévu par une procédure
▫ Justifié
▫ Tracé
Fabrice Gourmelon - URC/CIC Necker - Cochin
69
A. Gel de la base (3)
VII. Gel de la base / Transfert Fabrice Gourmelon - URC/CIC Necker - Cochin
70
B. Export des données
VII. Gel de la base / Transfert Fabrice Gourmelon - URC/CIC Necker - Cochin
71
C. Transfert
VII. Gel de la base / Transfert
• Transmission au statisticien
▫ Données de l’étude Protection par un mot de passe
Format des fichiers (SAS, Excel, CSV…)
▫ Documentation Protocole
CRF annoté
Dictionnaire des données
Fabrice Gourmelon - URC/CIC Necker - Cochin
72
D. Archivage
VII. Gel de la base / Transfert
• Mise de la base « Hors ligne »
▫ Accès utilisateurs désactivés
• Sauvegarde des données
▫ Export csv, txt
▫ Export pdf par patient
▫ Sauvegarde de l’audit-trail
Fabrice Gourmelon - URC/CIC Necker - Cochin
73
A. Etapes (CRF papier + Base de données)
B. Etapes (eCRF)
C. Conseils
Fabrice Gourmelon - URC/CIC Necker - Cochin
74
A. Etapes (CRF papier + BDD)
Conclusion Fabrice Gourmelon - URC/CIC Necker - Cochin
75
A. Etapes (eCRF)
Conclusion Fabrice Gourmelon - URC/CIC Necker - Cochin
76
B. Conseils
Conclusion
• Impliquer tous les intervenants dans la préparation
▫ CP, Investigateur, ARC, TEC, Data Manager, Biostatisticien
• Ne pas « brûler » les étapes
▫ Le temps « gagné » au début sera perdu à la fin
• Modifications du CRF en cours d’étude
▫ Impact sur toutes les étapes du data management
▫ Perte de temps
▫ Risque (modifications sur une base en production)
Fabrice Gourmelon - URC/CIC Necker - Cochin
77
Top Related