Analyse comparative de deux traitements de désintoxication aux opioïdes à partir de deux essais cliniques NIDA (National Institute on Drug Abuse) : CTN-0001 (patients hospitalisés) et CTN-0002 (patients ambulatoires).
Groupe 5, M1 S1
Ce projet analyse les données de deux essais cliniques randomisés comparant :
- BUPNAL : Buprénorphine/Naloxone
- CLON : Clonidine
pour la détoxification rapide aux opioïdes sur une période de 13 jours, suivie d'une phase de suivi.
Référence principale : Ling et al., 2005 (Primary Publication)
Data Challenge 1/
├── data/raw/ # Domaines SDTM renommés, non versionnés (voir Données sources)
│ ├── dm1/2.csv # Démographie & bras de randomisation
│ ├── ds1/2.csv # Disposition (phases, abandon)
│ ├── ex1/2.csv # Exposition / dosages
│ ├── lb1/2.csv # Résultats labo (dépistages urinaires)
│ ├── mh1/2.csv # Antécédents médicaux
│ ├── sc1/2.csv # Sociodémographie
│ └── vs1/2.csv # Signes vitaux
│
├── notebooks/
│ ├── flowchart.ipynb # Diagramme CONSORT de flux patients
│ ├── Figure 1.ipynb # Courbe de rétention au fil du temps
│ └── Tableau 2.ipynb # Analyse d'efficacité & tests statistiques
│
├── src/
│ └── flowchart.py # Script Graphviz pour le diagramme CONSORT
│
├── Projet/ # Livrables
│ ├── figure1_retention.html
│ ├── Table1_Ambulatoire.html
│ ├── Table1_Hospitalisation.html
│ └── Mini-Rapport_Table1-Partielle.pdf
│
└── docs/ # Consignes et cahier des variables
| Étude | Cadre | Patients screenés | BUPNAL | CLON | Échec screening |
|---|---|---|---|---|---|
| CTN-0001 | Hospitalisé (IN) | 138 | 77 | 36 | 25 |
| CTN-0002 | Ambulatoire (OUT) | 273 | 156 | 74 | 43 |
| Total | 411 | 233 | 110 | 68 |
Randomisés : 343 patients (ratio BUPNAL:CLON ≈ 2:1)
Diagramme de flux des patients à travers les phases de l'essai :
- Screening → Randomisation → Phase active → Suivi
- Calcul des abandons précoces (< 14 jours) : 33 au total (14 BUPNAL, 19 CLON)
- Population Per-Protocol (PP) : 310 patients ayant complété la phase active de 13 jours
Courbe de proportion de patients retenus à chaque visite, stratifiée par :
- Bras de traitement (BUPNAL vs CLON)
- Cadre (hospitalisé vs ambulatoire)
Visualisation interactive générée avec Plotly → figure1_retention.html
Analyse du critère de jugement principal composite :
Un patient est répondeur si :
- Il a au moins une observation à VISITNUM ≥ 13 (rétention)
- Tous ses tests urinaires aux opioïdes à VISITNUM ≥ 13 sont négatifs (abstinence)
Tests statistiques :
- Test de proportion (unilatéral) : H₀ : p_BUPNAL = p_CLON vs H₁ : p_BUPNAL > p_CLON
- Intervalles de confiance à 95 %
- Analyses ITT et Per-Protocol
| Outil | Usage |
|---|---|
polars |
Traitement principal des données |
pandas |
Manipulation complémentaire |
scipy.stats |
Tests statistiques |
plotly |
Visualisations interactives |
matplotlib |
Figures statiques |
graphviz |
Diagramme CONSORT |
# Créer et activer l'environnement virtuel
python -m venv challenge1-env
challenge1-env\Scripts\activate # Windows
# Installer les dépendances
pip install polars pandas scipy plotly matplotlib graphvizjupyter notebook notebooks/Les données ne sont pas versionnées dans ce dépôt. Il s'agit de données individuelles d'essais cliniques, mises à disposition par NIDA Data Share après acceptation de conditions d'usage qui ne prévoient pas leur redistribution.
Pour reproduire les analyses, télécharger les deux études au format ASCII :
- CTN-0001, patients hospitalisés : https://datashare.nida.nih.gov/study/nida-ctn-0001
- CTN-0002, patients ambulatoires : https://datashare.nida.nih.gov/study/nida-ctn-0002
Décompresser chaque archive à la racine du dépôt, puis constituer data/raw/ en copiant les domaines utiles et en les renommant avec le suffixe de l'étude, 1 pour CTN-0001 et 2 pour CTN-0002. Les notebooks lisent data/raw/dm1.csv, data/raw/ds1.csv, data/raw/lb1.csv et leurs équivalents en 2.
Format : SDTM (Study Data Tabulation Model), avec un fichier define.xml de métadonnées. La publication de référence et le protocole d'essai accompagnent les archives sur NIDA Data Share ; ils ne sont pas non plus redéposés ici.
- BUPNAL présente une rétention numériquement supérieure à CLON sur l'ensemble des visites
- Les patients hospitalisés (IN) ont une meilleure rétention que les patients ambulatoires (OUT)
- L'analyse Per-Protocol confirme la tendance observée en ITT
- Le déséquilibre de randomisation 2:1 limite la puissance statistique pour certaines comparaisons