📁 Documentation technique – Nettoyage & Préparation des Données (Incidents Qualité)
🗓️ Dernière mise à jour : 5 avril 2025
👤 Responsable : Matthieu CARRE
📂 Projet : Suivi des incidents qualité multisites – Power BI / Jira
🧭 1. Objectif de cette page
Cette page documente les règles de traitement, de transformation et de nettoyage appliquées aux données extraites de Jira, en vue de leur exploitation dans Power BI.
Elle garantit la traçabilité, la cohérence, et la conformité réglementaire (BPF/GMP, intégrité des données, auditabilité).
📥 2. Sources de données
Source |
Description |
Fréquence |
Format |
---|---|---|---|
Jira Cloud (projet INC-QA) |
Tickets incidents qualité créés depuis le formulaire Confluence |
Quotidienne (automatisée) |
JSON (API REST) |
Fichier complémentaire (référentiel sites) |
Table de correspondance site / pays / langue |
Hebdomadaire (manuel) |
Excel |
📎 Connecteur utilisé dans Power BI : Jira REST API Connector
🧹 3. Étapes de nettoyage des données
a. Nettoyage de base
Suppression des lignes sans ID Jira
Retrait des tickets “brouillons” ou test (marqués par label
test
,dev
)Filtrage des tickets clos il y a plus de 12 mois (sauf incidents critiques)
b. Standardisation des valeurs
Champ |
Problème identifié |
Action de nettoyage |
---|---|---|
Gravité |
Saisie libre non uniforme |
Harmonisation via table de mapping (low/Low/LOW → Mineur) |
Pays / Site |
Écritures multiples / fautes |
Table de correspondance ( |
Type de défaut |
Multilingue ou imprécis |
Regroupement dans 10 familles types |
c. Champs dérivés créés
Champ dérivé |
Description |
Formule / Logique |
---|---|---|
Durée (heures) |
Temps écoulé entre création et clôture |
|
Priorité estimée |
Calculée si absente dans Jira |
Basée sur gravité + durée + site |
Criticité réglementaire |
Présence de mots-clés “GMP”, “compliance”, “patient” dans la description |
Extraction par regex + flags |
⚠️ 4. Règles de gestion spécifiques qualité
Un ticket est automatiquement classé critique si :
→ Gravité = Critique OU
→ Durée > 4h ET impact site prioritaire ET champImpact GMP
= OuiLes tickets sans assignee sont exclus des KPIs opérationnels mais conservés pour traçabilité.
Les tickets en doublon (même site, même description ± 1h) sont regroupés en un seul ID logique dans les vues agrégées.
🧪 5. Outils utilisés
Étape |
Outil utilisé |
Détail |
---|---|---|
Extraction Jira |
Power Query |
Requête personnalisée via API Jira REST |
Nettoyage et fusion |
Power Query + M Code |
Fonctions |
Validation finale |
Excel + validation manuelle |
Fichier validé par référent data QA |
🗂️ 6. Historique des versions
Date |
Modifications apportées |
Par |
---|---|---|
2025-03-18 |
Ajout du champ “Criticité réglementaire” |
M. CARRE |
2025-03-25 |
Passage à une extraction quotidienne automatisée Jira |
M. CARRE |
2025-04-01 |
Ajout du filtre "tickets test" et nettoyage doublons |
M. CARRE |
🔗 Ressources associées
📁 Technical Documentation – Data Cleaning & Preparation (Quality Incidents)
🗓️ Last updated: April 5, 2025
👤 Owner: Matthieu CARRE
📂 Project: Multisite Quality Incident Monitoring – Power BI / Jira / Confluence
🧭 1. Purpose of this page
This page documents the processing, transformation, and cleaning rules applied to data extracted from Jira before being used in Power BI.
It ensures traceability, consistency, and regulatory compliance (GMP/GxP, data integrity, audit readiness).
📥 2. Data sources
Source |
Description |
Frequency |
Format |
---|---|---|---|
Jira Cloud (project INC-QA) |
Quality incident tickets submitted via Confluence form |
Daily (automated) |
JSON (REST API) |
Supplementary site reference file |
Mapping of site / country / language |
Weekly (manual) |
Excel |
📎 Connector used in Power BI: Jira REST API Connector
🧹 3. Data cleaning steps
a. Basic cleaning
Remove rows with missing Jira ticket ID
Filter out test or draft tickets (tagged with
test
,dev
)Exclude tickets closed more than 12 months ago (except critical ones)
b. Value standardization
Field |
Issue identified |
Cleaning action |
---|---|---|
Severity |
Inconsistent free-text input |
Harmonized via mapping table (low/Low/LOW → Minor) |
Country / Site |
Typos / inconsistent spelling |
Corrected via reference mapping ( |
Defect Type |
Multilingual or vague entries |
Consolidated into 10 standardized categories |
c. Derived fields
Field |
Description |
Logic / Formula |
---|---|---|
Duration (hours) |
Time between ticket creation and closure |
|
Estimated Priority |
Computed if not defined in Jira |
Based on severity + duration + site weight |
GMP Risk Flag |
Based on keywords: “GMP”, “compliance”, “patient” in description |
Regex extraction and keyword flags |
⚠️ 4. Business logic – Pharma quality rules
A ticket is marked as Critical if:
→ Severity = Critical OR
→ Duration > 4h AND high-priority site ANDGMP Impact
= YesUnassigned tickets are excluded from operational KPIs but kept for traceability.
Duplicate tickets (same site, same description ± 1h) are merged into a single logical ID in aggregated views.
🧪 5. Tools used
Step |
Tool used |
Details |
---|---|---|
Jira data extraction |
Power Query |
Custom request via Jira REST API |
Cleaning & transformation |
Power Query + M Code |
Functions like |
Final validation |
Excel + Manual QA |
File reviewed by QA data lead |
🗂️ 6. Change log
Date |
Changes made |
By |
---|---|---|
2025-03-18 |
Added “GMP Risk Flag” field |
M. CARRE |
2025-03-25 |
Switched to automated daily Jira extraction |
M. CARRE |
2025-04-01 |
Added test ticket filter and deduplication rule |
M. CARRE |