DEVELOPPEMENT D'UN SYSTEME DE DETECTION D'EVENEMENTS INHABITUELS DANS LA SURVEILLANCE DES SALMONELLES D'ORIGINE NON HUMAINE PAR DES METHODES STATISTIQUES d'ANALYSE DE SERIES TEMPORELLES RAPPORT DE STAGE Tiba BAROUKH Réalisé sous la direction de Corinne Danan AFSSA et Yann Le Strat Institut de veille sanitaire

Technical Report (PDF Available) · September 2007with 102 Reads
DOI: 10.13140/RG.2.2.28143.33444
Affiliation: 20291
Abstract
Les salmonelloses sont des zoonoses bactériennes transmises par les aliments et sont désignées comme les principales causes de toxi-infections alimentaires collectives en France. Le réseau Salmonella (RS) est un des réseaux d'épidémiosurveillance animé par l'AFSSA (Agence Française de Sécurité Sanitaire des Aliments) qui permet de caractériser les salmonelles présentes sur la chaîne alimentaire depuis une dizaine d'années. Les effectifs des différents sérovars au cours du temps sont stockés dans une base ACCESS avec leur origine, lieu de prélèvement et laboratoire de réception, ainsi que la date de réception à l'AFSSA. Le développement d'un système de détection automatisée d'évènements inhabituels dans la surveillance des salmonelles d'origine non humaine par des méthodes statistiques d'analyse de séries temporelles suit une étude de faisabilité faite sur les données du RS (Danan 2007). Le projet réalisé dans le cadre de ce master a permis d'aller plus loin dans :-la sélection des données les plus robustes pour les analyses statistiques;-l'extraction des données du RS par requêtes SQL dans R, à l'aide des packages RODBC (Ripley 2008) et sqldf (Grothendieck 2008) ;-le traitement des données, plus particulièrement, la construction des séries temporelles pour chacun des sérovars sélectionnés à l'aide du package Surveillance et l'utilisation des algorithmes de Farrington (Farrington 1996), RKI (Höhle et al 2005) et Bayes (Riebler 2004), pour générer des alarmes statistiques ;-la comparaison des différentes méthodes statistiques au regard des alarmes statistiques obtenues ;-la construction de sorties et d'outils d'aide à la décision pour une exploitation simplifiée des alarmes : visualisation des séries temporelles et des alarmes à l'aide de sorties graphiques, journaux hebdomadaires des alarmes statistiques et production de tables ACCESS, dans la base de données du RS à l'aide du package RODBC, rassemblant les informations épidémiologiques relatives aux alarmes. Ce travail est une étape préalable indispensable pour renforcer les activités de surveillance du RS et passer à terme à une détection prospective des événements de cette surveillance.
1
LERQAP
23, avenue du Général de Gaulle
94704 Maisons-Alfort cedex
UNIVERSITE PARIS 11
63, rue Gabriel Péri
94276 Le Kremlin-Bicêtre cedex
DEVELOPPEMENT D’UN SYSTEME DE DETECTION
D’EVENEMENTS INHABITUELS DANS LA SURVEILLANCE DES
SALMONELLES D’ORIGINE NON HUMAINE PAR DES METHODES
STATISTIQUES d’ANALYSE DE SERIES TEMPORELLES
RAPPORT DE STAGE
Tiba BAROUKH
Réalisé sous la direction de Corinne Danan AFSSA et Yann Le Strat Institut de veille
sanitaire
Date de soutenance : 08/09/2008
Année universitaire 2007-2008
MASTER 2EME ANNEE Santé publique Paris XI
Méthodologie et Statistiques en Recherche Biomédicale
2
Résumé
Les salmonelloses sont des zoonoses bactériennes transmises par les aliments et sont
désignées comme les principales causes de toxi-infections alimentaires collectives en
France. Le réseau Salmonella (RS) est un des réseaux d'épidémiosurveillance animé par
l'AFSSA (Agence Française de Sécurité Sanitaire des Aliments) qui permet de caractériser
les salmonelles présentes sur la chaîne alimentaire depuis une dizaine d’années. Les
effectifs des différents sérovars au cours du temps sont stockés dans une base ACCESS
avec leur origine, lieu de prélèvement et laboratoire de réception, ainsi que la date de
réception à l’AFSSA.
Le développement d’un système de détection automatisée d‘évènements inhabituels dans la
surveillance des salmonelles d’origine non humaine par des méthodes statistiques d’analyse
de séries temporelles suit une étude de faisabilité faite sur les données du RS (Danan 2007).
Le projet réalisé dans le cadre de ce master a permis d’aller plus loin dans :
- la sélection des données les plus robustes pour les analyses statistiques;
- l’extraction des données du RS par requêtes SQL dans R, à l’aide des packages RODBC
(Ripley 2008) et sqldf (Grothendieck 2008) ;
- le traitement des données, plus particulièrement, la construction des séries temporelles
pour chacun des sérovars sélectionnés à l’aide du package Surveillance et l’utilisation des
algorithmes de Farrington (Farrington 1996), RKI (Höhle et al 2005) et Bayes (Riebler 2004),
pour générer des alarmes statistiques ;
- la comparaison des différentes méthodes statistiques au regard des alarmes statistiques
obtenues ;
- la construction de sorties et d’outils d’aide à la décision pour une exploitation simplifiée des
alarmes : visualisation des séries temporelles et des alarmes à l’aide de sorties graphiques,
journaux hebdomadaires des alarmes statistiques et production de tables ACCESS, dans la
base de données du RS à l’aide du package RODBC, rassemblant les informations
épidémiologiques relatives aux alarmes.
Ce travail est une étape préalable indispensable pour renforcer les activités de surveillance
du RS et passer à terme à une détection prospective des événements de cette surveillance.
Mots-clés : ACCESS, alerte, épidémiosurveillance, R, RODBC, réseau Salmonella,
salmonelles, séries temporelles, sérovar, sqldf, surveillance, zoonose, chaîne
agroalimentaire
3
Résumé ................................................................................................................................ 2
Tableaux ........................................................................................................................ 4
Figures ........................................................................................................................... 4
Annexes ......................................................................................................................... 4
Introduction ......................................................................................................................... 5
Bibliographie ....................................................................................................................... 7
I - Les salmonelloses humaines ..................................................................................... 7
I-1 Agent ........................................................................................................................ 7
I-2 Réservoir ................................................................................................................... 7
I-3 Mode de contamination ............................................................................................. 7
I-4 Symptômes - Diagnostic - Traitement - Prévention.................................................... 8
I-5 Epidémiologie ............................................................................................................ 9
II Contexte et dispositifs de surveillance des salmonelles .......................................10
II- 1 Etat des lieux ..........................................................................................................10
II-2 Le dispositif de surveillance des salmonelloses humaines ......................................11
II-3 Le dispositif de surveillance des salmonelles d'origine non humaine .......................13
III Les méthodes statistiques .........................................................................................17
III-1 Les méthodes de régression .................................................................................18
III-2 Les méthodes de séries temporelles .....................................................................19
III-3 Les méthodes des cartes de contrôle ....................................................................20
III-4 Conclusion .............................................................................................................21
Travail personnel ................................................................................................................22
I - Analyse et sélection des données du RS .....................................................................22
I-1 Fonctionnement du Réseau Salmonella ...................................................................22
I-2 Activités et objectifs .................................................................................................22
I-3 Nature de l'information ......................................................................................................... 23
II Traitements des données .........................................................................................27
II-1 Packages R .............................................................................................................27
II-2 Sélection des données ............................................................................................28
II-3 Les phases principales ....................................................................................................... 29
III Construction des sorties ............................................................................................31
III-1 Préparation du vecteur alarme ...............................................................................31
III-2 Exploitation du vecteur alarme ...............................................................................32
III-3 Comparaison des alarmes statistiques ........................................................................... 33
IV Conclusion et perspectives .......................................................................................33
IV-1 Bilan sur la détection d'évènements inhabituels .....................................................33
V-2 Qualité des informations .........................................................................................34
V-3 Enrichissement du modèle : ....................................................................................35
Glossaire .............................................................................................................................36
Bibliographie ......................................................................................................................38
Remerciements ...................................................................................................................41
Annexes ..............................................................................................................................42
4
Tableaux, figures et annexes
Tableaux
Tableau 1 : Fréquence moyenne d’échantillons positifs détectés dans la CE ....................... 8
Tableau 2 : Champs principaux de la table sérotypie ..........................................................25
Tableau 3 : Structure et contenu des données extraites des BD salmo .............................. 30
Tableau 4 : Les données utilisées pour la construction des séries temporelles ...................31
Figures
Figure 1 : Incidence des salmonelloses humaines dans la Communauté Européenne en
2006 ..................................................................................................................................... 9
Figure 2 : Incidence par tranche d’âge des cas confirmés de salmonelloses humaines par les
systèmes d’épidémiosurveillance dans la Communauté Européenne en 2006 ....................10
Figure 3 : Incidence mensuelle et par sérovar des cas confirmés de salmonelloses humaines
par les systèmes d’épidémiosurveillance dans la Communauté Européenne, en 2006 .......11
Figure 4 : Circuit des DO des TIAC en France ....................................................................12
Figure 5 : Acteurs de la surveillance des salmonelles dans le secteur agro-alimentaire en
France .................................................................................................................................16
Figure 6 : Circuit des informations du RS ............................................................................24
Figure 7 : Modèle de données du Réseau Salmonella.........................................................26
Figure 8 : La structure du temps pour les séries temporelles ...............................................28
Annexes
Annexe 1 : fonctions odbcConnectAccess, sqlQuery et sqlSave .........................................42
Annexe 2 : fonction sqldf du package sqldf ..........................................................................43
Annexe 3 : fonctions create.disProg et algo.method du package surveillance .....................43
Annexe 4 : descriptif des tables alarmeslibelle ...................................................................44
Annexe 5 : graphique des alarmes générées par 3 méthodes statistiques, sur la période
janvier2006-20août2008, pour la surveillance des souches .................................................45
Annexe 6 : Fichier récapitulatif hebdomadaire .....................................................................60
Annexe 7 : Fiche de diagnostic mensuel de sérotypage des salmonelles ............................62
Annexe 8 : Dossier de programmation ................................................................................63
Annexe 9 : Programme AnalyseHebdomadaire ...................................................................70
5
Introduction
Les salmonelles non typhiques sont une des principales causes de zoonoses bactériennes
d'origine alimentaire; elles sont des parasites intestinaux des animaux vertébrés et des
oiseaux transmis à l'homme par le biais d'aliments contaminés (Weill 2008).
Les salmonelloses d’origine alimentaire peuvent donner lieu à des foyers très importants, qui
peuvent atteindre une échelle nationale (et même internationale) si un aliment commercialisé
à large diffusion se trouve contaminé.
Les infections à salmonelles constituent donc une préoccupation majeure des organismes
chargés de la sécurité sanitaire des aliments, compte tenu de leurs conséquences en santé
publique et sur le plan économique. Le caractère zoonotique de cet agent pathogène
implique que la surveillance soit exercée à tous les niveaux, aussi bien chez l’homme, qu’en
amont de la chaîne alimentaire, dans les secteurs de la santé et production animales, les
aliments et l’environnement.
Par définition, quatre objectifs prioritaires définissent l’épidémiosurveillance: détecter
l’apparition d’une maladie nouvelle dans une région donnée, établir une hiérarchie entre
différentes maladies sévissant dans une même région afin de déterminer des priorités
d’action, déterminer l’importance réelle d’une maladie, enfin évaluer les résultats d’un plan
de lutte en suivant la décroissance de la maladie (Dufour et al 2005).
L'Afssa « contribue à la prévention des risques sanitaires en assurant de manière
permanente la collecte et l’analyse d’informations, l’anticipation et la détection précoce
d’événements anormaux ou inhabituels, la caractérisation, l’évaluation et la validation des
signaux captés et, si besoin, l’alerte de l’ensemble des acteurs publics et privés…".
Dans ce contexte le développement des activités d'épidémiosurveillance du réseau
Salmonella (RS) est considéré comme une des priorités du Laboratoire d’étude et de
recherche sur la qualité des aliments et des procédés (Lerqap) de l’AFSSA. Parmi les
objectifs prioritaires du RS, celui de détecter précocement des contaminations inhabituelles
de la chaîne alimentaire a été redéfini par le comité de pilotage en 2008.
La somme des informations enregistrées par le RS dans une base de données Access
depuis 2000 rend incontournable l’utilisation d’outils statistiques pour une analyse régulière
des données. L'application de méthodes statistiques adaptées à la détection d’évènements
inhabituels, par exemple, lorsque le nombre observé de souches d’un sérovar est
significativement supérieur à celui qui était attendu, a été initiée dans l'unité Caractérisation
et Epidémiologie Bactérienne (CEB) du Lerqap en 2006. Ces travaux ont permis de définir
les critères des données les plus robustes pour l'analyse statistique en termes de qualité et
de réactivité. Les résultats précédents obtenus selon une approche rétrospective, ont mis en
évidence, d’une part des évènements précoces sur la chaîne alimentaire qui ont pu être
rapprochés de cas humains, d’autre part des évolutions comparables en termes de
saisonnalité et de tendance entre les données humaines et non humaines (Danan 2007
Fisher et al. 2008). Cependant, compte tenu des limites de fonctionnement du RS et de la
diversité des contextes de recherche des salmonelles sur la chaîne agro-alimentaire,
l'interprétation des signaux générés par le RS doit être faite avec prudence et renforcée en
intégrant des informations de systèmes parallèles de surveillance d’origine humaine et non
humaine.
A ce jour, la question se pose de la capacité opérationnelle de ce réseau à détecter de
manière prospective tout événement inhabituel de cette surveillance, sur des données
6
actualisées, puis à alerter précocement, lorsque cet évènement peut présenter un risque
pour le consommateur.
L'objectif de ce stage est de proposer un outil de détection hebdomadaire de signaux à partir
d'une sélection de données collectées par le RS. Ces données sont sélectionnées d’une part
sur des critères de pertinence de contexte d'isolement et d’autre part par rapport à la
stabilité et la réactivité de fonctionnement du dispositif.
Dans ce contexte, ce rapport présente en première partie, une revue bibliographique sur :
1- l’épidémiologie des salmonelloses humaines,
2- le dispositif de surveillance des salmonelles en France,
3- les méthodes statistiques utilisées pour la détection d'événements inhabituels au
moyen des séries temporelles ;
et en seconde partie, les résultats du travail personnel :
1- analyse et sélection des données du RS à l’aide des packages du logiciel R,
2- traitement des données : construction des séries temporelles, traitements
statistiques afférents destinés à générer des alarmes,
3- construction des sorties pour une exploitation des alarmes : sorties graphiques,
journaux hebdomadaires des alarmes, tables ACCESS,
4- conclusion et perspectives : proposition d’améliorations potentielles, relativement
à la qualité des données et des informations restituées : réactivité du système,
enrichissement du modèle.
7
Bibliographie
I - Les salmonelloses humaines
I-1 Agent
Le genre Salmonella est divisé en 2 espèces S. enterica et S. bongori (plus rare), S. enterica
elle-même subdivisée en 6 sous-espèces de distinguant selon des caractères biochimiques :
S. enterica subsp. enterica, S. enterica subsp. salamae, S. enterica subsp. arizonae, S.
enterica subsp. diarizonae, S. enterica subsp. houtenae et S. enterica subsp. Indica. Au sein
de chacune de ces sous-espèces, il est possible de distinguer des sérovars caractérisés par
leurs antigènes somatiques O »), flagellaires H », 2 phases) et par leurs antigènes
capsulaire, dits de virulence (« Vi ») pour les sérovars Typhi, Paratyphi C et Dublin (Le Minor
1989 Popoff et al 2004).
Seuls les sérovars de la sous-espèce Salmonella enterica subsp. enterica portent un nom.
Les membres de ces sous-espèces ont été appelés d’après le lieu où ils ont été isolés pour
la première fois: Brandenburg, Indiana, Newport, Napoli etc... Les organismes sont identifiés
par la lettre S., suivi du sérovar, par exemple S. Typhimurium. Plus de 2400 sérovars de
Salmonella existent aujourd’hui, de nouveaux étant caractérisés chaque année, leur
prévalence variant au cours du temps (EFSA 2007). Cette classification est mise à jour par le
centre collaborateur de l’organisation mondiale de la santé pour les Salmonella à l’Institut
Pasteur (Paris).
Pour les salmonelles non typhiques, agents de gastro-entérites, 2 sérovars largement
prédominants, Typhimurium et Enteritidis, représentent 70% de tous les isolements de
Salmonella chez l’homme dans notre pays (Weil 2008).
Pour les salmonelles typhiques, agents de la fièvre typhoïde, on trouve les sérovars Typhi,
Paratyphi A, B, C et Sendai.
I-2 Réservoir
Le réservoir de Salmonella spp (hors Typhi et Paratyphi) est principalement animal,
domestique et sauvage : volailles, porcs, bovins, rongeurs, mais aussi chiens, chats et
nouveaux animaux de compagnie (principalement les reptiles : serpents, iguanes, tortues).
L'homme (malade ou porteur) est une source potentielle (Web1). Elles peuvent également
survivre dans l’environnement pendant plusieurs mois (Millemann et al. 2008).
La plupart des sérovars sont ubiquitaires. Certains présentent néanmoins une spécificité
d’hôte :
- Enteritidis, Hadar, Heidelberg, SaintPaul, Virchow, Senftenberg, Infantis, Kottbus
contaminent particulièrement les volailles (dinde, poulet, canard),
- Dublin et Bovismorbificans, les bovins,
- Abortusovis, les ovins,
- Brandenburg, Derby, Panama, les porcins,
- Abortusequi, les équidés et
- Typhi et Paratyphi, l’homme (Weil 2008).
I-3 Mode de contamination
La transmission humaine est principalement liée à la consommation d’aliments contaminés
d’origine animale et consommés crus ou peu cuits.
On trouve une grande variété de sources alimentaires, animaux sauvages et d’élevage, plus
particulièrement la viande de volaille, suivie de la viande de porc : S. Enteritidis, pour la
consommation d’œufs et de viande de poulet contaminés, S. Typhimurium, pour la
8
consommation de porc, de volaille, de bœuf contaminés. Plus rarement sont en cause des
fruits ou des légumes frais, du lait et des produits laitiers contaminés par des matières
fécales animales.
Tableau 1 : Fréquence moyenne d’échantillons détectés positifs en salmonelles dans la
Communauté Européenne en 2006 (créé à partir de données EFSA 2007)
Aliments
Fréquencevariation (en %)
N
Viande de poulet
5,6 [0-67,6]
33257
Viande de dinde
6,4 [0-14,3]
7141
Viande de porc
1 [0-11,1]
58330
Charcuterie
0,5 [0-3,4]
22491
Viande de bœuf
<1 [0-7,5]
53450
Œufs
0,8 [0,1-7,1]
28773
Fruits et légumes,
<1 [0-0,4]
7417
Fromages
<1 [0-2]
12252
La transmission inter humaine, féco-orale, est en général liée à une défaillance des mesures
d’hygiène; la contamination secondaire, lors de la préparation d’un aliment par une personne
infectée ou porteuse, est plus rare. Une contamination croisée entre un aliment sain et un
aliment contaminé peut également avoir lieu dans les magasins, lors de distribution de
denrées à la coupe, dans les restaurants ou au domicile lors de la préparation des repas
(Web1).
I-4 Symptômes - Diagnostic - Traitement - Prévention
I-4 - 1 Salmonelloses non typhiques
Après une incubation de 12 à 72 heures, la maladie se manifeste par une gastro-entérite
aiguë fébrile : apparition brutale de douleurs abdominales, de diarrhées, de nausées, de
vomissements, fièvre le plus souvent élevée, et parfois de céphalées.
L’évolution est le plus souvent spontanément favorable en 3 à 5 jours. Les formes les plus
graves sont uniquement observées chez les jeunes enfants, les personnes âgées et les
personnes immunodéprimées (Web1).
Le diagnostic biologique repose sur l’isolement de Salmonella dans les prélèvements
biologiques (selles, sang, urine).
Le traitement antibiotique n’est réservé qu’aux patients à risque présentant une forme grave.
La meilleure protection contre le risque de salmonellose est une bonne cuisson des aliments,
en particulier des viandes, à au moins 65°C pendant 5 à 6 minutes, sans décongélation
préalable pour la viande hachée car elle augmente le risque de multiplication bactérienne. Le
froid bloque le développement des bactéries mais ne les tue pas. S. Enteritidis a la
particularité d’être présente non seulement à la surface de la coquille d’œuf, mais également
à l’intérieur de celui-ci, même intact, d’où la nécessité de maintenir les œufs, ainsi que toutes
les préparations à base d’œufs sans cuisson au froid et de les consommer le plus tôt
possible après leur fabrication (Web2).
C’est une maladie à déclaration obligatoire lorsqu’il y a toxi-infection alimentaire collective
(TIAC).
9
I-4 - 2 Fièvres typhoïdes et paratyphoïdes
Après une période d’incubation variant de 1 à 3 semaines, la maladie évolue classiquement
en deux phases (Web1):
- la phase d’invasion (1ère semaine) associant une fièvre élevée d’installation progressive
(40° C avec dissociation du pouls), des céphalées, une asthénie, une insomnie, des troubles
digestifs à type d’anorexie, de nausées et de crampes abdominales avec constipation ou
diarrhées et enfin des myalgies et des arthralgies ;
- la phase d’état (2ème semaine) la fièvre se maintient en plateau entre 39° et 40° C
(pouls dissocié) avec émission de selles diarrhéiques, état somnolent, évoluant vers une
prostration dans les formes graves (tuphos), gonflement de la rate, éruptions cutanées et
diverses complications au niveau de l’intestin, du cœur ou de la vésicule. La fièvre typhoïde
peut être fatale en l’absence de traitement. Le taux de mortalité est de 10%, comparé à
moins de 1% pour les autres formes de salmonellose (Web2).
L'isolement du germe se fait le plus souvent par hémoculture et par coproculture.
Une antibiothérapie appropriée abaisse le risque de mortalité à moins de 1% :
fluoroquinolones en première intention chez l’adulte (durée moyenne de traitement de 5 à 10
jours) et le cotrimoxazole ou l’ampicilline chez l'enfant de moins de 15 ans (Web1).
Néanmoins, on isole de plus en plus de souches résistantes aux antibiotiques (Web2).
La prévention repose sur la surveillance épidémiologique et une distribution d’eau de qualité,
bactériologiquement contrôlée. Un vaccin anti-typhoïdique peut être administré aux
voyageurs se rendant dans des régions à risque.
C’est une maladie à déclaration obligatoire.
I-5 Epidémiologie
I-5 - 1 Facteur âge
Les plus grands nombres de cas concernent les tranches 0-4 ans et 5-14 ans, avec, pour la
première, un risque d’infection 3 fois plus important que pour la seconde (Figure 1).
Figure 1 : Incidence par tranche d’âge des cas confirmés de salmonelloses humaines par
les systèmes d’épidémiosurveillance dans la Communauté Européenne, données TESSy
2006 (EFSA 2007).
10
I-5 - 2 Saisonnalité - Tendance
On observe un pic en fin d’été et en automne pour toutes les salmonelles avec une
proéminence de S. Enteritidis, suivi d’une décroissance rapide pendant les mois d’hiver
(Figure 2).
Cette constatation est corrélée à des variations de température et des modifications de
comportement alimentaire (par exemple les barbecues durant l’été).
Figure 2 : Incidence mensuelle et par sérovar des cas confirmés de salmonelloses
humaines par les systèmes d’épidémiosurveillance dans la Communauté Européenne,
données TESSy 2006 (EFSA 2007).
II Contexte et dispositifs de surveillance des salmonelles
II- 1 Etat des lieux
En 2006, plus de 160 000 cas confirmés ont été recensés chez l'homme à l'échelle
européenne via le TESSy (The European Surveillance System) : données en provenance de
31 pays dont 25 avec des systèmes d’épidémiosurveillance (EFSA 2007). 32,7% des cas
provenaient de l’Allemagne, alors que l’incidence la plus importante se rencontrait en
Tchécoslovaquie (235,9 pour 100 000). Des différences de sensibilité des systèmes
d’épidémiosurveillance peuvent avoir affecté les chiffres présentés dans la figure 3.
En 2006 on a pu constater une diminution de l’incidence de 7,6% par rapport à 2005,
poursuite d’une tendance sur les 3 années passées.
En France, cette réduction coïncide avec la mise en place de mesures de lutte en élevage
de volailles (Poirier, 2004).
Les données nationales françaises les plus récentes sur les toxi-infections alimentaires
collectives (TIAC) indiquent que les salmonelles sont identifiées dans 42% des foyers pour
11
lesquels l'agent pathogène a été confirmé; par ailleurs, le nombre de foyers déclarés
associés à ce pathogène est stable (autour de 150 par an) de 1998 à 2005. En 2006, 799
malades, dont 219 hospitalisations et 2 décès, ont été reliés aux salmonelles non typhiques
(Jourdan et al. 2008).
Figure 3: Incidence des salmonelloses humaines dans la Communauté Européenne en
2006 (Nombre de cas pour 100 000) (EFSA 2007).
II-2 Le dispositif de surveillance des salmonelloses humaines
En France, la surveillance des salmonelloses chez l’homme est effectuée par deux voies
complémentaires : une surveillance microbiologique pilotée par le Centre national de
référence des Salmonella (CNR) et une surveillance syndromique basée sur le système des
déclarations obligatoires (DO) (Weill 2008).
II-2 - 1 Le Centre national de référence (CNR) des Salmonella
Désigné par le ministère chargé de la santé, le CNR exerce en continu le sérotypage des
salmonelles envoyées par un réseau de laboratoires volontaires d'analyses de biologie
médicale (LABM) privés et hospitaliers (France et DOM-TOM). Les souches sont
accompagnées d'une feuille de renseignements administratifs et épidémiologiques. Le CNR
reçoit également des comptes rendus de sérotypage des laboratoires ayant sérotypé
complètement leurs souches.
Le CNR suit les tendances évolutives temporelles des différents sérovars de Salmonella,
contribue à la surveillance et à l’investigation des TIAC en signalant à l’InVS les foyers de
cas groupés qui lui ont été notifiés, suit l’évolution de la résistance aux antibiotiques, détecte
les épisodes épidémiques avec typage discriminant du sérovar incriminé, collabore avec les
réseaux nationaux (AFSSA) et internationaux (Enter-Net, GlobalSalmSurv de l’OMS), enfin
contribue aux alertes en signalant à l’InVS, tout événement inhabituel : augmentation du
12
nombre de cas, survenue de cas groupés, modification des profils de résistance des
souches, apparition de sérovars inhabituels… (Weill 2008)
Ce réseau, initié dès le début des années 1950 par le professeur Léon Le Minor, a été
informatisé en 1992 et a permis la constitution d'une base de données permettant une
exploitation hebdomadaire des informations, aux différents niveaux géographiques (national,
régional ou départemental). L’InVS a mis en place depuis juin 2006, une analyse
hebdomadaire automatisée des données de surveillance du CNR, par des méthodes
d’analyse des séries temporelles (paragraphe III).
Le CNR ne reçoit pas toutes les souches isolées en France; les laboratoires du réseau
correspondent à environ 25% des LABM et 75% des laboratoires de centre hospitalier.
II-2 - 2 Le système des déclarations obligatoires
Les DO pour les salmonelloses humaines ne concernent que les fièvres typhoïdes et
paratyphoïdes, ainsi que les TIAC, définies comme la survenue d'au moins deux cas
groupés d'une symptomatologie similaire dont on peut rapporter la cause à une même
origine alimentaire (Jourdan et al. 2008).
Une TIAC à salmonelles est confirmée si une souche de salmonelle a été identifiée chez au
moins un patient de la TIAC ou dans l'aliment suspecté. Toute TIAC doit faire l'objet d'une
déclaration à la Direction départementale des affaires sanitaires et sociales (DDASS) ou à la
Direction départementale des services vétérinaires (DDSV) qui réalisent des investigations
pour confirmer la TIAC et identifier les aliments responsables (figure 4).
Figure 4 : Circuit des DO des TIAC en France (Jourdan et al. 2008)
Cire : Cellule interrégionale d’épidémiologie : lorsque la TIAC dépasse le cadre du
département
Depuis 2003, un signalement en temps réel à l'InVS précède la DO. Un logiciel d’aide à
l’investigation, WinTiac, développé par l’InVS, utilise un algorithme d’orientation étiologique
qui permet d’améliorer la gestion des DO et faciliter les recherches des agents ayant
provoqué les TIACs (Jourdan et al. 2008). L'analyse des données est réalisée par l'InVS
(Delmas et al. 2006).
13
II-3 Le dispositif de surveillance des salmonelles d'origine non humaine
II-3 1 Les acteurs
La surveillance des salmonelles sur la chaîne alimentaire a pour principal objectif d’assurer
la sécurité du consommateur. Depuis janvier 2006
1
, la sécurisanitaire des aliments est
assurée, aux différents maillons de la chaîne, selon une démarche intégrée "de la fourche à
la fourchette"
2
. Par ailleurs, à l’échelle européenne, une surveillance harmonisée se
développe depuis 2003, en application du règlement 2160/2003 pour les élevages dont le
potentiel de transmission est fort (volailles, porcs). Les rôles respectifs des différents acteurs
sont présentés dans ce qui suit et synthétisés dans la figure 5.
Les entreprises agro-alimentaires
Les exploitants du secteur alimentaire sont les premiers responsables de la conformité de
leur produit à la législation alimentaire. Ils veillent à ce que les aliments (destinés aux
animaux ou à la consommation humaine) répondent aux prescriptions de la législation
alimentaire, réalisent des autocontrôles et mettent en œuvre des plans de maîtrise sanitaire.
Les services officiels des administrations de contrôles
Ces services ont l'obligation d’assurer l'application de la législation, d'exercer une
surveillance, de gérer les alertes sanitaires (non conformité, déclaration de TIAC) et de
communiquer vers le public sur les risques liés aux aliments dangereux.
Les laboratoires d’analyses
Il existe plusieurs types de laboratoires :
- Le Laboratoire National de Référence (LNR) et les laboratoires "agréés", seuls autorisés à
réaliser des analyses officielles ;
- Les laboratoires "reconnus", autorisés à réaliser les analyses d'autocontrôle.
Les laboratoires d’institut d’enseignement et/ou de recherche
Ces laboratoires interviennent principalement dans des études ponctuelles descriptives ou
de facteurs de risques, apportant des informations épidémiologiques sur les salmonelles.
L'AFSSA
Les agences sanitaires jouent un rôle central dans la surveillance des pathogènes pour
l'homme, participant à la veille et à l’alerte au niveau national et transmettant des
recommandations aux pouvoirs publics en cas de menace pour la santé publique. Pour la
surveillance des salmonelles, l'AFSSA a la responsabilité du LNR des Salmonella; parmi ses
différentes actions, le LNR participe aux enquêtes de prévalence en élevage organisées par
la communauté européenne (CE), apporte un appui scientifique et technique dans la
définition des protocoles de surveillance et organise des essais inter laboratoires d’aptitude
auprès des laboratoires impliqués dans la recherche de salmonelles.
L’AFSSA anime également plusieurs réseaux d’épidémiosurveillance concernant les
salmonelles en partenariat avec les autres acteurs cités ci-dessus : le RNOEA, Réseau
National d’Observations Epidémiologiques en Aviculture, le RESSAB (mis en veille en 2007),
Réseau d’EpidémioSurveillance des Salmonelloses Bovines, le RESAPATH, REseau de
Surveillance de la résistance aux Antibiotiques des bactéries PATHogènes vétérinaires et
enfin le Réseau Salmonella (RS) dont les données sont exploitées dans ce rapport : réseau
de surveillance des salmonelles d’origine non humaine, piloté par l’AFSSA-Lerqap.Les
données du RS apportent des informations qualitatives sur les différents sérovars de
1
Décret n° 2006-7 du 4 janvier 2006 relatif aux laboratoires nationaux de référence, ainsi qu'à l'agrément et à la
reconnaissance des laboratoires d'analyses dans le domaine de la santé publique vétérinaire et de la protection
des végétaux, et modifiant le code rural
2
Règlement 178/2002 du Parlement européen et du Conseil du 28 janvier 2002 établissant les principes
généraux et la législation générale instituant l'autorité européenne de sécurité des aliments et fixant les
procédures relatives à la sécurité des denrées alimentaires.
14
salmonelles présents aux différents stades de la chaîne alimentaire. Le RS les transmet à la
DGAl dans le cadre de l'application de la directive zoonose
3
(Web3) (figure 5).
Les données du RS constituent également une source d'informations pour proposer des
orientations des plans nationaux de surveillance ou de contrôle, pour évaluer des risques
d’exposition. Ces données apparaissent complémentaires de la surveillance des
salmonelloses humaines. Ainsi, la base de données de ce réseau est régulièrement
interrogée à la demande de l'InVS, lors d'investigation d’un excès de cas de salmonelloses,
afin d'orienter les questionnaires exploratoires. Les données de surveillance du RS sont
également régulièrement transmises pour les bilans annuels du CNR.
Cette surveillance est un outil d’aide à la décision en matière de santé. Grâce à une
meilleure connaissance des situations épidémiologiques et du suivi de leur évolution dans le
temps et dans l’espace, des décisions sanitaires peuvent être prises.
II-2 2 Les contextes de la surveillance de la chaîne agro-alimentaire
La surveillance continue
Pour le secteur "Santé et production animales", il est institué un dépistage obligatoire des
infections des poules reproductrices par les sérovars Enteritidis, Hadar, Infantis,
Typhimurium et Virchow et, des poules pondeuses, par les sérovars Enteritidis et
Typhimurium
4
.
Pour le secteur "hygiène des aliments", les salmonelles sont les seuls micro-organismes pris
en compte à la fois comme des critères de sécurité et d’hygiène dans la réglementation
relative aux critères microbiologiques des aliments
5
. Les critères de conformité sont définis
par l'absence de Salmonella spp. (salmonelles non typhiques) dans une quantité
d'échantillon dépendant de la catégorie alimentaire. Le sérotypage n'est pas exigé. Les
critères de sécurité s’appliquent sur les aliments depuis leur mise sur le marché jusqu’à la fin
de la durée de vie ; les critères d’hygiène s’appliquent lors de la fabrication.
Pour les autocontrôles, les prélèvements sont réalisés à l’initiative de l’éleveur ou du
producteur de denrées alimentaires, dans le cadre de la bonne maîtrise de sa production.
Enfin, la surveillance des salmonelles chez les animaux et dans les aliments est organisée
autour de différents réseaux : RNOEA, RESSAB, RESAPATH, RS (figure 5).
La "surveillance" limitée dans le temps
Des informations sur les salmonelles sont obtenues sur la chaîne alimentaire par différents
dispositifs organisés sur des périodes de temps données.
Les plans annuels de surveillance (PS) ou de contrôles (PC), organisés par les
administrations de contrôles, ont pour objectif respectivement soit d’évaluer une situation
globale d’exposition du consommateur dans le but de mettre en place des mesures
sanitaires si besoin est, soit de rechercher des anomalies. Les protocoles d’échantillonnages
spécifiques sont décrits dans des notes de services. Les résultats sont analysés par les
services administratifs centraux.
Des enquêtes descriptives de prévalence ou d’études de facteurs de risques sur une durée
déterminée, associant le LNR et/ou organisées dans le cadre de travaux de recherche, font
l’objet de protocoles spécifiques. Des enquêtes peuvent également être réalisées lors d'une
3
Directive 2003/99/CE du Parlement européen et du Conseil, du 17 novembre 2003, sur la surveillance des
zoonoses et des agents zoonotiques.
4
Arrêté du 15 mars 2007, JORF du 4 avril 2007.
5
Règlement 2073/2005 de la Commission du 15 novembre 2005 concernant les critères micro-biologiques
applicables aux denrées alimentaires.
15
notification selon un protocole décrit par des textes officiels (par exemple, arrêté préfectoral
de mise sous surveillance dans le cas d’une suspicion de maladie réputée contagieuse
MRC).
Dans le cas d’un diagnostic vétérinaire, un prélèvement peut être réalisé ponctuellement
pour une recherche de salmonelles. La confirmation d'une salmonellose chez un animal
nécessite d'isoler la bactérie de fèces, de contenu intestinal, de sang ou de tissus infectés.
16
Figure 5 : Acteurs de la surveillance des salmonelles dans le secteur agro-alimentaire en France.
DDSV
Service commun
des laboratoires
InVS
CNR
AFSSA
Réseau
Salmonella
LNR,
Réseaux :
RNOEA,
RESAPATH
RESSAB *
Ministère chargé de la Santé
DGS
Ministère chargé de
l’Agriculture
DGAl
Laboratoires privés
d’analyses vétérinaires et
agro-alimentaires
* : en veille depuis 2007
Laboratoires départementaux
d’analyses vétérinaires et agro-
alimentaires
DCCRF
Ministère chargé des
Finances DGCCRF
Aliment animal, Elevage,
Marché, Abattoirs
Chaîne de distribution
Entreprises
agro-alimentaires
17
III Les méthodes statistiques
Les systèmes de surveillance recueillent et enregistrent, régulièrement dans le temps, un
nombre de cas (infectés, décédés, malades…), qui constituent des séries de nombres
indicés par le temps. Chaque nombre peut être vu comme une réalisation d’une variable
aléatoire. La série temporelle peut alors être considérée comme une réalisation d’une suite
de variables aléatoires, indicées par le temps, appelée processus aléatoire. L’examen d’une
série temporelle fait apparaître 3 composantes : une tendance à long terme, une variation
périodique (saisonnalité), et du bruit (Web4).
Une fonction importante des systèmes de surveillance consiste à détecter des cas groupés
ou des épidémies afin d’initier des interventions opportunes. La littérature statistique sur la
détection rétrospective des clusters spatiaux, temporels et spatio-temporels abonde, mais le
problème statistique de la détection prospective a reçu moins d’attention (Farrington et al.
2004).
Statistiquement, un cluster temporel correspond à un intervalle de temps dans lequel le
nombre observé de cas est significativement supérieur au nombre attendu (Le Strat 2005).
Dans la plupart des cas, un seuil est calculé à partir des données historiques. Pour calculer
le seuil, il faut tenir compte des fluctuations aléatoires, des délais dans la déclaration des cas
et le recueil des données, de la tendance à long terme et de la saisonnalité. Si le nombre
observé de cas dépasse ce seuil, une alarme est générée afin d’indiquer qu’il existe un
événement inhabituel (EI). Cet EI peut être un nombre excessif de cas sporadiques ou des
cas liés épidémiologiquement ou bien provenir d’un artefact du système d’information
(Farrington et al. 2004). Des investigations épidémiologiques sont nécessaires pour pouvoir
déterminer si l’alarme correspond ou non à une alerte épidémiologique.
La plupart des systèmes de détection calculent des valeurs-seuils s qui dépendent de
données historiques ; on détermine s de telle sorte que :
P(Nombre d’observations pendant Δt > s / sans aberration)=α, α est la probabilité de
déclencher des recherches alors qu’il n’y a pas lieu de le faire. La plage temporelle Δt peut
être mensuelle ou hebdomadaire (Farrington et al. 2004).
La détection prospective d’évènements inhabituels dépend des délais de prise en compte
des informations. Leur variabilité affecte la sensibilité du système en diminuant la probabilité
que le seuil soit dépassé. Le délai moyen de report des informations doit être petit par
rapport à l’intervalle de temps pendant lequel un EI peut se développer et ne pas dépasser
une à deux semaines.
Le seuil s est défini par la borne supérieure d’un intervalle de prédiction du nombre de cas,
calculée à partir d’observations passées. La plupart du temps, le test statistique repose sur
la comparaison entre le nombre observé et le seuil. Celui-ci est susceptible de changer à
chaque unité de temps.
Les épisodes épidémiques passés apparaissant exceptionnellement dans des périodes de
temps inédites peuvent être omis ou pondérés (Farrington et al. 1996), en tentant néanmoins
de ne pas introduire de biais de sélection : baisser de manière artificielle et conservatrice les
seuils pour pouvoir déclencher plus rapidement des alertes.
Un algorithme robuste devra prendre en compte la grande variété des salmonelles en
termes de fréquence, de saisonnalité et de tendance, posséder un mécanisme de prise en
compte d’EI passés et fonctionner automatiquement, sans ajustement de l’utilisateur.
Différents algorithmes présentant certaines de ces propriétés sont présentés dans ce qui
suit.
18
III-1 Les méthodes de régression
La distribution du nombre d’observations est obtenue par régression sur les observations
passées.
III-1 1 La méthode des limites historiques
Utilisée par le CDC (Centers for Disease Control, USA), cette méthode calcule la moyenne
et l’écart-type des observations des 5 dernières années sur des fenêtres de 3 mois centrées
sur la même période. Un intervalle de prédiction est calculé, à l’aide de la distribution de
Student, centrée sur la moyenne et basée sur ces observations passées. Malheureusement,
cette technique ne tient pas compte des EI passés ce qui peut gonfler la moyenne des
valeurs observées et produire un ratio des valeurs observées par rapport aux valeurs
attendues artificiellement bas. De plus, l’hypothèse de normalité pour le calcul de l’intervalle
de prédiction ne peut être valide que pour des infections relativement fréquentes (Stroup et
al. 1989). Pour des pathologies moins fréquentes, la distribution de Poisson est plus
adaptée. Une transformation puissance de degré 2/3 utilisée pour rester dans un cadre
normal et pour rendre symétrique l’intervalle de prédiction (Farrington et al. 1996).
III-1 2 La méthode de Farrington
Mise en oeuvre au CDSC (Communicable Disease Surveillance Centre, UK) (Farrington et
al. 1996), cette méthode a été adaptée pour s'appliquer à des séries temporelles très
différentes en termes de tendance, saisonnalité, nombre de cas (rare ou fréquent). Le
modèle de base est un modèle de log-vraisemblance :
E(Y)=μ
V(Y)= φμ
ln(μ)= α + βt
La saisonnalité est prise en compte comme ci-dessus en utilisant les observations des 5
dernières années sur des fenêtres de plusieurs semaines. Pour réduire l’influence des EI
passés, les observations sont pondérées par l'inverse des résidus standardisés d’Anscombe.
Le modèle est estimé 3 fois, la première, pour diminuer l’influence des épidémies passées, la
seconde pour estimer le paramètre de dispersion φ, la dernière avec le paramètre β mis à
zéro si la tendance n’est pas significative.
La transformation puissance 2/3 est appliquée de telle sorte que la limite supérieure de
l’intervalle de prédiction reste valable quelque soient les effectifs. Enfin, une taille minimale
d’EI peut être définie a priori de manière à éviter, dans le cas d’effectifs assez rares de les
qualifier à tort comme EI.
III-1 3 La méthode de Serfling
Cette méthode a été proposée en 1963 (Serfling 1963) et appliquée par Costagliola et al. en
1991 sur des données de grippe et syndromes grippaux en France. La valeur attendue est la
somme d’une fonction linéaire du temps (α + βt ) et d’une composante saisonnière :
Yt = α + βt +γ1cos(ω1t +φ) +γ2cos(ω2t +φ) + εt, avec εt un bruit blanc.
Avant d'estimer les paramètres par la méthode des moindres carrés, il est nécessaire de
retirer les cas apparus au cours des phases épidémiques, ce qui est parfois complexe à
évaluer. De plus, l’ajustement du modèle nécessite une assez grande régularité et
saisonnalité des données. Néanmoins cette méthode est adaptée à la surveillance de
maladies courantes et relativement bien étudiées comme la grippe ou les gastro-entérites
(Flahaut et al. 1995).
19
III-2 Les méthodes de séries temporelles
Les deux premières méthodes exploitent la structure de corrélation des données au cours du
temps mais sont parfois complexes à automatiser.
III-2 1 Le lissage exponentiel
Cette méthode a été utilisée par Ngo et al. en 1996. Cette procédure de pondération propose
une prédiction de l’observation courante comme une combinaison linéaire des observations
passées en donnant un poids plus important aux observations les plus récentes. Ainsi la
prédiction à l’instant t+1 de l’observation est définie par :
Y
ˆ
) -(1 Y Y) -(1 )Y -(1 Y Y
ˆtt2-t
2
1-tt1t
α est une constante. L’erreur de prédiction et sa variance basée sur les k dernières
valeurs:
ttt YYe ˆ
st2 = 1/k Σi=t-k+1, t ei2
α est sélectionnée de manière à minimiser la variance de prédiction. Ce qui permet de définir
une borne supérieure pour l’intervalle de prédiction :
t
Y
ˆ
+ z α /2 x st (z α /2 = 1.96 pour un intervalle de prédiction à 95%)
Cependant cette méthode ne fonctionne que pour des séries stationnaires.
III-2 2 Les méthodes de Box et Jenkins
Watier et al. (1991) utilisent un modèle SARIMA (Seasonnal Auto Regressive Integrated
Moving Average) pour ajuster les données de Salmonella Bovismorbificans qui est le
suivant :
(Yt Yt-12 ) = α(Yt Yt-13) + εt + βεt-12
Yt est le nombre d’observations à l’instant t et εt, un bruit blanc, les deux processus, auto
régressif et moyenne mobile, étant d’ordre 12. Avant ajustement du modèle, Watier et al.
identifient les observations correspondant à des EI passés et les remplacent par des
estimations obtenues s’il n’y avait pas eu d’EI, par exemple la moyenne des observations
passées à la même période de l’année. Cela permet de lisser la série temporelle et de la
rendre stationnaire, de manière à pouvoir appliquer un modèle ARIMA. Celle-ci optimise
l’erreur de prédiction et(h)= Yt+h
ht
Y
ˆ
, h instants en amont. La borne supérieure de
l’intervalle de prédiction est définie par :
max(Yα (h-d), Yα (h), Yα (h+d)) avec Yα (h) =
ht
Y
ˆ
+ zα x st
st2, la variance de Yt sur les t premières observations et d, un intervalle de temps variable
permettant de prendre en compte les phénomènes de saisonnalité.
Plus la précision est faible, plus zα est petit et la borne supérieure de l’intervalle de prédiction
petite, d’où une valeur trop faible pour le seuil d’alerte et un manque de spécificité. A
l’inverse, si la précision est trop élevée, le seuil d’alerte est trop important pour être dépassé,
d’où un manque de sensibilité.
Bien que prenant en compte les EI passés, cette méthode nécessite des mises au point
avant exécution de la modélisation ARIMA pas toujours compatibles avec un système de
détection automatisé, robuste et applicable à des séries présentant une grande variabilité.
20
III-2 3 La méthode de Bayes
Riebler (2004) emploie une approche bayesienne
6
où les quantiles de la distribution a
posteriori sont utilisés en tant que mesure pour définir les seuils d’alarmes. Le modèle
suppose que les observations sont indépendantes et identiquement distribuées suivant une
loi de Poisson de paramètre λ λ, définissant la distribution a priori, suit une loi Gamma de
paramètres ½ et 0.
Pour un intervalle de confiance bayesien de 1 α, on définit la plus petite valeur Yα définie
comme le seuil d’alerte au-delà duquel une alarme sera déclenchée :
P(Y ≤ Yα) ≥ 1 – α.
III-3 Les méthodes des cartes de contrôle
Ici, une statistique, en général la moyenne construite à partir des observations passées, est
comparée à des limites prédéterminées, le plus souvent un multiple de l’écart-type autour de
la moyenne.
III-3 1 La méthode des sommes cumulées (cusum)
a été introduite par Page en 1954
7
. Elle a été notamment été utilisée aux Etats-Unis par
Hutwagner et al. en 1997 pour la détection d’épidémies de salmonelles.
On suppose que Yt suit une loi normale N(μt, σ2) en l’absence d’une épidémie et on pose :
C0=0, Ct = max(0, Ct-1 + (Yt μt kσ))
k est une constante, fonction de la taille de l’effet à détecter. En l’absence d’écart
systématique des valeurs moyennes μt, Ct reste proche de zéro. Lorsque Ct dépasse un seuil
spécifié , le processus est dit incontrôlable et une alerte est déclenchée. Ct est alors remis
à 0 et le processus reprend. Les paramètres h et k définissent le temps moyen entre 2
alertes, appelé ARL, Average Run Length. Il existe des tables d’ARLs pour différentes
valeurs de h et k (Wetherill et al. 1991), mais pour la détection d’épidémies, il est plutôt
conseillé de fixer h et k de manière empirique après des simulations sur les données réelles.
Comme l’écart-type est susceptible de varier suivant la période de l’année, il est souvent
d’usage de standardiser les cusum et de remplacer :
(Yt μt kσ) par ((Yt μt)/σt k).
Cette méthode est sensible à de petites variations et adaptée à la détection d’infections
rares, mais de ce fait, manque de robustesse pour une utilisation dans les systèmes de
surveillance.
III-3 2 La méthode des moyennes mobiles
Stern et al. (1998) en Australie proposent plusieurs étapes de lissage des données par la
méthodes des moyennes mobiles.
Première phase : en reculant 5 années en arrière et en groupant les observations par mois,
on obtient 60 valeurs qui sont lissées en utilisant successivement les médianes des 4, 2, 5 et
3 points voisins, puis en remplaçant chaque point Yt par la moyenne mobile de Hanning :
6
Voir aussi: http://learnbayes.blogspot.com/2007/10/illustration-of-posterior-predictive.html
http://www.rni.helsinki.fi/~boh/Teaching/BayesOulu/L3bayes.pdf
7
Voir aussi : http://en.wikipedia.org/wiki/Cusum
21
(Yt-1 + 2Yt + Yt+1)/4.
On applique ensuite la même technique de lissage aux résidus obtenus par différences des
valeurs brutes avec les valeurs lissées. L’écart-type est calculé sur ces résidus. Enfin, les
baselines mensuelles sont obtenues en prenant, pour chaque mois, la médiane des 5
valeurs mensuelles lissées obtenues sur 5 années.
Deuxième phase : Les observations sont ensuite comparées à un seuil d’alarme maximum
d’une composante statistique : baseline mensuelle + 2xécart-type, et d’une composante
heuristique : valeur 2, déterminée empiriquement, qui permet de filtrer les semaines où les
occurrences sont en nombre trop faible pour être suivies, même lorsque la somme des
observations dépasse le seuil statistique.
Avec cette technique les auteurs obtiennent rétrospectivement, sur une période de 3 années,
une sensibilité de 90% et une valeur prédictive positive supérieure à 50%.
III-3 3 Combinaison avec les méthodes de Box et Jenkins
Williamson et al. en 1999 ont combiné les méthodes de Box et Jenkins avec 3 variantes des
cartes de contrôle : Shewart (1931) qui utilise comme limite la moyenne globale plus 3 fois
l’écart-type, les moyennes mobiles, où la moyenne globale est remplacée par une moyenne
mobile, ce qui permet de prendre en compte les phénomènes de saisonnalité, enfin, les
moyennes mobiles pondérées exponentiellement EWMA (Exponentially Weighted Moving
Average), où les données historiques ont un poids moins important :
1
ˆ
)1(
ˆ
ttt YYY
λ est le paramètre de pondération.
Cette troisième variante donne des résultats similaires à celle de Shewart lorsque λ est
compris dans l’intervalle [0,1] et est moins sensible à l’hypothèse de normalité, ce qui fournit
plus de flexibilité au système.
Shewart et les moyennes mobiles détectent des variations importantes, alors que EWMA
décèle des petits décalages et des tendances graduelles.
III-4 Conclusion
D'un point de vue statistique, les méthodes les plus adaptées aux séries temporelles doivent
prendre en compte une éventuelle saisonnalité des données, une tendance à long terme, les
corrélations entre les observations et pondérer l'influence des événements inhabituels
observés dans le passé.
D'un point de vue pratique, on souhaite également que la méthode puisse analyser
rapidement un grand nombre de séries avec des caractéristiques souvent très différentes :
effectifs, existence ou non d'une tendance et/ou d'une saisonnalité.
Parmi toutes les méthodes présentées ici, une seule possède toutes les propriétés voulues
pour pouvoir traiter l’ensemble des salmonelles du réseau RS dans leur grande variété:
l’algorithme de Farrington (Farrington et al. 1996) qui a été implémenté depuis en R, dans le
package surveillance par Höhle et Riebler du Robert Koch Institut à Münich (Höhle et al.
2005) et utilisé dans ce qui suit. Deux autres algorithmes ont été également été retenus :
RKI, méthode de référence utilisée par cet institut et l’approche bayesienne décrite ci-
dessus, implémentés par les mêmes auteurs.
22
Travail personnel
Ce travail s’est déroulé en 3 phases : analyse et sélection des données du RS, traitements
des données et construction des séries temporelles, enfin, construction des sorties pour une
exploitation des alarmes.
I - Analyse et sélection des données du RS
I-1 Fonctionnement du Réseau Salmonella
L’ensemble des informations relatives aux salmonelles sont enregistrées quotidiennement
dans une base ACCESS dont les caractéristiques sont présentées ci-dessous.
La surveillance du RS couvre 4 secteurs de la chaîne agro-alimentaire :
- secteur « Santé et production animales » (SPA) qui concerne les souches isolées de
prélèvements effectués sur l’animal ou à partir de son environnement d’élevage immédiat,
- secteur « Hygiène des aliments » (HA) qui concerne les souches isolées de denrées
alimentaires destinées à l'homme, d’environnement d'ateliers de transformation et
d'abattoirs,
- secteur « Ecosystème naturel » (E) qui concerne les souches issues du milieu naturel,
- secteur "Alimentation animale" (AA) qui concerne les souches issues de
l'alimentation des animaux.
Seuls les 2 secteurs pour lesquels le RS collecte le plus d'informations : "Santé et
productions animales" (SPA) et "Hygiène des aliments" (HA) sont étudiés ici.
On distingue les données d’une surveillance "continue" dans le temps (surveillance
réglementaire, autocontrôles, surveillance organisée en réseau), des données provenant
d’enquêtes ponctuelles (plans annuels de contrôles ou de surveillance, enquête de
prévalence ou de facteurs de risques, diagnostic) (Danan 2007).
I-2 Activités et objectifs
L’activité de sérotypage des salmonelles sur la chaîne alimentaire est née, il y a plus d'une
vingtaine d'années, d’une collaboration entre le CNR des Salmonella et le laboratoire central
d’hygiène alimentaire. Le réseau RS a été formalisé en 1997 par la création d’un comité de
pilotage et d’une charte de fonctionnement.
La surveillance du RS est passive; les données de surveillance proviennent du volontariat de
laboratoires d'analyses alimentaires et vétérinaires, publics et privés. Le champ de la
surveillance est national, ciblé sur les salmonelles d'origine non humaine.
Le RS a pour objectifs principaux de produire une information épidémiologique sur les
différents sérovars de salmonelles isolées par les laboratoires adhérents et d’apporter un
appui scientifique et technique aux laboratoires adhérents.
La sensibilité aux antibiotiques des salmonelles est également surveillée. Depuis 2006, une
activité de typage moléculaire par électrophorèse en champ pulsé (PFGE) est proposée aux
partenaires du RS. Cette caractérisation discriminante des souches, est particulièrement
utile en cas d'investigation de toxi-infection alimentaire et rend possible la comparaison de
souches alimentaires avec des souches humaines. Elle est également un outil pour tracer
les souches dans un secteur d'activité donné.
23
I-3 Nature de l'information
Le circuit d’informations du RS est présenté dans la figure 6. Au sein de ce schéma,
l'AFSSA-Lerqap reçoit essentiellement deux types de données :
- des souches de salmonelles envoyées par les laboratoires partenaires du réseau,
accompagnées d'une fiche de renseignements sur : le colis d'expédition (numéro
d'identification, date d'envoi), le laboratoire expéditeur (code d'identification, adresse), la
souche (référence du laboratoire, la référence DGAl/DGS en cas d'alerte, les premiers
résultats d'agglutination, sérovar présumé), le prélèvement (département ou pays de
provenance), le secteur, la filière (pour les secteurs HA et SPA), et sous filière (pour la filière
« volaille »), le type de produit (environnement, coproculture, viscère, matière première…),
pathologie (pour le secteur SPA), enfin le contexte du prélèvement (enquête, contrôle
réglementaire, plan de surveillance ) ;
- des récapitulatifs rassemblant dans un tableau, par secteur, des informations individuelles
sur les souches sérotypées par les laboratoires expéditeurs : date d'envoi, référence du
laboratoire, mois d'isolement, sérovar, département d'origine, secteur, filière (secteurs HA et
SPA), sous filière (pour la filière « volaille »), type de produit, pathologie. Ces tableaux,
envoyés principalement par courrier, peuvent être également envoyés par messagerie
électronique.
Sur la période janvier 2006 juillet 2008, on trouve 44,4% de souches et 55,6% de
récapitulatifs (N=32833) avec une variabilité selon les secteurs : de l’ordre de 80% de
souches dans le secteur HA, contre 25% dans le secteur SPA.
Deux bases de données (Access 2000) rassemblent les données microbiologiques et
épidémiologiques depuis 2001 (figure 6), une pour la période 2001-2004 et une deuxième
pour la période démarrant en 2005. Elles sont alimentées par l'équipe technique qui reçoit
les souches et les récapitulatifs. L'harmonisation des données est assurée par une saisie
guidée avec des listes déroulantes pour près de la moitié des champs à renseigner.
L'enregistrement des informations caractérisant les souches est réalisé le jour de la
réception de la souche
8
qui est la date informatisée la plus proche de la date de
prélèvement. Le résultat de l’analyse est enregistré le jour de la fin de l’analyse.
Les récapitulatifs de données individuelles sont saisis de manière groupée. Le temps entre
l'arrivée des récapitulatifs et leur enregistrement est variable selon la disponibilité du
personnel (jusqu'à deux mois de délai).
Ces informations sont rassemblées dans la table sérotypie. Chaque souche y est identifiée
par les champs décrits dans le tableau 2. Le contenu de ces champs peut être non
renseigné ou mal rempli, d’où parfois une analyse difficile ou partielle.
8
dateenvoi : la véritable date d’envoi est disponible sur les documents de transmission, mais n’est pas
enregistrée dans la BD.
24
Figure 6 : Circuit d’informations du RS
25
Tableau 2 : Champs principaux de la table sérotypie
Nom
Format
Définition
Type de
saisie
Point critique
N° souche
Numérique
Identification unique de la souche (à
l'arrivée de la souche à l'Afssa ou au
moment de la saisie des récapitulatifs)
Automatique
AA*
Numérique
Année d'enregistrement de la souche
dans la base du RS ou information
indiquée sur le formulaire d'envoi pour les
capitulatifs
Manuelle
Ces indications correspondent à une date
décalée par rapport au prélèvement.
L'enregistrement des récapitulatifs peut modifier
les bilans réalisés antérieurement
MM*
Numérique
Mois d'enregistrement de la souche dans
la base du RS
Dateenvoi*
Date
Date d'arrivée de la souche ou des
récapitulatifs à l'Afssa
Manuelle
Le nom de ce champ prête à confusion
Codeori*
Numérique
Identification du département d'origine du
prélèvement
Manuelle
Information pas souvent renseignée.
Cette information est importante lors
d'investigations
Codedem*
Numérique
Identification unique du laboratoire
Manuelle
Lors de regroupement de laboratoires adhérents
au RS, un seul des deux numéros est retenu
pour les enregistrements ultérieurs
Codesero
Numérique
Identification unique du sérovar
Automatique
Info
Texte
Information "papier/souche" caractérisant
les souches reçues ou les récapitulatifs
Liste
déroulante
Filière*
Texte
Identification des principales filières
animales
Liste
déroulante
Sousfiliere*
Texte
Identification des sous-filières de la filière
"volaille"
Liste
déroulante
Champ souvent mal renseigné. La liste
déroulante n'est pas concordante avec les sous-
filières mentionnées dans la fiche de
renseignements épidémiologiques (version 2006)
Contexte
Texte
Identification du contexte du prélèvement
Liste
déroulante
Champ souvent mal renseigné pour les souches
et pas demandé pour les récapitulatifs
26
Pour chaque souche, un numéro séquentiel est défini à l’aide du couple (N° souche et AA),
la date de réception est dateenvoi, son origine géographique est codeori, le code du
laboratoire expéditeur est codedem et le code du sérovar est codesero. Le champ info
contient l’information souche ou papier s'il s'agit de récapitulatif. On retrouve également les
champs secteur, filiere, sousfiliere et contexte.
Les autres tables importantes sont présentées à la figure 7:
- la table Partenaires, rassemblant les coordonnées des correspondants du RS: laboratoires
privés ou publics, instituts publics (Afssa, DGAl, Ecoles nationales vétérinaires, Ecole
nationale de santé publique, Institut européen de l'environnement, InVS, CHU), collectivités
d'outre mer rattachées à la France, laboratoires étrangers,
- la table Codelibéllé, identifiant les différents sérovars des salmonelles et
- la table origine geographie, identifiant le code des départements ou pays.
Un modèle de données succinct suit à la figure 7.
Figure 7 : Modèle de données du RS.
27
II Traitements des données
II-1 Packages R
Le logiciel R est un système d’analyse statistique et graphique créé par Ross Ihaka et Robert
Gentleman (Ihaka et al. 1996). R est distribué librement sous les termes de la GNU General
Public Licence
9
. Son développement et sa distribution sont assurés par plusieurs statisticiens
rassemblés dans le R Development Core Team
10
.
R est un langage interprété orienté-objet comportant de nombreux packages. L’exploitation
des données de surveillance du RS se fera principalement avec le package surveillance,
dédié à la détection d’évènements inhabituels (Höhle 2008), mais seront utilisés également
les packages RODBC et sqldf.
II-1 1 RODBC (R Open Data Base Connectivity)
Ce package a été développé initialement par Michaël Lapsley, puis par B.D. Ripley (Ripley
2008). La technologie d’interface ODBC, développée par Microsoft (Web5 et Web6) permet
d’interfacer une application, ici R, à n’importe quel serveur de base de données (BD)
possédant un driver ODBC, ici les deux BD ACCESS salmo2001-2004 et salmo2005-2008
(§I-3 Nature de l’information).
L’utilisation de ce package se déroule en plusieurs étapes :
1- la fonction odbcConnectAccess ouvre un chemin d’accès à la base ACCESS,
2- une fois le canal de connexion ouvert et la syntaxe de la requête SQL prête avec la
fonction paste, la fonction sqlQuery permet de créer des data frames (tables) dans R par
extraction de données dans la base ACCESS,
3- à la fin du processus d’analyse statistique, les objets créés dans R, peuvent être
transférés dans la base ACCESS ; cette opération se déroule en deux temps :
- un appel de la fonction sqlQuery, avec la commande SQL CREATE TABLE, accompagnée
des formats des données voulus, permet de créer une table vierge dans la base ACCESS ;
- le data frame est enregistré dans la base ACCESS, avec la fonction sqlSave, suivant les
formats de la table vierge.
Pour plus de détails sur la syntaxe, consultez l’annexe 1.
II-1 2 sqldf (SQL on data frames)
Ce package développé par G. Grothendieck (Grothendieck 2008), ne comprend qu’une
seule fonction sqldf qui permet de créer dans R, des requêtes SQL, préparées à l’aide de la
fonction paste, à partir de data.frames ou de matrices.
Pour plus de détails sur la syntaxe, consultez l’annexe 2.
II-1 3 surveillance (Outbreak detection algorithms for surveillance data)
Le principal contributeur est Michaël Höhle (Höhle 2008). Ce package permet de créer des
séries temporelles, de représenter graphiquement leur évolution au cours du temps, de leur
appliquer des algorithmes de détection d’alarmes statistiques, enfin d’illustrer les différentes
méthodes graphiquement.
Première étape : paramétrage de la série temporelle avec le vecteur week contenant les
indices des semaines examinées, le vecteur state, destiné à contenir les informations
9
Pour plus d’informations : http://www.gnu.org
10
Voir aussi http://www.cran.r-project.org
28
épidémiologiques initialisé à zéro (non utilisé ici), et le vecteur observed, composé des
nombres de souches observées au cours des mêmes semaines.
Deuxième étape : création de la série temporelle proprement dite, objet de la classe disProg,
à l’aide de la fonction create.disProg, avec pour paramètres les vecteurs week, observed et
state ainsi que le vecteur start désignant le début de la plage d’étude (figure 8) et la quantité
freq indiquant que l’on considère qu’il y a 52 semaines par année.
Troisième étape : définition de la liste de contrôles cntrlmethod utilisés par l’algorithme de
surveillance method. Ici nous aurons successivement method= farrington, rki et bayes, puis
création de l’objet statistique sts.method par la fonction algo.method.
Pour chacune des 3 méthodes :
- définition commune du nombre d’années à prendre en compte pour la construction de la
série temporelle, ici b=number of years to go backward=5. Ces 5 années [2001-2005],
correspondent à la plage des données historiques. Les analyses statistiques ne démarrent
qu’après cette période, c’est-à-dire courant janvier 2006 (figure 8);
- définition commune de la fenêtre hebdomadaire w=number of weeks=3, choisie assez
courte, centrée sur la période d'analyse, de manière à conserver la saisonnalité (figure 8) ;
- définition commune de l’erreur de première espèce, alpha=0,01.
b=5, going backward w=3, width of the window
2001 2006 date_du_jour
plage des données historiques plage d’analyse
start=(2006, 1)
temps
Figure 8 : La structure du temps pour les séries temporelles
Chaque méthode conduit à la création d’un objet statistique possédant notamment une
composante alarme, se présentant sous forme d’un vecteur composé de 0s, pour les indices
de semaines où il n’y a pas d’alarme et de 1s, pour les indices de semaines où une alarme
s’est déclenchée.
Quatrième étape : comparaison des vecteurs alarmes générés par les différentes méthodes
et représentations graphiques des séries temporelles avec des fonctions plot spécifiques aux
objets de classes disProg et sts.method.
Pour plus de détails sur la syntaxe, consultez l’annexe 3.
II-2 Sélection des données
Les informations sont extraites à la demande de l’utilisateur, par requêtes SQL (Standard
Query Language) sur la table sérotypie, pour le décompte des souches, la table Codelibéllé,
pour l’identification des sérovars et la table Partenaires, pour celle des laboratoires ayant
expédié des souches (figure 7) :
29
1- en début d’année, pour les données de la période précédant l’année en cours et qui sont
historisées,
2- chaque semaine, pour les données de l’année en cours à analyser, de janvier jusqu’à la
date du jour. Ces données sont jointes aux données historisées.
II-2 1 Sélection des souches
Ne sont pas extraites les données récapitulatifs pour lesquelles sérotypie.info vaut ‘Papier’ et
dont le délai d’enregistrement est au mieux mensuel (§I-3 Nature de l’information).
La fonction SQL Count assure le décompte des souches et la commande AS renomme le
champ:
Count(sérotypie.[N°souche] AS nb_souches … WHERE (sérotypie.info=’Souche’)
II-2 2 Sélection des laboratoires
Ne sont utilisées que les souches en provenance de laboratoires ayant une activité stable,
de manière à avoir des données plus fiables et ne pas être tributaire d’un ou plusieurs
laboratoires avec un fonctionnement erratique.
De façon à exclure un minimum de données, est défini comme ayant une activité stable, tout
laboratoire ayant envoyé des souches durant au moins les 3 dernières années consécutives.
Ainsi, sur approximativement 230 laboratoires, 119 ont été sélectionnés dans notre analyse.
La proportion de données perdues n’est que de 8%.
II-2 3 Sélection du contexte
Le contexte des prélèvements a son importance. Ainsi, il a été décidé de supprimer les
données relatives à des contextes de type enquêtes/études qui font l’objet de protocoles
spécifiques, à l'origine de remontée ponctuelle d'informations vers le RS, non consistants
avec un contexte de surveillance, continue dans le temps.
Cependant les contextes Plan de surveillance et Plan de contrôle ont été conservés car, bien
que faisant partie a priori du même type de surveillance limitée dans le temps, il apparaît que
les termes "Plan de surveillance et Plan de contrôle" ne sont pas compris de la même
manière par tous utilisateurs. Ainsi, par exemple, ces termes peuvent correspondre à des
autocontrôles des professionnels. L'évaluation du dispositif doit conduire à court terme à une
harmonisation des termes de référence.
II-2 4 Sélection des secteurs
Les deux secteurs sélectionnés sont ceux pour lesquels le RS collecte le plus
d'informations : Ah-Alimentation humaine, comportant 80% de souches et, Santé et
Production Animale, n’en comportant que 25% (§I-3 Nature de l’information).
II-3 Les phases principales
II-3 1 Extraction des données de la BD ACCESS
L’utilisation des packages RODBC et sqldf permet d’extraire les informations décrites dans le
tableau 2, par requêtes SQL sur les tables sérotypie, Partenaires et Codelibéllé.
La liste des laboratoires stables est établie suivant les critères présentés au §II-2 2
Sélection des laboratoires.
30
II-3 2 Génération des données historisées :
Une requête SQL effectuée sur la base historique salmo2000-2004 permet d’obtenir un data
frame avec les informations décrites dans le tableau 3.
Tableau 3 : Structure et contenu des données extraites des bases salmo2000-2004 et
salmo2005-2008
Nom
Type
Descriptif - Valeur
nb_souches
entier
effectif des souches
codedem
classe de 177 modalités
code laboratoire
codeori
entier
code département d’origine
secteur
classe à 2 modalités
"Ah-Alimentation humaine" et
'Santé et production animale'
filiere
classe à 7 modalités
"Autres", "Bovin", "Caprin",
"Equin", …
produit1
classe à plus de 1000
modalités
"abat boeuf","abat porc",...
info
texte
"souche"
libelle
texte
libellé identifiant le sérovar des
souches, classe à 345 valeurs :
"ABAETETUBA","ABERDEEN",...
AA
entier
Année
à 2001
dateenvoi
date au format POSIXct:
"2001-01-02"...
date de réception des souches
contexte
classe à 8 modalités
contexte du prélèvement
Une deuxième requête SQL effectuée sur la base courante salmo2005-2008, avec cette fois
la plage temporelle janvier2005-décembre2007 et les mêmes informations, est jointe à la
précédente pour créer la table des données historisées et être sauvegardée en tant qu’objet
R. Ces deux tâches ne sont exécutées qu’une seule fois en début d’année.
II-3 3 Génération des données de l’année en cours et fusion avec les données historisées
Une troisième requête SQL effectuée sur la base courante salmo2005-2008, chaque fin de
semaine, avec cette fois la plage temporelle janvier2008-date_du_jour et les mêmes
informations, est jointe à la table des données historisées pour générer une table des
données sur la période janvier2001-date_du_jour.
Une jointure de cette table avec la matrice des laboratoires stables, sur le code laboratoire,
permet de ne conserver que les données en provenance de partenaires sélectionnés (§II-2
2 Sélection des laboratoires).
II-3 4 Construction des séries temporelles
Un calendrier démarrant le 1er janvier 2001, comportant les informations jour, mois et an,
ainsi que les semaines répertoriées par un indice incrémental démarrant à 1, pour la
première semaine de janvier 2001, permet de définir l’axe du temps. Ce calendrier est joint à
la table des données fusionnées précédent) par jointure par lignes sur le champ
dateenvoi.
31
A l’issue de cette opération, à chaque date de réception de souche, définie par dateenvoi,
est associée un indice de semaine Indice.
Puis, pour chaque sérovar, et pour chaque indice de semaine, le nombre de souches est
calculé au moyen de la requête SQL suivante :
"SELECT DISTINCT Indice, libelle, Sum(nb_souches)AS NbSouches FROM table GROUP BY Indice, libelle"
Ensuite, par boucle sur l’ensemble des sérovars et à l’aide de requêtes SQL, l’équivalent
d’une transposition de cette matrice permet d’aboutir à une table où la première colonne est
composée des indices de semaines et les suivantes, représentent les effectifs des sérovars
chaque semaine. Cette table est décrite dans le tableau 4.
La première colonne constituera le vecteur week, puis chaque colonne sérovar, le vecteur
observed sera utilisé pour créer la série temporelle (§II-1 3 surveillance).
Tableau 4 : Les données utilisées pour la construction des séries temporelles
Indice
ABAETETUBA
ABERDEEN
ADELAIDE
WORTHINGTON
absence de
salmonelle
souche non
agglutinable
266
0
0
0
0
4
2
267
0
0
0
0
0
0
268
0
0
1
0
0
0
269
0
1
0
0
1
1
270
0
0
0
0
1
0
271
0
1
0
0
1
1
272
0
0
0
0
0
1
273
0
0
0
0
3
0
274
0
0
0
0
0
0
275
0
0
0
5
1
1
III Construction des sorties
Trois méthodes d’analyse statistique de séries temporelles évaluent en temps réel les
nombres de souches par sérovar au cours du temps : Farrington, RKI et Bayes. Chaque
semaine, les plages temporelles de collecte d’informations sont élargies pour prendre en
compte les dernières données disponibles du système d’information. Les fenêtres
d’observations sont les mêmes (figure 8), ainsi que le degré de précision des intervalles de
prédiction (§II-2 3 surveillance).
Une fonction functionliststs utilise la table présentée au paragraphe précédent et balaye tous
les sérovars. Après avoir créé la série temporelle, les 3 algorithmes Farrington, RKI et
Bayes sont appliqués pour générer 3 objets statistiques, de type sts, et 3 vecteurs alarmes,
respectivement alarmf, alarmr et alarmb, suivant les 4 étapes décrites au §III-2 3
surveillance.
III-1 Préparation du vecteur alarme
L’algorithme de Farrington possède une option appliquée par défaut, permettant de limiter le
nombre d’alarmes émises abusivement, l’option limit54 : lorsque durant les 4 dernières
semaines, moins de 5 observations ont été comptabilisées, même si le seuil statistique a été
atteint, l’alarme est supprimée. Pour les deux autres algorithmes, ne présentant pas de seuil
minimal en-dessous duquel une alarme n’a pas à être déclenchée, un traitement équivalent
à celui de la méthode de Farrington a été ajouté.
32
Ensuite, à partir des 3 vecteurs alarmes filtrés, alarmf, alarmr et alarmb, un vecteur alarme
commun permet d’extraire des 2 bases de données salmo2000-2004 et salmo2005-2008, les
informations épidémiologiques les plus pertinentes possibles. La construction de ce vecteur
se déroule de la manière suivante :
Première étape : création d’un vecteur alarme alarm2 correspondant aux semaines au
moins 2 méthodes sur 3 ont dépassé le seuil statistique, de manière à ne déclencher
d’alarme statistique ni trop souvent, (dès qu’au moins une méthode dépasse son seuil
statistique) ni pas assez, (lorsque les 3 méthodes ont chacune dépassé leurs seuils).
Deuxième étape: extraction pour chaque semaine d’alarme, des 3 semaines précédentes, de
manière à obtenir des plages de 4 semaines contiguës, relatives aux périodes 2001-2004 et
2005-2008. Enfin, réunion de ces plages de 4 semaines et suppression des doublons
potentiels pour générer un vecteur enrichi, composé de plages temporelles alarm2.
Le fait de sélectionner des plages temporelles comprenant jusqu’à 4 semaines consécutives
dont la dernière semaine et celle où s’est déclenchée l’alarme, permet de n’avoir pas à tenir
compte, dans la plupart des cas, du problème des alarmes déclenchées sur des périodes
contiguës en nombre variable suivant les méthodes et donc de s’affranchir des propriétés de
l’une ou de l’autre méthode suivant le sérovar.
On peut le constater par exemple avec les alarmes déclenchées pendant l’été 2007 avec les
3 méthodes pour les sérovars Typhimurium, et Saint-Paul ou celles déclenchées pendant le
printemps 2007 pour le sérovar Hadar (annexe 5).
III-2 Exploitation du vecteur alarme
III-2 1 Tables ACCESS
Lorsque 2 méthodes au moins ont engendré des alarmes, des données épidémiologiques
sont extraites pour les périodes décrites par le vecteur alarm2: les champs libelle,
dateenvoi, codeori, nb_souches, secteur, filiere, produit1, codedem et contexte sont obtenus
à partir de la table générée lors de la fusion des données historisées avec les données de
l’année en cours (§II-3 3 Génération des données).
Ces données sont sauvegardées sous forme d’une table ACCESS dans la BD salmo2005-
2008 sous le nom alarmeslibelle (annexe 4). Dans l’éventualité d’une contamination de la
chaîne alimentaire, un examen de ces données doit permettre de remonter jusqu’à la source
du problème et d’apporter des réponses dans un contexte de surveillance.
III-2 2 Fichier récapitulatif
Lorsque 2 méthodes au moins ont engendré des alarmes, un paragraphe texte présente
succinctement, pour le sérovar voulu, pour chaque semaine du vecteur alarm2, les effectifs
afférents aux périodes décrites à la deuxième étape (§ précédent). Ce paragraphe texte fait
partie du journal hebdomadaire des alarmes ; il reprend les mêmes informations que les
tables ACCESS présentées ci-dessus (annexe 6).
III-2 3 Sorties graphiques
Après cette dernière étape, la fonction functionliststs retourne, pour chaque sérovar, soit une
liste composée de 6 objets, en cas d’alarme(s), c’est-à-dire en cas de génération d’un
vecteur alarm2, soit la valeur nulle, dans le cas contraire.
On trouve dans cette liste, les nombres d’alarmes générées par les 3 méthodes, suivis des 3
objets statistiques sts.
Lorsque 2 méthodes au moins ont engendré des alarmes, un premier graphique présente les
effectifs du sérovar sur la période janvier2001-date_du_jour et les 3 graphiques suivants, les
33
effectifs du sérovar sur la période start-date_du_jour avec visualisation du seuil statistique
au-delà duquel une alarme statistique se déclenche (annexe 5)
III-3 Comparaison des alarmes statistiques
Si l’on compare le nombre d’alarmes générées suivant les 3 méthodes, l’algorithme de
Farrington est le plus parcimonieux lorsque les effectifs sont importants (Derby, Enteritidis,
Indiana, Typhimurium). Lorsque les effectifs sont plus faibles, mais réguliers, les 3
algorithmes donnent des résultats sensiblement équivalents (Brandenburg, Bredeney,
Infantis, Newport, Orion, Panama, Rissen, Rubislaw).
Cependant on constate que l ‘algorithme RKI génère parfois moins d’alarmes (SaintPaul,
Schwarzengrund) (annexe 5).
IV Conclusion et perspectives
IV-1 Bilan sur la détection d'évènements inhabituels
Le développement d’une procédure automatisée d’extraction des données du RS avec
création de tables ACCESS liées aux alarmes statistiques, permet de suivre au cours du
temps, avec une périodicité hebdomadaire, l’évolution des effectifs de l’ensemble des
sérovars (N
400) du RS, transmis par un "noyau dur" de près de 120 laboratoires répartis
sur le territoire national et ayant une activité stable.
L'outil développé permet une analyse en moins de deux heures. L'interface est simple et ne
demande à l'utilisateur que quelques contrôles, avant le lancement d’un traitement par lots.
Les résultats sortent sous la forme d’un fichier texte, de tables ACCESS et de graphes qui
constituent des moyens intéressants de communication vers l’extérieur.
Le choix des paramètres pour les 3 méthodes permet d'analyser les données depuis janvier
2006 (annexe 5).
De plus, ce projet renforce l’activité de référence du Lerqap en ce qui concerne la
surveillance et la veille vis-à-vis d'un des principaux pathogènes bactériens de l'alimentation
humaine. Ce projet est en effet une étape clé permettant au RS de passer d'une analyse
descriptive des données, transmises régulièrement dans ses bulletins trimestriels et
inventaires annuels, à une activité de vigilance plus réactive (hebdomadaire). Il permet
notamment, de compléter les analyses de tendances observées à l'aide d'outils statistiques
appropriés, de détecter des émergences de souches (sérovar nouveau, sérovar connu
identifié dans une matrice non habituelle,….) et de les localiser géographiquement, d’établir
les liens entre des souches isolées en amont et en aval de la chaîne alimentaire avec, le cas
échéant, des souches isolées chez l'homme, en collaboration avec le CNR et l’InVS. Ces
liens sont définis à la fois par des informations épidémiologiques et biologiques (sérotypes,
profils moléculaires des souches, sensibilité aux antibiotiques, mécanismes de résistance…).
Le fait que les alarmes statistiques du RS précèdent ou soient concomitantes à celles du
réseau CNR-Salm doit conduire à terme d’augmenter la vigilance et de prendre
éventuellement des mesures de protection et d’hygiène avant toute alerte épidémiologique.
Cette étape apparaît également comme un élément moteur pour la motivation des
partenaires du réseau, en augmentant la confiance que l'on peut porter aux données de
surveillance.
Les quelques confrontations de données du CNR/InVS avec celles du RS ont permis de
rapprocher certaines alarmes statistiques du RS à des EI observés chez l’homme.
L’interprétation des alarmes du RS reste une étape délicate et il faut tenir compte des limites
de fonctionnement inhérent à tout dispositif passif (volontariat, biais de sélection …), de la
diversité des contextes de recherche des salmonelles sur la chaîne agro-alimentaire et,
34
lorsque cela est possible, prendre en compte des informations en provenance de systèmes
parallèles de surveillance des salmonelles, d’origine non humaine ou humaine de manière à
renforcer l’interprétation des signaux générés par le RS (Danan 2007).
Une prochaine étape de ce travail sera de compiler les alarmes statistiques générées et de
définir des critères permettant d’identifier les EI méritant d’être communiqués. Il s’agira de
distinguer :
- les alarmes résultant d’un fonctionnement inhabituel du réseau ; par exemple lors d’une
remontée exceptionnelle de souches vers l’AFSSA. Dans ce cadre, l'intégration des données
bien identifiées d'enquêtes ponctuelles, telles que les plans de surveillance ou de contrôle,
devrait permettre, dans une phase ultérieure, de procéder à une évaluation de la qualité du
système d’information. En effet, la remontée de ces informations définies dans un protocole
(origine géographique, période, secteur, produit) pourra être considérée comme des
indicateurs de fonctionnement du RS.
- les alarmes résultant d’une contamination inhabituelle de la chaîne alimentaire susceptibles
de représenter un risque pour les consommateurs.
L’outil développé apparaît donc avoir un double intérêt : évaluation du système de
surveillance et détection d’évènement d’intérêt sanitaire.
V-2 Qualité des informations
Concernant la qualité des méthodes statistiques, le package surveillance comprend une
fonction algo.quality qui permet de comparer différents algorithmes en terme de sensibilité
et de spécificité (Höhle et al. 2005). anmoins cela nécessite de connaître les alertes
épidémiologiques pour alimenter le vecteur state, composante de la série temporelle (§II-1
3 surveillance). Cela est possible pour le réseau CNR-Salm, mais ces informations ne sont
pas actuellement disponibles pour les salmonelles isolées de la chaîne agro-alimentaire. Un
rapprochement avec la DGAl est envisagé pour le partage des informations concernant les
alertes produits communiquées aux services de contrôle.
L’ensemble des souches reçues, de l'ordre de 80% et 20% respectivement pour les secteurs
HA et SPA, constituent l’information la plus pertinente en termes de vigilance, du fait des
envois plus rapides des souches par rapport aux récapitulatifs et de la régularité des
données pour ces deux secteurs. L'informatisation des données relatives aux récapitulatifs
est une étape envisagée ultérieurement pour optimiser la réactivité du système sur
l'ensemble des données collectées.
Différents biais sont inhérents au système. Parmi les plus importants, l’absence de
réglementation dans un secteur ou une filière est un facteur limitant de remontée de
l’information. Ceci est le cas, par exemple, pour le secteur HA, pour lequel les producteurs
n'ont pas d’obligation réglementaire à faire le sérotypage des salmonelles. A contrario, la
mise en place de la réglementation européenne sur les zoonoses, en ciblant certaines
filières et certains sérovars, constitue une pression sélective pour la remontée des
informations. Ce biais peut sous-estimer les informations relatives aux salmonelles non
couvertes par la réglementation. Le système de dépistage obligatoire en filière avicole
11
apparaît un moyen de recueillir de l’information sur l’ensemble des sérovars (Picherot 2008).
11
Arrêtés du 15 mars 2007 et du 26 février 2008 relatif à la lutte contre les infections à Salmonella dans les
troupeaux de reproduction de l’espèce Gallus gallus en filière chair et fixant les modalités de déclaration des
salmonelloses aviaires : dépistage obligatoire des infections à Salmonella Enteritidis, Salmonella Hadar,
Salmonella Infantis, Salmonella Typhimurium et Salmonella Virchow. Voir aussi :
http://faolex.fao.org/docs/pdf/fra79096.pdf
35
Par ailleurs, la réglementation sur les zoonoses
12
, qui concerne la surveillance de la
résistance aux antibiotiques sur tous les sérovars, constitue une pression pour la remontée
systématique des souches de salmonelles isolées dans ce contexte.
Le volontariat des acteurs est également une source de biais dans la remontée des
informations.
V-3 Enrichissement du modèle :
La construction d’outils d’aide à la décision pour une exploitation simplifiée des alarmes a
suivi plusieurs phases d’élaboration : sélection des méthodes statistiques, définition de seuils
d’alarmes a priori (option limit54), économie dans la sélection des alarmes, des informations
épidémiologiques et des sorties graphiques. L’utilisation de cette procédure automatisée
d’extraction des données doit se poursuivre et devra certainement subir des améliorations.
Plus particulièrement, le fait de ne sélectionner les alarmes que lorsque 2 méthodes sur 3
déclenchent des alarmes a abouti à une légère perte d’informations. Un compromis devra
être trouvé entre informations synthétiques et simples et informations exhaustives et
abondantes, mais moins ciblées.
La définition d’un EI reste à poursuivre au regard du contexte épidémiologique,
réglementaire. Dans cette optique, un nouvel outil de diagnostic a été proposé au personnel
de laboratoire, responsable de la saisie des informations dans la base RS : la fiche de
diagnostic mensuel de sérotypage des salmonelles (annexe 7). Ce document a déjà subi
plusieurs modifications, changement de périodicité, contenu des rubriques et son utilisation
devrait apporter une aide épidémiologique pour étudier la sensibilité des méthodes
statistiques et aider à caractériser les EI.
La qualité des informations restituées par les laboratoires partenaires peut être améliorée en
insistant auprès de ceux-ci pour qu’ils fournissent systématiquement les champs suivants :
dateprelev, date du prélèvement, donnée importante pour connaître le point de départ d’une
contamination ainsi que le contexte du prélèvement qui est souvent négligé (Danan 2007) : à
l’heure actuelle, plus de 68% des observations (souches ou récapitulatifs) ont un contexte
non renseigné.
La qualité globale du réseau devrait être à terme mieux évaluée grâce à des indicateurs de
performance en cours d’élaboration selon la démarche développée par Hendrikx (Hendrikx
2005).
Le volant géographique n’a pas été pris en compte dans cette étude, en particulier un
découpage des informations aux niveaux régional ou départemental à l’image de ce qui a été
fait par le CNR. Néanmoins, les champs codeori, code département d’origine de la souche et
codedem, code du laboratoire expéditeur (tableau 2) disponibles dans les tables ACCESS
liées aux alarmes statistiques permettent de récupérer cette information, à la condition que
des alarmes se soient déclenchées au niveau national.
L’intégration à terme des données de surveillance réglementée en élevage, collectées
depuis 2008 en filière Gallus gallus, par le LNR-Salmonella, constitueront une source
parallèle d’informations, pertinente dans sa structure (connaissance des lieux de
prélèvements, identification de l'unité épidémiologique) pour une analyse spatiale et
temporelle des données (Danan 2008).
12
Directives 92/117/CEE et 2003/99/CE concernant les mesures de protection contre certaines zoonoses et
certains agents zoonotiques chez les animaux et dans les produits d'origine animale, en vue de prévenir les
foyers d'infection et d'intoxication dus à des denrées alimentaires.
Voir aussi http://www.cg56.fr/pdf/LPO_Zoonoses.pdf
36
Glossaire
AESA : Agence Européenne pour la Sécurité des Aliments ; en anglais EFSA
AFSSA : Agence Française de Sécurité Sanitaire des Aliments
Autocontrôle : Tout examen, vérification, prélèvement, ou toute autre forme de contrôle sous
la responsabilité d'un propriétaire ou détenteur d'animaux, d'une entreprise du secteur
alimentaire, de l'alimentation animale ou de la production végétale ou de leurs délégataires
afin de s'assurer par eux-mêmes du respect des dispositions du Décret 2006-7, consultable
à l’adresse http://www.admi.net/jo/20060105/AGRX0500214D.html.
CDC : Centers for Disease Control, USA
CDSC : Communicable disease surveillance centre, GB
CE : Communauté européenne
CNR : Centre National de Référence
CNR-Salm : Centre national de référence des Salmonella
Contrôle officiel : Tout audit, inspection, vérification, prélèvement, examen, ou toute autre
forme de contrôle par les services de l'Etat compétents ou leurs délégataires, en vue
d'assurer le respect des dispositions des titres II, III et V du livre II du présent code et des
textes pris pour leur application (Décret 2006-7)
DDCCRF : Direction Départementale de la Concurrence de la Consommation et la
Répression des Fraudes
DDSV : Direction Départementale des Services Vétérinaires
DGAl : Direction Générale de l’Alimentation
DGCCRF: Direction Générale de la Concurrence de la Consommation et la Répression des
Fraudes
DGS : Direction Générale de la Santé
DO : Déclaration Obligatoire ou Dépistage Obligatoire
Doublon: Souche collectée par le réseau caractérisée par 11 critères communs caractérisant
le laboratoire expéditeur, la date d'envoi, le colis, le secteur, la filière, le sérovar, la
désignation du produit.
EFSA : European Food Safety Autority; en français AESA
EI : Evènement inhabituel
Epidémiosurveillance : production d’informations sanitaires utilisables par le décideur :
récolte des données, analyse, interprétation et diffusion. La surveillance épidémiologique
permet d’objectiver l’évolution de la situation épidémiologique d’une maladie pour laquelle
des mesures de prophylaxie ont été prises (Dufour et al. 2005)
37
HA : Hygiène des Aliments Alimentation Humaine
InVS : Institut de Veille Sanitaire
LERQAP : Laboratoire d’Etudes et de Recherche sur la Qualité Alimentaire et les Procédés
agroalimentaires.
MDO : Maladie à Déclaration Obligatoire
MRC : Maladie Réputée Contagieuse
OMS : Organisation Mondiale de la Santé
Partenaire : Institution ou laboratoire dont les coordonnées sont référencées dans la base de
données du réseau; chaque partenaire est identifié par un code codedem. Les partenaires
représentent l'ensemble des correspondants du réseau, recevant les messages
électroniques de la liste du réseau, les bulletins trimestriels et les inventaires annuels.
PFGE : Pulsed Field Gel Electrophoresis - typage moléculaire par électrophorèse en champ
pulsé
RESAPATH : REseau de Surveillance de la résistance aux Antibiotiques des bactéries
PATHogènes vétérinaires
RESSAB : Réseau d’EpidémioSurveillance des Salmonelloses Bovines
RNOEA : Réseau National d’Observations Epidémiologiques en Aviculture
RS : Réseau Salmonella
Sérovar : également appelé serotype (en anglais) désigne une propriété antigénique
permettant d'identifier une cellule (bactéries, RBC, etc.) ou un virus par des méthodes
sérologiques. Plus de 2000 sérovars de salmonelles ont été répertoriés par l’Institut Pasteur,
les deux plus répandus étant Typhimurium et Enteritidis.
SPA : Santé et Production Animale
TIAC: Toxi-infection alimentaire collective
Zoonose : maladie et infection que les animaux peuvent transmettre naturellement et
directement ou indirectement à l’homme.
38
Bibliographie
AFSSA 2007 : Anonymous. Contrat d'objectifs et de moyens de l'Afssa 2007-2011: Agence
française de sécurité sanitaire des aliments, 2007:62 p.
Baroukh et al. 2008 : Baroukh T, Le Strat Y, Danan C, Brisabois A, Moury F. Détection
d’évènements inhabituels dans la surveillance des salmonelles d’origine agro-alimentaire.
Journées de Veille Sanitaire. Paris 27-28 novembre 2008.
Baroukh et al. 2008 : Baroukh T, Le Strat Y, Danan C, Brisabois A, Moury F. Use of
statistical methods for a routinely unusual event surveillance in non human Salmonella.
European Scientific Conference on Applied Infectious Disease Epidemiology (ESCAIDE),
Berlin, Germany, 19-21 November 2008.
Buehler et al. 2004 : Buehler JW, Hopkins RS, Overhage JM, Sosin DM, Van Tong.
Framework for Evaluating Public Health Surveillance Systems for Early Detection of
Outbreaks. Recommendations from the CDC Working Group. MMWR. May 7, 2004 /53
(RR05);1-11.
Costagliola et al. 1991 : Costagliola D, Flahault A, Galinec D, Garnerin P, Menares J,
Valleron AJ. A routine tool for detection and assessment of epidemics of influenza-like
syndromes in France. Am J Public Health 1991;81:97-9.
Danan 2007 : Danan C, Etude de faisabilité pour la détection d’évènements inhabituels dans
la surveillance des salmonelles d’origine non humaine en France : évaluation du réseau
d’épidémiosurveillance (réseau Salmonella) et application de méthodes statistiques. Rapport
de stage de M2 Santé publique Paris XI et Sciences et santé Paris XII, spécialité
surveillance épidémiologique des maladies humaines et animales : 62 p.
Danan 2008 : Danan C, Développement d'outils de détection d'évènements inhabituels dans
la surveillance prospective des salmonelles d’origine non humaine, contribuant à
l’établissement d’un dispositif de vigilance pour la santé publique. Fiche définitive de projet
postdoc détaillé. Direction Scientifique de l’AFSSA. Année 2009-2010
Delmas et al. 2006 : Delmas G, Gallay A, Espie E, et al. Les toxi-infections alimentaires
collectives en France entre 1996 et 2005. B.E.H. 2006;51-52:418-422.
Dufour et al. 2005 : Dufour B, Hendrikx P. La surveillance épidémiologique en santé animale.
AEEMA CIRAD 2005. ISBN :2-87614-599-5; 295 p.
EFSA 2005 & 2006 : Anonymous. The community summary report on trends and sources of
zoonoses and zoonotic agents, antimicrobial resistance and foodborne outbreaks in the
European Union in 2005. The EFSA Journal, 2006. [en ligne] Mis à jour le 7/06/2007.
http://www.efsa.europa.eu/fr/science/monitoring_zoonoses/reports/zoonoses_report_2005.ht
ml
EFSA 2007 : Anonymous. The community summary report on trends and sources of
zoonoses and zoonotic agents, antimicrobial resistance and foodborne outbreaks in the
European Union in 2006. The EFSA Journal, 2007 Mis à jour en décembre 2007 ;
Salmonella p 24-105.
39
Farrington et al. 1996 : Farrington P, Andrews N, Beale AD, Catchpole MA. A statistical
algorythm for the early detection of outbreaks of infectious disease. Journal of the Royal
Statistical Society 1996;A:547-563.
Farrington et al. 2004 : . Farrington P, Andrews N. Outbreak detection : application to
infectious disease surveillance. In: Brookmeyer R, Stroup DF, eds. Monitoring the health of
populations. Oxford: University Press, 2004:203-230.
Flahaut et al. 1995 : Flahault A., Garnerin P., Chauvin P., Farran N., Saidi Y., Diaz C.,
Toubiana L., Drucker J., Valleron A.-J. Sentinelle traces of an epidemic of acute
gastroenteritis in France. Lancet 1995, 346 : 162-3.
Grothendieck 2008 : Grothendieck G. Perform SQL Selects on R Data Frames. The sqldf
Package. URL: http://code.google.com/p/sqldf
Hendrikx 2005: Hendrikx P. Contribution à l’élaboration d’indicateurs de performance du
fonctionnement de réseaux de surveillance épidémiologique des maladies animales. Thèse
soutenue le 8 juillet 2005, Université de Grenoble I Joseph Fourier
Höhle et al. 2005 : Höhle M, Riebler A. The R-Package ‘surveillance’
Sonderforschungsbereich 386, Discussion paper 442 (2005) Institut für Statistik Ludwig
Maximilians Universität München. URL: http://epub.ub.uni-muenchen.de
Höhle 2008 : Höhle M. with contributions from Lang C, Paul M, Riebler A, Wimmer V.
Outbreak detection algorithms for surveillance data. URL: http://cran.cict.fr/
Hutwagner et al. 1997 : Hutwagner LC, Maloney EK, Bean NH, Slutsker L, Martin SM. Using
laboratory-based surveillance data for prevention: an algorithm for detecting Salmonella
outbreaks. Emerg Infect Dis 1997;3:395-400.
Ihaka et al. 1996 : Ihaka R, Gentleman R 1996. R: Alanguage for Data Analysis and
Graphics. Journal of Computational and Graphical Statistics, 5(3), 299-314.
Jourdan et al. 2008 : Jourdan-Da Silva N, Vaillant V. Surveillance des Toxi-Infections
Alimentaires Collectives en France. Bull. Soc. Fr. Microbiol., 23, (1), 2008 ; 7-14.
Le Minor 1989 : Le Minor L. Salmonella. In: Le Minor L, Véron M, eds. Bactériologie
médicale. 2ème édition. Paris: Flammarion, 1989:411-427.
Le Minor et al. 1987 : Le Minor L, Popoff MY. Request for an opinion. designation of
Salmonella enterica sp. nov., nom.rev., as the type and only species of the genus
Salmonella. Int J Syst Bacteriol 1987;37:465-468.
Le Strat 2005 : Le Strat Y. Overview of temporal surveillance. In: Lawson AB, Kleinman K,
eds. Spatial and syndromic surveillance. West Sussex: John Wiley and sons, 2005.
Le Strat Y. Modèles statistiques pour la détection temporelle d’évènements inhabituels.
Illustrations : Infections alimentaires. Département des Maladies Infectieuses InVS
Milleman et al. 2008 : Millemann Y, Evans S, Cook A, Sischo B, Chazel M, Buret Y.
Salmonellosis. In: Lavoisier, ed. Infectious and parasitic diseases of livestock. Paris, à
paraître.
Ngo et al. en 1996 : Ngo L, Tager I, Hadley D. Application of Exponential Smoothing for
Nocosomial Infection Surveillance. American Journal of Epidemiology 1996; 143:637-647.
40
Picherot 2008 : Picherot M, Salmonella in poultry Gallus gallus. Data collection in France.
Journées de rencontre de l’AESA 16/04/2008.
Poirier 2004 : Poirier E. Evaluation du lien entre la politique de lutte contre les salmonelles
dans les élevages de volailles et la diminution du nombre de cas de salmonelloses chez l
homme en France. Saint-Maurice: Institut de veille sanitaire, 2004:31 p.
Popoff et al. 2004 : Popoff MY, Bockemuhl J, Gheesling LL. Supplement 2002 (no. 46) to the
Kauffmann-White scheme. Res Microbiol 2004;155:568-70.
Riebler 2004 : Riebler A. Empirischer vergleich von statistischen Methoden zur
Ausbrucherkennung bei Surveillance Daten. Bachelor'sThesis, 2004.
Ripley 2008 : Ripley BD, originally Lapsley M. ODBC Database Access. The RODBC
Package (February 16, 2008). URL: http://cran.cict.fr/
Serfling 1963: Serfling RE. Methods for Current Statistical Analysis of Excess Pneumonia-
Influenza Deaths. Public Health Reports 1963.
Stern et al. 1998 : Stern L, Lightfoot D. Automated outbreak detection: a quantitative
retrospective analysis. Epidemiol Infect 1999;122:103-10.3. Fisher I, Meakins S. Enter-Net
annual report 2004 : surveillance of enteric pathogens in Europe and Beyond. Euro. Surveill.
2006;11:161 p.
Stroup et al. 1989 : Stroup DF, Williamson GD, Herndon JL, Karon JM. Detection of
aberrations in the occurrence of notifiable diseases surveillance data. Stat Med 1989;8:323-
9; discussion 331-2.
Verzani J 2005: Using R for Introductory Statistics. Chapman & Hall/CRC
Watier et al. 1991 : Watier L, Richardson S, Hubert B. A time series construction of an alert
threshold with application to S. bovismorbificans in France. Stat Med 1991;10:1493-509.4.
Williamson et al. 1999 : Williamson GD, Weatherby Hudson G. A monitoring system for
detecting aberrations in public health surveillance reports. Stat Med 1999;18:3283-98.
Weill 2008 : Weill FX, Salmonella : épidémiologie, typage et résistance aux antibiotiques.
Revue Francophone des Laboratoires Mars 2008 N° 400 ; p 37-47.
Web1 : http://www.sante.gouv.fr/htm/dossiers/salmonelles_horstyphoide/sommaire.htm
Web2 : http://www.pasteur.fr/ip/easysite/go/03b-00000j-0hs/presse/fiches-sur-les-maladies-
infectieuses/salmonelloses
Web3: Europa>Synthèse de la législation>Surveillance des zoonoses et des agents
zoonotiques http://europa.eu/scadplus/leg/fr/lvb/f83004.htm
Web4 : Séries temporelles et modèles de régression - Application à l’analyse des
associations à court terme entre la pollution atmosphérique et la santé
http://www.invs.sante.fr/publications/2005/series_temporelles/pdf/2.pdf
Eilstein D1, Le Tertre A1, Zeghnoun A1, Cassadou S1, Filleul L1, Pascal L1, Prouvost H2,
Declercq C2, Saviuc P1, Lefranc A3, Nunes C3, Chardon B3, Jusot JF1, D’Helf M1, Fabre P1,
Médina S1, Quénel P1. 1 Département santé-environnement, Institut de veille sanitaire, 12,
rue du Val d'Osne 94415 Saint-Maurice Cedex, France. 2 Observatoire régional de santé
41
Nord-Pas-de-Calais. 13, rue Faidherbe 59046 Lille Cedex, France. 3 Observatoire régional
de santé d’Ile-de-France. 21-23, rue Miollis 75732 Paris Cedex, France.
Web5 : http://www.commentcamarche.net/odbc/odbcintro.php3
Web6 : http://fr.wikipedia.org/wiki/Open_database_connectivity
Web7 :http://www.invs.sante.fr/surveillance/cnr/seminaire_22novembre2007/7_%20presenta
tion%20 Weil.pdf
Web8: http://learnbayes.blogspot.com/2007/10/illustration-of-posterior-predictive.html
Web9 : http://www.rni.helsinki.fi/~boh/Teaching/BayesOulu/L3bayes.pdf
Web10 : http://en.wikipedia.org/wiki/Cusum
Remerciements
Je remercie Corinne Danan et Yann Le Strat, pour leur encadrement et leurs conseils, ainsi
que pour la confiance qu’ils m’ont accordée pour mener à bien ce projet, et même pour sa
poursuite dans un futur proche.
Je remercie également Anne Brisabois pour son accueil chaleureux au sein de son
laboratoire le LERQAP, ainsi que l’ensemble des collègues de l’unité CEB pour leur accueil
sympathique.
Enfin, je remercie Christophe Genolini pour ses explications sur la manipulation des listes
dans R qui m’ont été d’un grand secours.
42
Annexes
Annexe 1 : fonctions odbcConnectAccess, sqlQuery et sqlSave du
package RODBC
L’utilisation de ce package se déroule ainsi :
1- la fonction odbcConnectAccess ouvre un chemin d’accès à la base ACCESS:
path_base ← "X:/CEB/Stagiaires et Thésards/BAROUKH Tiba/salmo2005-2008.mdb"
channel odbcConnectAccess(path_base)
2- une fois le canal de connexion channel ouvert et la syntaxe de la requête SQL prête avec
la fonction paste, la fonction sqlQuery permet de créer des data.frames (tables) dans R par
extraction de données dans la base ACCESS:
SQLQueryPartenaires ← paste("SELECT DISTINCT … FROM partenaires ORDER BY …")
dataframeQueryPartenaires ← sqlQuery(channel, SQLQueryPartenaires, errors=TRUE, rows _at_time=1)
3- après la création des data.frames dans R, ceux-ci sont enregistrés dans la base ACCESS.
Cette opération se déroule en deux temps : un appel de la fonction sqlQuery, avec la
commande SQL CREATE TABLE, accompagnée des formats des données voulus, permet
de créer une table vierge dans la base ACCESS.
SQLQueryCreate ← paste("CREATE TABLE alarmes", serotypename, " (", "libelle", " VARCHAR(255), ",
"dateenvoi", " DATETIME,","codeori","INTEGER,","nb_souches","INTEGER,",…", "contexte", " VARCHAR(255))",
sep="")
sqlQuery(channel, SQLQueryCreate, errors=TRUE, rows_at_time=1)
Ensuite, le dataframe, indiqué en violet, est enregistré dans la base ACCESS, avec la
fonction sqlSave , sous le nom défini par le paramètre tablename, suivant le descriptif défini
à l’étape précédente:
sqlSave(channel, dataframeCompleteInfosAlarmes, tablename=paste("alarmes", serotypename, sep=""),
append=TRUE, …)
Annexe 2 : fonction sqldf du package sqldf
Une seule fonction sqldf permet de créer des requêtes SQL, préparées à l’aide de la fonction
paste, à partir de data.frames ou de matrices, dans R. Sa syntaxe est la suivante :
SQLQueryNbSouchesSerotypes paste( "SELECT DISTINCT Indice,", "libelle, Sum(nb_souches)AS
NbSouches FROM matrixDonnees ", "GROUP BY Indice, libelle")
dataframeNbSouchesSerotypes ← sqldf(SQLQueryNbSouchesSerotypes)
Annexe 3 : fonctions create.disProg et algo.method du package
surveillance
Première étape : paramétrage de la série temporelle, le vecteur week contient les indices
des semaines examinées, le vecteur state, destiné à contenir les informations
épidémiologiques est initialisé zéro, et le vecteur observed est composé des observations au
cours des mêmes semaines :
43
week matrixCompleteSerotypes[,1]
state rep(0, dim(ListeCompleteIndices)[1])
observed matrixCompleteSerotypes[,i+1]
Deuxième étape : création de la série temporelle proprement dite, objet de la classe disProg,
à l’aide de la fonction create.disProg, où le vecteur start désigne le début de la plage
d’étude (année et numéro d’ordre du mois) et freq indique que l’on considère qu’il y a 52
semaines par an:
testdisProg create.disProg(week, observed, state, start=c(2001, 1), freq=52, neighbourhood=NULL,
populationFrac=NULL)
Troisième étape : définition de la liste de contrôles cntrlmethod utilisés par l’algorithme de
surveillance method, ici nous aurons successivement method= farrington, rki et bayes, puis
création de l’objet statistique sts.method par la fonction algo.method:
cntrlmethod list(range = 266:length(testdisProg$observed), w=3, b=5, alpha =0.01, reweight=TRUE,
verbose=FALSE, powertrans="2/3")
sts.method algo.method(testdisProg, control=cntrlmethod)
Cet objet possède une composante alarme, sous forme d’un vecteur composé de 0, pour les
indices de semaines où il n’y a pas d’alarme et 1 dans le cas contraire.
Quatrième étape : comparaison des vecteurs alarmes et représentation graphique des séries
temporelles avec une fonction plot spécifique.
Annexe 4 : descriptif des tables alarmeslibelle
libelle figure pour le libellé du sérovar. Est présenté dans ce qui suit le contenu partiel de
la table alarmesENTERITIDIS contenant les données extraites des 2 BD salmo2000-2004 et
salmo2005-2008 pour le sérovar ENTERITIDIS, pour les semaines à l’origine d’alarmes
statistiques, ainsi que les 3 semaines les précédant, sur la période janvier2006-juillet2008.
Par exemple pour la table alarmesENTERITIDIS, la dernière alarme statistique s’est
déclenchée dans la semaine du 10 au 16 décembre 2007 et les données sélectionnées
concernent la période du lundi 19 novembre au dimanche 16 décembre 2007. L’alarme
précédente s’est déclenchée dans la semaine du 11 au 17 juin 2007 et les données
sélectionnées concernent la période du lundi 21 mai au dimanche 17 juin 2007. Enfin,
l’alarme encore antérieure s’est déclenchée dans la semaine du 8 au 14 janvier 2007.
Figurent donc le sérovar, la date d’envoi, le code département et le nombre de souches du
laboratoire expéditeur, le secteur SPA ou HA, la filière, le type de produit, le code identifiant
le laboratoire et enfin le contexte du prélèvement.
44
45
(Indiquer seulement ce qui vous semble opportun vis à vis
de la surveillance du réseau)
Période examinée : Mois de :
Date
Auteur
Auteur
Auteur
Auteur
Auteur
Avez-vous trouvé un
nouveau sérotype?
Indiquer sa formule
Avez-vous reçu un
sérotype rare? Indiquer
son nom
Avez-vous constaté le
retour épisodique d’un
sérotype ? Si oui, lequel ?
Le nombre de souches
reçues vous paraît-il
anormalement élevé cette
semaine? Précisez
l'origine éventuelle
Avez-vous observé une
relative fréquence
d’origine des souches?
Autres remarques
(préciser vos
impressions)
Alerte ou autre information
extérieures à caractère
exceptionnel
(indiquer la source )
Diagnostic global
Annexe 7 : fiche de diagnostic mensuel de sérotypage des salmonelles
Afssa lerqap - UNITE CEB - 23, AV. DU GENERAL DE GAULLE - 94706 MAISONS-ALFORT CEDEX
d
di
ia
ag
gn
no
os
st
ti
ic
c
m
me
en
ns
su
ue
el
l
s
se
er
ro
ot
ty
yp
pa
ag
ge
e
d
de
es
s
s
sa
al
lm
mo
on
ne
el
ll
le
es
s
46
Annexe 8 : dossier de programmation
I- Descriptif des traitements
Deux programmes R constituent le système de surveillance du réseau Salmonella :
AnalyseAnnuelle.r à exécuter une seule fois en début d’année et AnalyseHebdomadaire à
exécuter chaque semaine. Néanmoins le deuxième peut être exécuté avec une fréquence
plus importante. Chaque début d’année, le paramètre AnneeCourante est mis à jour avec la
valeur de l’année en cours.
Pour AnalyseAnnuelle
Ce programme comprend 6 phases :
1- Extraction des données de la BD salmo2000-2005 complète et de la BD salmo2004-2008
pour la période se terminant en décembre de (AnneeCourante 1) qui composent les
données historisées:
# Définition des variables utilisées pour extraire les informations des BD ACCESS
# Traitement date du jour
# Création des 2 canaux de connexions aux bases ACCESS
# Création d'un fichier texte HebdomadaireAlarmes
# Recherche des laboratoires stables au moyen de la fonction RequeteLabos sur la table
sérotypie appelée pour les années AnneeN_1, AnneeN_2 et AnneeN_3.
# Merge des 3 matrices listes des laboratoires en activité pendant les années AnneeN_1,
AnneeN_2 et AnneeN_3 de manière à en obtenir l'intersection et définir la liste des
laboratoires en activité continue pendant les 3 années précédant l’année en cours.
# Extraction des noms des labos par requête sur la table Partenaires, puis jointure avec la
liste des laboratoires pour créer la matrice matrixLabos.
# Sauvegarde de l'objet matrixLabos dans le répertoire des objets R.
# Affiche la taille de la liste des labos stables dans le fichier HebdomadaireAlarmes.
# Création du premier data frame avec les nombres de souches nécessaires aux séries
temporelles composé de la base historisée années 2001 -> 2004
# Création du data frame avec les nombres de souches nécessaires aux séries temporelles
pour les années 2005 -> N_1
# Union du data frame historisé et du data frameN_1 par jointure par lignes avec rbind pour
créer l’objet dataframeNbSouchesHist
# Sauvegarde de l'objet dataframeNbSouchesHist dans le répertoire des objets R.
2- Extraction des données de la BD salmo2000-2005 pour la période janvier à la date du jour
de l’AnneeCourante et fusion avec les données historisées :
# Création du data frame avec les nombres de souches nécessaires aux séries temporelles
pour la période janvier -> date_du_jour
# Union du data frame AnneeCourante avec le data frame 2001 -> AnneeN_1 par jointure
par lignes avec rbind
# Jointure de ce data frame avec la matrice des codes partenaires des labos stables par un
merge pour ne conserver que les données en provenance de laboratoires stables.
# Calcul du taux de perte des données
3- Construction des séries temporelles historiques (environ 12 min):
# Création du calendrier AFSSA comportant toutes les dates (de 2001 à 2050), ainsi que
l’information Indice, index des semaines.
47
# Création du calendrier Historique : sélection de la partie du calendrier AFSSA
correspondant aux données historisées.
# Transformation du format dateenvoi au format calendrier AFSSA, pour la correspondance
dateenvoi / Indice.
# Ajout de dateenvoi au format calendrier AFSSA et jointure par un merge avec Historique
pour ne conserver que les données historiques.
# Suppression des colonnes devenues redondantes
# Sauvegarde des données historiques sous forme d’un data frame
matrixDonneesHistorique dans le répertoire des objets R.
# Création du data frame dataframeNbSouchesSerotypesHistorique qui contient les
informations nécessaires à la construction des séries temporelles :
"SELECT DISTINCT Indice, libelle, Sum(nb_souches) AS NbSouches FROM
matrixDonneesHistorique GROUP BY Indice, libelle.
# Extraction ListeIndicesHistorique : liste des indices avec sérotypes à partir
matrixDonneesHistorique, dans un but de contrôle des données.
# Détection des semaines éventuellement manquantes dans le calendrier Historique.
# Extraction ListeIndicesCalendrierHistorique : liste des indices dans CalendrierHistorique ;
c’est cette table qui sera utilisée par la suite pour indexer le temps.
# Extraction liste des sérotypes à partir matrixDonneesHistorique.
# Construction de matrixSerotypesHistorique, data.frame qui comprend en première colonne,
ListeIndicesCalendrierHistorique, puis pour les colonnes suivantes, le nombre de souches
pour chaque semaine, pour chaque sérotype au moyen de 4 requêtes SQL. Ce data.frame
est construit par boucle sur la liste des sérotypes, par merges successifs sur la colonne
Indice.
# Sauvegarde des données historiques :
matrixSerotypesHistorique, ListeSerotypesHistorique et ListeIndicesCalendrierHistorique
dans le répertoire des objets R.
4- Construction des séries temporelles de l’année en cours (environ 2 min):
# Création du calendrier Calendrier : sélection de la partie du calendrier AFSSA
correspondant aux données de l’année en cours.
# Jointure par un merge avec Calendrier pour ne conserver que les données de l’année en
cours.
# Suppression des colonnes devenues redondantes : les données sont stockées sous forme
d’un data frame matrixDonnees.
# Création du data frame dataframeNbSouchesSerotypes qui contient les informations
nécessaires à la construction des séries temporelles :
"SELECT DISTINCT Indice, libelle, Sum(nb_souches) AS NbSouches FROM matrixDonnees
GROUP BY Indice, libelle.
# Extraction ListeIndices: liste des indices avec sérotypes à partir matrixDonnees, dans un
but de contrôle des données.
# Détection des semaines éventuellement manquantes dans le calendrier courant.
# Extraction ListeIndicesCalendrier : liste des indices dans Calendrier ; c’est cette table qui
sera utilisée par la suite pour indexer le temps.
# Extraction liste des sérotypes à partir matrixDonnees.
# Construction de matrixSerotypes, data.frame qui comprend en première colonne,
ListeIndicesCalendrier, puis pour les colonnes suivantes, le nombre de souches pour chaque
semaine, pour chaque sérotype au moyen de 4 requêtes SQL. Ce data.frame est construit
par boucle sur la liste des sérotypes, par merges successifs sur la colonne Indice.
48
5- Phase de fusion des séries temporelles (environ 1min)
# Construction de la liste complète des sérotypes ListeCompleteSerotypes par fusion des
lignes (commande rbind) des 2 listes de sérotypes ListeSerotypesHistorique et
ListeSerotypes.
# Construction de la liste complète des indices ListeCompleteIndices par union des 2 listes
d'indices ListeIndicesCalendrierHistorique et ListeIndicesCalendrier.
# Construction de matrixCompleteSerotypes par fusion des lignes et des colonnes de
matrixSerotypesHistorique et de matrixSerotypes avec en première colonne,
ListeCompleteIndices, puis pour les colonnes suivantes, le nombre de souches pour chaque
sérotype, pour chaque semaine.
La problématique de fusion de ces 2 tables est la suivante :
certains sérotypes peuvent n’avoir été détectés et comptabilisés que dans la période
historique, d’autres, seulement pendant l’année en cours. On balaye alors
ListeCompleteSerotypes en examinant successivement si le sérotype en question fait partie
des sérotypes historiques ListeSerotypesHistorique ou des sérotypes de l’année en cours
ListeSerotypes. Dans le premier cas, la partie historique de la colonne est alimentée par la
colonne correspondante de matrixSerotypesHistorique, suivie de zéros pour la partie année
en cours, dans le second cas, la partie historique est remplie de zéros, la partie année en
cours de la colonne est alimentée par la colonne correspondante de matrixSerotypes. Si
enfin le sérotype en question existe sur l’ensemble de la période étudiée, alors les parties
historique et de l’année en cours sont alimentées par les colonnes correspondantes de
matrixSerotypesHistorique et matrixSerotypes.
Ces tests se font grâce à l’instruction names qui extrait les noms des colonnes des
data.frames matrixSerotypesHistorique et matrixSerotypes : il existe une correspondance
biunivoque entre names(matrixSerotypesHistorique) et ListeSerotypesHistorique et entre
names(matrixSerotypes) et ListeSerotypes.
# Suppression des valeurs manquantes: remplacement par zéro
# Affectation de noms aux colonnes de matrixCompleteSerotypes : la première colonne aura
pour nom Indice, les suivantes, les noms composant la liste ListeCompleteSerotypes.
6- Phase d'analyse et de détection des alarmes (environ 90 min)
# Alimentation des vecteurs week et state communs à tous les sérotypes : week est alimenté
avec la première colonne de matrixCompleteSerotypes et contient ListeCompleteIndices,
state est alimenté avec des zéros et permet de définir les semaines où ont eu lieu des
outbreaks au sens épidémiologique.
# Création de la liste des objets liststs, un par sérotype, composés de 3 objets SurvRes
et de 3 cumuls d'alarmes évalués à l'aide des méthodes de Farrington, RKI et Bayes : c’est
la fonction functionliststs qui balaye la liste ListeCompleteSerotypes :
# Création de l'objet disProg : le vecteur observed contient la (i+1)ième colonne de
matrixCompleteSerotypes relatives au ième sérotype.
# Affectation du nom du sérotype à l'objet disProg
# Algorithme de Farrington avec w=3, b= 5 et début range Indice=266 : définition des
contrôles nécessaires à l’aide d’une liste appelée cntrlf et de l’objet statistique sts.cdsc.
# Calcul et affichage du nombre d'alarmes sur la période définie par le range pour contrôle
# Création d'un vecteur d'indices d'alarmes Farrington testalarmf grâce à la commande
which(sts.cdsc$alarm > 0) qui définit les indices de semaine où il y a eu une alarme.
# Ajout de la première valeur du range -1 aux indices des alarmes pour obtenir les indices de
semaines où ont eu lieu les alarmes et le vecteur alarmf.
49
# Algorithme RKI avec w=3, b= 5 et début range Indice=266 : définition des contrôles
nécessaires à l’aide d’une liste appelée cntrlr et de l’objet statistique sts.rki.
# Ajout du traitement correspondant à l'option par défaut limit54 dans l'algorithme de
Farrington : lorsqu’une alarme s’est déclenchée pour une semaine et qu’en cumulant les
observations de cette semaine et des 3 précédentes on obtient une valeur inférieure à 5,
l’alarme de cette semaine est supprimée.
# Calcul et affichage du nombre d'alarmes sur la période définie par le range pour contrôle
# Création d'un vecteur d'indices d'alarmes RKI testalarmr grâce à la commande
which(sts.rki$alarm > 0) qui définit les indices de semaine où il y a eu une alarme.
# Ajout de la première valeur du range -1 aux indices des alarmes pour obtenir les indices de
semaines où ont eu lieu les alarmes et le vecteur alarmr.
# Algorithme de Bayes avec w=3, b= 5 et début range Indice=266 : définition des contrôles
nécessaires à l’aide d’une liste appelée cntrlb et de l’objet statistique sts.bayes.
# Ajout du traitement correspondant à l'option par défaut limit54 dans l'algorithme de
Farrington.
# Calcul et affichage du nombre d'alarmes sur la période définie par le range pour contrôle
# Création d'un vecteur d'indices d'alarmes Bayes testalarmb grâce à la commande
which(sts.bayei$alarm > 0) qui définit les indices de semaine où il y a eu une alarme.
# Ajout de la première valeur du range -1 aux indices des alarmes pour obtenir les indices de
semaines où ont eu lieu les alarmes et le vecteur alarmb.
# Alarmes communes à au moins 2 méthodes composant le vecteur alarm2 : 3 merges pour
obtenir les intersections, 2 rbind pour obtenir les unions, enfin la commande
unique(alarmstep5, incomparables = FALSE) pour supprimer les doublons.
# Insertion de plages temporelles de 4 semaines : le vecteur alarm2 est enrichi de telle sorte
que pour chaque semaine où a eu lieu une alarme, sont ajoutés les indices des 3 semaines
précédentes.
Lorsque alarm2 est non vide :
# Séparation des alarmes de début 2006 -> 31/12/AnneeN_1 et a/c 01/01/AnneeN -> today
qui concernent les matrices: matrixDonneesHistorique et matrixDonnees : 2 vecteurs sont
construits alarmAnneeN_1 et alarmAnneeN au moyen des commandes
alarm2[ alarm2 < IndiceMinAnneeN ] et alarm2[alarm2 >= IndiceMinAnneeN].
# transformation de alarmAnneeN_1 en chaîne de caractères pour la requête SQL sur
matrixDonneesHistorique
# Extraction des infos de matrixDonneesHistorique contenant les données de la période
correspondant à CalendrierHistorique pour créer la partie historique de la table ACCESS
alarmeslibelle libelle figure pour le ième sérotype.
# Calcul des nombres de souches pour les semaines où il y a eu des alarmes pour la partie
historique.
# transformation de alarmAnneeN en chaîne de caractères pour la requête SQL sur
matrixDonnees
# Extraction des infos de matrixDonnees contenant les données de la période correspondant
à Calendrier pour créer la partie année en cours de la table ACCESS alarmeslibelle
libelle figure pour le ième sérotype.
# Calcul des nombres de souches pour les semaines où il y a eu des alarmes pour la partie
année en cours.
# Union des infos : union des tables relatives aux périodes CalendrierHistorique et
Calendrier.
# Réappropriation de dateenvoi : celle-ci est reconstruite à l’aide de la commande
strptime(dateenvoi, "%Y-%m-%d").
# Supression des infos dates autres que dateenvoi par fusion de colonnes (commande
cbind) et stockage dans la table dataframeCompleteInfosAlarmes.
50
# Sauvegarde des données alarmes dans ACCESS :
# Simplification éventuelle du nom du ième sérotype, Serotypei, lorsque celui-ci comprend
des points et des blancs ce qui empêche la génération de la requête SQL.
# Destruction de l'ancienne table alarmeslibelle (ou encore alarmesSerotypei) avec la
commande SQL DROP TABLE.
# Création de la table alarmeslibelle avec la commande SQL CREATE TABLE avec la
définition des formats des champs libelle, dateenvoi, codeori, nb_souches, secteur,
filiere, produit1, codedem, contexte.
# Alimentation de la table alarmeslibelle avec les données de
dataframeCompleteInfosAlarmes.
# Affichage éventuel des alarmes pour ce sérotype dans le fichier texte
HebdomadaireAlarmes : les alarmes Farrington et/ou celles déclenchées par 2 des 3
méthodes, dans un passé proche : en fin de semaine (de jeudi à dimanche), on sélectionne
la semaine précédente, en début de semaine ( de lundi à mercredi), on sélectionne l’avant-
dernière semaine.
# Traitement spécifique lorsque l'indice correspond aux dernières et premières semaines de
l’année: ces deux semaines ne comprennent pas en général 7 jours et l’affichage des débuts
et fins de semaines est adapté en conséquence : les jours de ces 2 semaines varient du
premier jour au maximum des jours, au lieu du premier jour au septième jour.
# liststs list(sumalarmf, sumalarmr, sumalarmb, sts.cdsc, sts.rki, sts.bayes) : l’objet liststs
comprend les nombres d’alarmes et les objets statistiques afférents avec les méthodes de
Farrington, RKI et Bayes. C’est cette liste de 6 objets qui est retournée par la fonction
functionliststs.
Lorsque alarm2 est vide :
La fonction functionliststs retourne la valeur nulle.
# Graphiques éventuels des alarmes
# Nom du fichier et dimension des graphiques par feuille : le document pdf
GraphesHistoriquesAlarmes_2006_AnneeCourante est créé par la commande pdf.
# 4 fenêtres graphiques sont créées par feuille avec la commande
par(cex=0.7, xaxt="s", mfrow = c(2,2)).
C’est la fonction functiongraphliststs qui crée les graphiques au sein du document pdf, pour
chaque sérotype pour lequel functionliststs n’a pas retourné de valeur nulle à l’étape
précédente. Elle balaye la liste ListeCompleteSerotypes.
Pour AnalyseHebdomadaire
La différence essentielle avec le programme AnalyseAnnuelle est qu’il n’y a pas de
génération des données historisées ; celle-ci est remplacée par le chargement de ces
données au moyen de la commande load.
Pas de phase 1.
Phase 2bis- Extraction des données de la BD salmo2000-2005 pour la période janvier à la
date du jour de l’AnneeCourante et fusion avec les données historisées :
# Charge la liste des labos stables matrixLabos puis affiche leur nombre dans le fichier texte
HebdomadaireAlarmes à l’aide de la commande load.
# Création du data frame avec les nombres de souches nécessaires aux séries temporelles
pour la période janvier -> date_du_jour
# Chargement du data frame dataframeNbSouchesHist puis union avec le data frame
précédent par jointure par lignes avec rbind
# Jointure de ce data frame avec la matrice des codes partenaires des labos stables par un
merge pour ne conserver que les données en provenance de laboratoires stables.
# Calcul du taux de perte des données
51
Pas de phase 3.
La phase 4 de construction séries temporelles de l’année en cours est identique.
Phase 5bis- Phase de fusion des séries temporelles
# Chargement de l'objet ListeSerotypesHistorique à l’aide de la commande load.
# Construction de la liste complète des sérotypes ListeCompleteSerotypes par fusion des
lignes (commande rbind) des 2 listes de sérotypes ListeSerotypesHistorique et
ListeSerotypes.
# Chargement de l'objet ListeIndicesCalendrierHistorique à l’aide de la commande load.
# Construction de la liste complète des indices ListeCompleteIndices par union des 2 listes
d'indices ListeIndicesCalendrierHistorique et ListeIndicesCalendrier.
# Chargement de l'objet R matrixSerotypesHistorique à partir du répertoire des objets R
# Construction de matrixCompleteSerotypes par fusion des lignes et des colonnes de
matrixSerotypesHistorique et de matrixSerotypes avec en première colonne,
ListeCompleteIndices, puis pour les colonnes suivantes, le nombre de souches pour chaque
sérotype, pour chaque semaine.
La suite des traitements est rigoureusement identique à celle du programme précédent.
II- Contrôles à réaliser :
Pour AnalyseHebdomadaire
1- Se mettre sur le répertoire X:\CEB\2- DOSSIERS PATHOGENES\SALMO et vérifier que
les 2 bases de données ACCESS salmo2000-2004 et salmo2005-2008 s’y trouvent. Noter
les dates de dernière mise à jour.
2- Copier la BD salmo2005-2008 se trouvant sous le répertoire :
X:\CEB\2- DOSSIERS PATHOGENES\SALMO sur le répertoire :
X:\CEB\Stagiaires et Thésards\BAROUKH Tiba
L’ancienne base sera écrasée, aussi au préalable, fermer l’ancienne base et vérifier les
dates de dernière mise à jour avant de lancer la copie.
3- Lancer l’application Tinn-R, puis ouvrir le programme R AnalyseHebdomadaire.r se
trouvant sous le répertoire X:\CEB\Stagiaires et Thésards\BAROUKH Tiba \Randco à l’aide
du menu File + Open…
4- Ouvrir la fenêtre d’exécution R en cliquant sur l’icône R, bulle d’information Togle
start/close Rgui.
5- Lancer l’exécution en sélectionnant le début du code en cliquant sur l’icône, bulle
d’information Send selection, jusqu’au commentaire (en vert) # Extraction date du jour. Au
fur et à mesure, le résultat de l’exécution des commandes s’affiche dans la fenêtre
d’exécution R.
6- Lancer ensuite la suite des commandes ligne à ligne en cliquant sur l’icône, bulle
d’information Send current line. Chaque ligne en cours d’exécution est surlignée en jaune.
7- Vérifier que la date du jour et le chemin d’accès à la base salmo2005-2008 sont corrects.
8- Vérifier que le canal de connexion à la base salmo2005-2008 fonctionne et qu’il désigne
bien le chemin d’accès défini au point 7. En cas de problème, reprendre l’opération 2 et
revérifier date du jour, chemin d’accès et canal de connexion.
52
9- A partir du commentaire # Sélection de la semaine d'étude, il est possible de lancer
l’exécution du reste du programme en une seule fois en cliquant sur l’icône, bulle
d’information Send selection ou d’exécuter par bloc d’instructions, même commande.
L’exécution dure environ 1h45min et balaye l’ensemble des sérovars.
10- Le suivi de l’exécution du programme est facilité par l’affichage de la liste des sérovars,
et des messages de création des tables alarmeslibelle dans la base salmo2005-2008.
11- Vérifier les sorties : sous le répertoire X:\CEB\Stagiaires et Thésards\BAROUKH Tiba
\Randco\Graphiques, pour le document pdf comprenant les graphiques de toutes les séries
temporelles ayant déclenché des alarmes sur la période 2006-2008 ; sous le répertoire
X:\CEB\Stagiaires et Thésards\BAROUKH Tiba \Randco\Resultats, pour le document texte,
compte-rendu d’exécution ; dans la base ACCESS, examiner le contenu de quelques tables
alarmeslibelle.
Pour AnalyseAnnuelle
2bis- Copier les deux BD salmo2000-2004 et salmo2005-2008 se trouvant sous le
répertoire :
X:\CEB\2- DOSSIERS PATHOGENES\SALMO sur le répertoire :
X:\CEB\Stagiaires et Thésards\BAROUKH Tiba
Les anciennes bases seront écrasées, aussi au préalable, les fermer et vérifier les dates de
dernières mises à jour avant de lancer les copies.
7bis- Vérifier que la date du jour et les chemins d’accès aux bases salmo2000-2004 et
salmo2005-2008 sont corrects.
8bis- Vérifier que les canaux de connexion aux deux bases salmo2000-2004 et salmo2005-
2008 fonctionnent et qu’ils désignent bien les chemins d’accès définis au point 7bis. En cas
de problème, reprendre l’opération 2bis et revérifier date du jour, chemin d’accès et canaux
de connexion.
53
Annexe 9 : Programme Analyse Hebdomadaire
This research hasn't been cited in any other publications.
  • Article
    Outbreaks of infectious diseases must be detected early for effective control measures to be introduced. When dealing with large amounts of data, automated procedures can usefully supplement traditional surveillance methods, provided that the wide variety of patterns and frequencies of infections are taken into account. This paper describes a robust system developed to process weekly reports of infections received at the Communicable Disease Surveillance Centre. A simple regression algorithm is used to calculate suitable thresholds. Organisms exceeding their threshold are then flagged for further investigation.
  • Article
    Since the publication of the Approved Lists of Bacterial Names, the type species of the genus Salmonella has been S. choleraesuis. At the time of publication of the Approved Lists, five Salmonella species had standing in the nomenclature, and the description of S. choleraesuis was the same as that of the serotype of that name. Several studies have shown that the genus Salmonella consists of only one species, and the strict application of the Bacteriological Code would recognize S. choleraesuis (the type species) as the single Salmonella species. This can lead to confusion and hazards since the specific epithet is also the name of a serovar (serovar Choleraesuis). This confusion is increased by the common practice of using serovar names as if they represented species names (e.g., S. typhi, S. choleraesuis, and S. typhimurium). Some serovars (e.g., Salmonella choleraesuis subsp. choleraesuis serovar Typhi) are highly pathogenic and cause a disease different from that caused by other serovars (e.g. S. choleraesuis subsp. choleraesuis serovar Choleraesuis). To avoid further confusion, it is proposed to use for the single Salmonella species a name which has not been used earlier for a serotype. It is thus requested that the type species of the genus Salmonella be Salmonella enterica sp. nov., nom. rev. with strain CIP 60.62 (a H2S-producing clone of strain LT2) as the type strain. Since the name S. choleraesuis is not proposed for rejection, bacteriologists who do not accept the single species concept of the genus Salmonella will be free to use the name S. choleraesuis as a synonym of Salmonella enterica subsp. enterica serotype C holeraesuis. The species concept in the genus Salmonella has evolved in four overlapping phases. Each of these phases relied on available methodology and knowledge stressing (i) clinical evidence, (ii) antigenic specificities, (iii) biochemical proper- ties and (iv) deoxyribonucleic acid (DNA) relatedness. Taxonomy based on the clinical role of Salmonella strains. Strains were considered different species when isolated from different clinical conditions (e.g., "Eberthella typhosa" or S. typhi and S. enteritidis) or different hosts ("S. abortusovis," "S. gallinarum-pullorum," and S. cholerae- suis). It was soon realized that a number of these so-called species were ubiquitous, and emphasis shifted to antigenic properties. Taxonomy based on antigenic specificities. Serological anal- ysis of 0 and H antigens initiated by White (36) and continued and extended by Kauffmann (17) resulted in the description of a great number of serovars. In 1961, Kauff- mann (16) defined the species as "a group of related sero- fermentative phage types," with the result that each Salmo- nella serovar was considered as a species. This "one serovar-one species" concept is untenable. It should be noted that more than 2,100 serovars have been described. Since some names inferring a host specificity happened to be bad choices, epithets of the new serovars were later derived from the geographic location where the first strain was isolated (e.g., "S. panama" and "S. montevideo"). Taxonomy based on biochemical properties. Most serovars cannot be separated by biochemical tests, and several au- thors have made proposals aimed at reducing the number of species. In 1944, Borman et al. (2) proposed that only three
  • Chapter
    IntroductionStatistical methodsConclusion
  • Article
    In this article we discuss our experience designing and implementing a statistical computing language. In developing this new language, we sought to combine what we felt were useful features from two existing computer languages. We feel that the new language provides advantages in the areas of portability, computational efficiency, memory management, and scoping.
  • Article
    This chapter describes the methodological issues involved in outbreak detection and gives examples from a range of statistical techniques. It focuses on infectious disease detection because most outbreak detection systems have been applied to infectious disease. However, the methods described apply more generally, and examples are drawn from related areas, such as monitoring birth defects.
  • Article
    Full-text available
    A regression model for the nonepidemic level of influenza-like syndrome has been estimated from the 55,200 cases collected between October 1984 and August 1988 using the French Communicable Diseases Computer Network. The start of a major epidemic in 1988-89 was detected early. The size of the epidemic, for the entire country, was estimated at approximately 4.3 million cases. The excess cost of sick-leave, among those of working age, was estimated at $86 million.
  • Article
    The detection of unusual patterns in the occurrence of diseases and other health events presents an important challenge to public health surveillance. This paper discusses three analytic methods for identifying aberrations in underlying distributions. The methods are illustrated on selected infectious diseases included in the National Notifiable Diseases Surveillance System of the Centers for Disease Control. Results suggest the utility of such an analytic approach. Further work will determine the sensitivity of such methods to variations in the occurrence of disease. These methods are useful for evaluating and monitoring public health surveillance data.
  • Article
    Detection of outbreaks of infection or increases in bacterial resistance to antimicrobial agents is an essential component of hospital infection control surveillance. The authors applied the method of exponential smoothing to microbiology data from 1987-1992 to investigate a suspected outbreak of gentamicin resistance among Pseudomonas aeruginosa bacteria at the Department of Veterans Affairs Medical Center, San Francisco, California, in 1991-1992. The years 1987-1990 were used to develop the baseline for the forecast model. Application of the model indicated that two observed prominent peaks in the annual cumulative incidence of gentamicin-resistant P. aeruginosa were within the upper bounds of their respective 95% confidence intervals as estimated by the forecast model--i.e., that no epidemic was in progress. This prediction was supported by investigations by the hospital's infection control team which indicated that the apparent increases were due to readmission of patients previously known to harbor these organisms. In contrast, application of a typically employed method that ignores the time series data structure indicated that there were 6 months in which incidence rates exceeded the upper bounds of their respective 95% confidence intervals, thereby erroneously suggesting that an epidemic was in progress. Recursive algorithms and some simplifying assumptions that do not affect the validity of inferences make the application of this method practical for nosocomial infection control programs.