[PYTHON] Testons l'hypothèse d'effondrement médical du nouveau virus corona

introduction

Quant à la menace de la nouvelle infection à coronavirus (COVID-19), une déclaration d'urgence a également été émise au Japon, appelant au danger d'effondrement médical. En particulier, en réponse à l'augmentation rapide du nombre de personnes infectées dans les zones urbaines, des mesures telles que l'acceptation de personnes légères et asymptomatiques dans des établissements d'hébergement ont été lancées. En outre, comme rapporté à la télévision, il a été souligné qu'un effondrement médical s'est produit en Chine, en Italie, aux États-Unis, etc., et qu'il y a des cas où un traitement suffisant ne peut être reçu en raison d'une paralysie des fonctions hospitalières. Dans cet article, je voudrais définir ** l'effondrement médical quantitativement ** à partir des données publiées par l'Université Johns Hopkins, tout en définissant concrètement ce qu'est l'effondrement médical.

Qu'est-ce que l'effondrement médical?

Selon Wikipedia, l'origine de l'effondrement médical Il semble qu'il soit utilisé pour signifier "un système de fourniture de soins médicaux stable et continu ne sera pas mis en place en raison d'une baisse du moral des médecins, d'une augmentation des soins médicaux de défense, d'une détérioration de la gestion hospitalière, etc.", mais concernant le COVID-19, " Il y a une pénurie de personnel médical et de matériel médical, et il est devenu difficile de traiter les personnes gravement malades. " En d'autres termes, il semble que le sens change légèrement selon le contexte dans lequel il est utilisé. Dans le premier sens, [ce graphique](https://ja.wikipedia.org/wiki/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:Oecd- En regardant doctorconsult2013.svg), il semble que le Japon et la Corée du Sud se démarquent en tant que pays avec un grand nombre de consultations par rapport au nombre de médecins par population. Cette fois, je voudrais définir la définition de l'effondrement médical * lié à * COVID-19 comme suit.

Quantifier l'effondrement médical

Données publiées par l'Université Johns Hopkins regroupe les infections cumulées quotidiennes, la guérison et les décès dans le monde Je suis. Sur la base de ces données, les deux indicateurs suivants sont calculés.

  1. Mortalité rD: nombre de décès ce jour-là généré à partir du nombre de personnes nécessitant un traitement (C) le jour précédent
  2. Taux de récupération rR: nombre de guérisseurs ce jour-là généré à partir du nombre de personnes nécessitant un traitement (C) le jour précédent

En fait, il y a un décalage entre l'hospitalisation et le décès, ou entre l'hospitalisation et le rétablissement, il est donc nécessaire d'en tenir compte lors du calcul, mais comme il n'inclut pas les données sur le temps nécessaire au décès ou au rétablissement par patient, c'est simple. J'ai décidé de calculer. Bien qu'il soit simple, le nombre de patients nécessitant un traitement (C) semble inclure des patients dont les jours d'hospitalisation sont différents, il est donc considéré comme un indice dans une certaine mesure. À propos, le nombre de personnes nécessitant un traitement est calculé par la formule suivante.

Essayez de calculer avec Python

Ce code est disponible sur GitHub. Il est enregistré au format Jupyter Notebook. (Nom de fichier: 03_R0_estimation-WLD-RDR-01c.ipynb)

code

Je ne couvrirai pas tout le code de l'article car il sera long, mais j'expliquerai les points clés du calcul.

Les données de l'Université Johns Hopkins sont agrégées par pays et État, mais comme les données répertoriées par État et les données répertoriées par pays dans son ensemble sont mixtes, elles sont ré-agrégées par pays. ..

def getSumOfCountry01(df, country):
    df1 = df[df["Country/Region"] == country]
    # summarise for each country/region
    if df1['Province/State'].isnull().any():
        df2 = df1.fillna({'Province/State':'SUM'})
        df3 = df2[df2['Province/State'] == 'SUM']
    else:
        df3 = pd.DataFrame(df1.sum(axis=0)).T
        df3['Province/State'] = 'SUM'
        df3['Country/Region'] = df1.iloc[0,1]    
    return df3

C'est la partie qui calcule le taux de mortalité rD ci-dessus et le taux de récupération rR. La moyenne mobile est prise en tenant compte un peu du décalage temporel.

def calcCRD(df, keys):
    #
    nth = keys['nth']
    tf = keys['tf']
    #
    nrow  = len(df)
    getV  = lambda s, tag: df.loc[s, tag] if s < nrow else np.NaN
    # tf [days]Moyenne mobile à la fin
    getV2 = lambda s, tag: np.nanmean([getV(u, tag) for u in range(s,s + tf)])
    df.loc[0, 'C'] = 0.
    for t in range(1, nrow):
        df.loc[t, 'C'] = getV(t, 'PS') - getV(t, 'RS') - getV(t, 'DS')
        if df.loc[t-1, 'C'] > nth: #Pour les mesures contre le petit dénominateur
            df.loc[t, 'rR'] = getV2(t, 'R') / df.loc[t-1, 'C']
            df.loc[t, 'rD'] = getV2(t, 'D') / df.loc[t-1, 'C']
        else:
            df.loc[t, 'rR'] = np.NaN
            df.loc[t, 'rD'] = np.NaN
    return df

Plusieurs fichiers sont combinés dans une seule trame de données.

def CRDinWorldArea01(area):
    keys = { 'nth':100, 'tf': 3 }
    df1 = makeCalcFrame(100) #
    df2 = readCsvOfWorldArea_Confirmed(area)
    df3 = readCsvOfWorldArea_Recovered(area)
    df4 = readCsvOfWorldArea_Deaths(   area)
    df = df1
    df = mergeCalcFrame(df, df2)
    df = mergeCalcFrame(df, df3)
    df = mergeCalcFrame(df, df4)
    df = calcCRD(df, keys)
    return df

résultat de l'analyse

Jetons maintenant un œil aux résultats du calcul. La cible de calcul est les pays où le nombre de personnes infectées dépasse 5 000 au 15 avril.

Tendance générale

Tout d'abord, tracez la valeur moyenne du taux de récupération rR sur l'axe horizontal et la valeur moyenne du taux de mortalité rD sur l'axe vertical. CRD_COVID-19_Map_WLD.png Les taux de mortalité varient considérablement d'un pays à l'autre. Les pays présentant des taux de mortalité particulièrement élevés comprennent des pays de l'UE tels que l'Espagne, le Royaume-Uni, l'Italie, la France et la Belgique et l'Iran. À l'inverse, les pays à faible taux de mortalité sont l'Australie, Israël, la Norvège, le Chili, la Corée du Sud et l'Allemagne. Le taux de récupération varie également considérablement, mais il est caractéristique que l'Iran et le Pérou soient élevés. La Chine semble avoir un taux de reprise élevé, car cela fait longtemps que la pandémie s'est produite.

Comparaison au sein du G7

Faisons une comparaison au sein du G7. Le premier est le taux de mortalité. Le pays de gauche a un taux de mortalité relativement bas et le pays de droite a un taux de mortalité relativement élevé. CRD_COVID-19_DTR_G7.png Dans les pays où les taux de mortalité sont relativement bas (à gauche), les taux de mortalité ont tendance à diminuer à mesure que le nombre de personnes nécessitant un traitement augmente. En particulier, le nombre de personnes infectées aux États-Unis est le plus élevé au monde, mais il est réduit à environ 0,5%. Dans les pays où les taux de mortalité sont relativement élevés (à droite), ** les taux de mortalité ont tendance à augmenter à mesure que le nombre de personnes nécessitant un traitement augmente **. Lorsque le nombre de personnes nécessitant un traitement atteint 1 000 ou plus, le taux de mortalité augmente rapidement d'environ 1% à environ 3% au maximum.

Regardons le taux de récupération. CRD_COVID-19_RTR_G7.png Dans les pays à taux de mortalité relativement bas (à gauche), à l'exception des États-Unis, les taux de guérison semblent augmenter lorsque le nombre de personnes nécessitant un traitement est relativement faible. Au Canada et en Allemagne, le taux de guérison monte en flèche lorsque le nombre de personnes nécessitant un traitement atteint un certain niveau. Dans les pays où les taux de mortalité sont relativement élevés (à droite) **, le taux de guérison a tendance à diminuer à mesure que le nombre de personnes nécessitant un traitement augmente **.

Comparaison des pays avec des taux de mortalité élevés et faibles dans le monde

Jetons un coup d'œil à une comparaison entre les pays ayant des taux de mortalité élevés et faibles dans le monde. Le premier est le taux de mortalité. Le pays de gauche a un taux de mortalité relativement faible et le pays de droite a un taux de mortalité relativement élevé. CRD_COVID-19_DTR_GoodBad.png Dans les pays à mortalité relativement faible (à gauche), des formes plates de 0,5% ou moins peuvent être vues. Dans les pays ayant des taux de mortalité relativement élevés (à droite), sans exception **, les taux de mortalité ont tendance à augmenter à mesure que le nombre de personnes nécessitant un traitement augmente **.

Regardons le taux de récupération. CRD_COVID-19_RTR_GoodBad.png Dans les pays à taux de mortalité relativement bas (à gauche), les taux de guérison ont grimpé en flèche chez un certain nombre de personnes nécessitant un traitement. Dans les pays où les taux de mortalité sont relativement élevés (à droite), les taux de guérison ont tendance à diminuer à mesure que le nombre de personnes nécessitant un traitement augmente.

BCG souche japonaise inoculée dans les pays et pays voisins

Un article indiquant si la vaccination régulière par le vaccin BCG peut affecter le COVID-19 a été publié en Allemagne, aux Pays-Bas, en Australie, etc. L'essai clinique a commencé. Jetons donc un œil à l'impact du BCG, en particulier des actions japonaises. Le premier est le taux de mortalité. La gauche est le pays inoculé avec les souches japonaises BCG, et la droite est le pays voisin de l'inoculation des souches japonaises non BCG. CRD_COVID-19_DTR_BCG.png Le taux de mortalité est élevé en Iran, mais le taux de mortalité est relativement supprimé dans d'autres pays inoculés par des souches japonaises non BCG.

Regardons le taux de récupération. CRD_COVID-19_RTR_BCG.png Dans les pays inoculés par souche japonaise BCG, le nombre de personnes nécessitant un traitement est inférieur à 1000 et le taux de récupération est élevé, mais dans les pays inoculés par souche japonaise non BCG, le taux de récupération n'augmente que si le nombre de personnes nécessitant un traitement augmente à 1000 ou plus. .. En d'autres termes, ** l'inoculation de la souche japonaise du BCG n'a pas pour effet d'abaisser le taux de mortalité, mais elle peut avoir pour effet d'augmenter le taux de récupération à un stade précoce **.

Considération

D'après ce qui précède, les tendances suivantes ont été trouvées à partir des données comme résultats de vérification concernant l'effondrement médical.

En outre ...

Lien de référence

Je me suis référé à la page suivante.

  1. Effondrement médical
  2. Données publiées par l'Université Johns Hopkins
  3. Association of BCG vaccination policy with prevalence and mortality of COVID-19
  4. Correlation between universal BCG vaccination policy and reduced morbidity and mortality for COVID-19: an epidemiological study
  5. JSatoNotes

Recommended Posts

Testons l'hypothèse d'effondrement médical du nouveau virus corona
Tracez la propagation du nouveau virus corona
Estimer le pic d'infectivité du nouveau virus corona
Calculons la transition du nombre de reproduction de base du nouveau virus corona par préfecture
Simulation GUI du nouveau virus corona (modèle SEIR)
Examinons le temps de convergence de la tendance mondiale du nombre de reproduction effectif du nouveau virus corona
Établissons un classement du nombre de reproductions efficaces du nouveau virus corona par préfecture
Visualisons le nombre de personnes infectées par le virus corona avec matplotlib
Quantifier le degré d'autolimitation nécessaire pour contenir le nouveau virus corona
Simulons l'effet de l'introduction d'une application de suivi des contacts comme contre-mesure contre le nouveau virus corona
Importance de la réduction de la cible de test du test PCR pour le nouveau virus corona compris par le théorème de Bayes
Mesurez la couverture de test du code python poussé sur GitHub.
Tester l'adéquation de la distribution
Hypothèse pour laquelle le nouveau virus corona n'est pas si populaire dans les zones urbaines comme Tokyo
Jetons un coup d'œil à la tendance infectieuse du nouveau coronavirus COVID-19 dans chaque pays et à l'état de la réponse médicale (informations supplémentaires).
Analyser la gravité spécifique à l'âge du coronavirus
J'ai essayé d'utiliser des données PDF de soins médicaux en ligne basés sur la propagation d'une nouvelle infection à coronavirus
Décidons le gagnant du bingo
L'histoire de l'étudiant qui a développé le nouveau site de contre-mesures contre le virus corona (version Ishikawa)
J'ai essayé de prédire le comportement du nouveau virus corona avec le modèle SEIR.
Folding @ Home sur Linux Mint pour contribuer à l'analyse du nouveau virus corona
Examinons le mécanisme de la chinchirorine de Kaiji
[AWS] Lançons un test unitaire de la fonction Lambda dans l'environnement local
Les prévisions épidémiques du nouveau virus corona ont été publiées sur le Web à une vitesse explosive
J'ai essayé d'envoyer automatiquement la littérature du nouveau virus corona à LINE avec Python
[Python] Teste le matagi lunaire du delta relatif
J'ai touché certaines des nouvelles fonctionnalités de Python 3.8 ①
[Django] Essayons de clarifier la partie de Django qui était en quelque sorte à travers le test
Vérifiez l'effet du congé comme contre-mesure contre le nouveau virus corona avec le modèle SEIR
La théorie selon laquelle la clé du contrôle de l'infection du nouveau coronavirus est l'hyperdispersion de la sensibilité.
J'ai essayé de visualiser les caractéristiques des nouvelles informations sur les personnes infectées par le virus corona avec wordcloud