/data

Consolidation des données de sources officielles concernant l'épidémie de COVID19

Primary LanguageJavaScriptMIT LicenseMIT

🇬🇧 English

Données nationales concernant l'épidémie de COVID19

L'information officielle sur la progression de l'épidémie en France est assez fragmentée, et n'est presque jamais structurée sous forme de données.

L'objectif de ce dépôt est de consolider l'information officielle, et de la rendre disponible dans des formats ouverts et aisément réutilisables (JSON, CSV…).

Inutile de perdre du temps à écrire des scrappers, à ce stade il est plus efficace de recopier les données à la main, et d'indiquer la source.

Données résultantes

Sources utilisées

Fichiers sources

Les informations à la source sont au format PDF ou dans des communiqués au format HTML, ou pour les vidéos ce sont des informations partagées à l'oral.

Ces informations sont collectées et regroupées dans des fichiers YAML.

1 fichier YAML par source et par publication (donc par date). Le nom de chaque fichier a pour modèle YYYY-MM-DD.yaml.

Comment contribuer ?

Vous pouvez vous proposer comme volontaire sur un département ou une région dans ce pad.

Vous pouvez aussi consulter le guide de contribution pour l'ensemble des projets de collecte de données.

🚨 Les contributions se font via les fichiers YAML et non dans le fichier de sortie (CSV/JSON)

⚠️ Faites une pull request par fichier YAML (ça facilite les relectures et accélère l'intégration des data)

Tâches :

  • Créer les fichiers YAML manquants. Voir section 1️⃣
  • Vérifier les pull requests. Voir section 2️⃣

1️⃣ Comment créer un fichier Yaml

⚠️ vérifier dans les PR que le fichier n'est pas déjà proposé

Le plus simple pour contribuer est de copier un fichier YAML existant et de l'adapter avec les nouvelles données. Les données doivent être recopiées à la main depuis les différentes sources de données. Le fichier YAML doit être placé dans le bon répertoire et son nom doit être sous la forme YYYY-MM-DD.yaml (date du bulletin).

Les sources de données (PDF, videos ou site web) sont notées dans chaque fichier YAML. Si vous cherchez des sources de données, les sources actuelles sont regroupées dans le fichier de sortie (CSV/JSON).

💡 Pour les novices, ce guide complet détaille comment contribuer via GitHub.

2️⃣ Comment vérifier un pull request (PR)

  1. Choisir une pull requests
  2. Relire les fichiers YAML de la PR en les comparant avec les données du bulletin pointé par url ou archive
  3. Faire code review en notant les défaut si existant (exemple: le nombre de cas est incorrect)
  4. Soumettre sa code review en "approvant" ou en "demandant des modifications"
    • Si vous ne trouvez aucun défaut, il faut "approuver" la PR

(Tutoriel vidéo)

Convention de nommage des pull requests

⚠️ Rappel: un seul nouveau fichier YAML par PR.

Lorsque vous faites une pull request, il convient de respecter les règles de nommage suivantes:

  • Pour l'ajout d'un nouveau fichier YAML : ADD nom_de_de_source jj/mm

    Exemple avec le fichier du 24 mars de l'ARS de La Réunion : ADD ARS La Réunion 24/03

  • Pour une correction sur un fichier YAML existant : FIX nom_de_la_source jj/mm

    Exemple avec le fichier du 20 mars de Santé Publique France : FIX SPF 20/03

Comment compléter les fichiers YAML

Consignes générales :
➡️ le nombre d'espaces en début de ligne est très important, ainsi que la position des tirets -, soyez vigilant en complétant les fichiers
➡️ Ne pas mettre d'espaces entre les nombres. 255 000 ▶️ 255000

Entête de fichier YAML

Voici un exemple de bloc YAML pour une entête de fichier :

date: 2020-03-10
time: 15:00 # champ optionnel
source:
  nom: nom-de-la-source-de-donnees
  url: https://site.web/lien-vers-le-bulletin.pdf
  archive: https://web.archive.org/web/XXXXXX/https://site.web/lien-vers-le-bulletin

Le fichier YAML doit commencer par la date du bulletin, suivi pour un bloc source. Il convient de mettre le nom et l'url de la source (de préférence un bulletin PDF ou à defaut une page web). Pour les pages web et les PDF, il convient de rajouter une archive:, voir section suivante.

💡 Le champ time est optionnel. L'heure au format hh:mm peut être précisée, si elle est indiquée dans le bulletin. Exemple 'Chiffres retenus à 15h00 le 27 mars'.

⚠️ Attention, un seul fichier par date. S'il existe plusieurs bulletins pour le même jour à des heures différents, il conviendra de regrouper les données dans un seul fichier en prenant les données les plus récentes. Notez que ce n'est pas toujours possible de regrouper ces données.

Comment créer une 'archive'
  1. Rendez-vous sur le site https://web.archive.org/save
  2. Dans le champ texte, collez l'url de votre source
  3. Appuyez sur 'save page'. Un lien commençant par https://web.archive.org/web/ sera généré
  4. Vérifiez que ce lien fonctionne : en l'ouvrant dans votre navigateur, vous devez voir la bone page apparaître
  5. Collez le lien complet derrière la balise archive:

Notez que le lien peut prendre du temps avant d'être fonctionnel. Il est également possible d'archiver un fichier PDF. Certains bulletins web ou PDF sont écrasés chaque jour donc pensez à faire des archives sur https://web.archive.org/save.

Les données collectées

Les données nationales
  • casConfirmes : total cumulé du nombre de cas confirmés
  • deces : total cumulé du nombre de décès
  • hospitalises : nombre de personnes hospitalisées le jour du bulletin
  • reanimation : nombre de personnes en réanimation le jour du bulletin
  • gueris : total cumulé du nombre de personnes guéries (sorties de l'hôpital)
  • depistes : total cumulé du nombre de personnes dépistées (testées par PCR)
Les données internationales
  • casConfirmes : total cumulé du nombre de cas confirmés au niveau mondial
  • gueris : total cumulé du nombre de cas guéris au niveau mondial
  • deces : total cumulé du nombre de décès au niveau mondial
  • paysTouches : nombre de pays touchés

Autres données collectées (si elles sont mentionnées dans les sources)

Sur les types d'hopitalisations:

  • hospitalisesConventionnelle : quand le bulletin indique patients en hospitalisation conventionnelle
  • hospitalisesReadaptation : patients "en soins de suite et réadaptation" (attention ce n'est pas réanimation)
  • hospitalisesAuxUrgences : patients "en soins aux urgences"

Sur la capacité de lits, la capacite totale de lits disponibles capaciteTotaleLitsDisponibles est définie par la somme de :

  • capaciteLitsReanimation : capacite de lits de réanimation (équipés de respirateurs)
  • capaciteLitsSoinsContinus : capacité de lits de soins continus*
  • capaciteLitsSoinsIntensifs : capacité de lits de soins intensifs

📒 * Les USC (Unités de Soins Continus) ont pour vocation de prendre en charge « des malades qui nécessitent, en raison de la gravité de leur état ou du traitement qui leur est appliqué, une observation clinique (incluant une surveillance rapprochée des paramètres vitaux) et biologique répétée et méthodique ».

Source : Décret n° 2002-466 du 5 avril 2002 relatif aux conditions techniques de fonctionnement auxquelles doivent satisfaire les établissements de santé pour pratiquer les activités de réanimation, de soins intensifs et de surveillance continue

Bloc YAML par région ou département

Voici un exemple de bloc YAML pour une région ou un département:

  nom: region-ou-departement-exemple
  code: Exemple
  casConfirmes: 500
  gueris: 40 # ceci est un commentaire pour détailler une valeur
  deces: 10
  depistes: 5000
  hospitalises: 10 # ceci est un autre commentaire
  reanimation: 5
  victimes:
    - age: 85
      date: 2020-03-10
      sexe: homme
    - sexe: femme
      date: 2020-03-10
    - date: 2020-03-10
  • Les champs casConfirmes, gueris, deces et depistes comptabilisent le total par catégorie depuis le début de la crise Covid-19.

  • Les champs hospitalises et reanimation donnent le nombre de patient par catégorie à l'instant de l'édition du bulletin d'information, ces 2 chiffres peuvent bien sûr évoluer à la hausse ou à la baisse.

  • Le bloc victimes détaille les informations du bulletin concernant les personnes décédées (et non les personnes contaminées). Attention ce champ ne comptabilise pas toutes les victimes depuis le début de la crise, mais uniquement les victimes annoncées dans le bulletin.

    • Pour chaque victime, on ajoute un tiret -, puis les informations sur la personne. Si aucune information, ajoutez la date du décès date: 2020-03-10. Si vous disposez de plus d'information, ajoutez un tiret - par victime puis toutes les informations disponibles age, sexe et/ou date (cf. exemple ci-dessus)

💡 Notez qu'il est possible si besoin d'ajouter des commentaires en fin de ligne en utilisant le caractère #

💡 Notez qu'il est possible que certains bulletins soient érronés. Dans ce cas, corrigez le fichier YAML sur lequel l'erratum s'applique. Il convient de noter via un commentaire # la raison de la différence entre le nombre indiqué dans le YAML et le nombre indiqué dans sa source. Exemple :

  casConfirmes: 29 # Erratum du bulletin 13/03 : 1 cas compté en double. La valeur 30 du bulletin du 12/03 est donc erronée

Produire les fichiers JSON et CSV

Pré-requis

  • Node.js >= 10
  • yarn ou npm

En action

yarn
yarn build

ou

npm install
npm run build

Licence

2020 © Les contributeurs du dépôt.

Les données sont publiées sous Licence Ouverte 2.0 (sauf mention contraire).

Les codes sources sont publiés sous licence MIT.