3778 / COVID-19

Ciência de Dados aplicada à pandemia do novo coronavírus.
https://covid-simulator.3778.care/
MIT License
215 stars 59 forks source link

Estimar número de leitos necessários de enfermaria e UTI a cada momento #30

Open vitoventurieri opened 4 years ago

vitoventurieri commented 4 years ago

É desejável incluir no modelo uma previsão de necessidade de leitos de UTI e leitos de internação necessários ao atendimento de infectados pelo SARS-CoV2.

Para isso precisamos que contribuam com

Em segundo momento, tendo dados de boa qualidade, discutimos sobre a modelagem que deverá tomar em conta:

rgiglio commented 4 years ago

@Mauroncard a gente já tem algo assim certo?

Mauroncard commented 4 years ago

iniciais: necessidade de internação: 10% - 25% necessidade de UTI: 5%

14% were severe (ie, dyspnea, respiratory frequency ≥30/min, blood oxygen saturation ≤93%, partial pressure of arterial oxygen to fraction of inspired oxygen ratio <300, and/or lung infiltrates >50% within 24 to 48 hours), and 5% were critical (ie, respiratory failure, septic shock, and/or multiple organ dysfunction or failure) (Box).1 https://jamanetwork.com/journals/jama/fullarticle/2762130

3219 casos foram considerados graves (13%) indicando internação. https://www.amib.org.br/noticia/nid/coronavirus-esclarecimentos-da-amib/

Mauroncard commented 4 years ago

<!DOCTYPE html>

Table 1: Current estimates of the severity of cases.

https://www.imperial.ac.uk/media/imperial-college/medicine/sph/ide/gida-fellowships/Imperial-College-COVID19-NPI-modelling-16-03-2020.pdf
Age-group (years) % symptomatic cases requiring hospitalisation % hospitalised cases requiring critical care Infection Fatality Ratio
0 to 9 0.1% 5.0% 0.002%
10 to 19 0.3% 5.0% 0.006%
20 to 29 1.2% 5.0% 0.03%
30 to 39 3.2% 5.0% 0.08%
40 to 49 4.9% 6.3% 0.15%
50 to 59 10.2% 12.2% 0.60%
60 to 69 16.6% 27.4% 2.2%
70 to 79 24.3% 43.2% 5.1%
80+ 27.3% 70.9% 9.3%
henriquepgomide commented 4 years ago

Dados do CDC EUA: entre 12/02/2020 e 16/02/2020

Fonte: https://www.cdc.gov/mmwr/volumes/69/wr/mm6912e2.htm?s_cid=mm6912e2_w#T1_down

Age group (yrs) (no. of cases) %* Hospitalization ICU admission Case-fatality
0–19 (123) 1.6–2.5 0 0
20–44 (705) 14.3–20.8 2.0–4.2 0.1–0.2
45–54 (429) 21.2–28.3 5.4–10.4 0.5–0.8
55–64 (429) 20.5–30.1 4.7–11.2 1.4–2.6
65–74 (409) 28.6–43.5 8.1–18.8 2.7–4.9
75–84 (210) 30.5–58.7 10.5–31.0 4.3–10.5
≥85 (144) 31.3–70.3 6.3–29.0 10.4–27.3
Total (2,449) 20.7–31.4 4.9–11.5 1.8–3.4
vitoventurieri commented 4 years ago

Acho que já temos dados de boa qualidade. Alguém consegue implementar isso no código? Capacidade técnica aqui é limitada. Pra estimar pro Brasil podemos usa a pirâmides etárias do IBGE https://censo2010.ibge.gov.br/sinopse/index.php?dados=12, depois dá pra granularizar conforme necessidade

ilanlebl commented 4 years ago

http://produtos.seade.gov.br/produtos/projpop/index.php

Sao Paulo Faixa Etária - Quinquenal Homem Mulher Total
00 a 04 anos 393.339 375.505 768.844
05 a 09 anos 410.837 392.491 803.328
10 a 14 anos 346.807 335.548 682.355
15 a 19 anos 380.939 369.406 750.345
20 a 24 anos 452.510 446.293 898.803
25 a 29 anos 437.715 443.291 881.006
30 a 34 anos 482.333 500.749 983.082
35 a 39 anos 493.289 534.276 1.027.565
40 a 44 anos 450.989 504.048 955.037
45 a 49 anos 392.368 440.815 833.183
50 a 54 anos 352.378 402.310 754.688
55 a 59 anos 305.478 372.660 678.138
60 a 64 anos 259.875 334.222 594.097
65 a 69 anos 198.476 270.004 468.480
70 a 74 anos 137.225 203.683 340.908
75 anos e mais 156.893 292.908 449.801
Total da Seleção 5.651.451 6.218.209 11.869.660
Total Geral da População 5.651.451 6.218.209 11.869.660
vitoventurieri commented 4 years ago

https://www.medrxiv.org/content/10.1101/2020.03.09.20033357v1.full.pdf aqui tem uns dados sobre a média de permanência em cada tipo de leito (UTI)

dsevero commented 4 years ago

Legal! Acho que temos os dados pra fazer um modelo inicial (@henriquepgomide @ilanlebl, topam?). Imagino que a ideia seja a seguinte:

  1. Vamos levantar 2 curvas de demanda de recurso hospitalar: Hospitalization e ICU-Admissions
  2. Essas curvas, serão uma constante multiplicativa da curva de infectados.
  3. Essa constante pode ser construída a partir das tabelas nessa issue, ponderando pelo total de pessoas em cada faixa etária.
  4. O maior desafio, seria o fato de que alguém que ta infectado, não necessariamente vai ficar o tempo inteiro da infecção no leito/uti. O @vitoventurieri achou o artigo (no comentário de cima) sobre o tempo médio de permanência em cada tipo de leito. Talvez seja necessário levantar um pouco mais de dados em relação a média de permanência.

Minha sugestão é que vocês usem os CSV que contêm a série-temporal de infectados de SP (https://github.com/3778/COVID-19/blob/master/data/csv/by_uf/SP.csv), e criem as 2 curvas a partir da coluna causes do CSV. Na minha cabeça, é só fazer a constante e multiplicar por essa coluna. Depois, eu posso ajudar a integrar isso no modelo SEIR-Bayes e modelar estatisticamente o erro do tempo médio de permanência para ter uma estimativa com intervalos de confiança!

Esse site tem um modelo legal (porém, sem os intervalos de confiança) que vocês podem dar uma olhada pra comparar se a implementação de vocês ta certa: http://gabgoh.github.io/COVID/index.html

Tem um notebook do Jupyter que eu fiz que mostra como carregar os dados. Se quiserem, podem fazer direto num notebook (tipo esse https://github.com/3778/COVID-19/blob/master/notebooks/%5Bissue_36%5D_Tunar_par%C3%A2metros_com_dados_hist%C3%B3rico.ipynb) e depois conversamos pra adaptar pro modelo SEIR-Bayes

Isabellarossi commented 4 years ago
  1. Toner, Li, and their co-authors had estimated that, in cities with major covid-19 outbreaks, between 2.1 and 4.9 ventilators would be needed per every ten thousand people. https://www.newyorker.com/news/news-desk/the-coming-coronavirus-critical-care-emergency

  2. Na Alemanha a demanda estimada atualmente é de 17.500 leitos adicionais em cima dos leitos existentes.

Na França se tem 4.500 leitos para casos críticos, o que pode aumentar para 11.000 durante emergências.Embora quase todos os hospitais tenham preparado enfermarias intensivas para novos pacientes coronários, provavelmente não é suficiente.

Espanha atualmente possui cerca de 4.404 leitos gravemente enfermos (excluindo leitos neonatais), dos quais 3508 em hospitais públicos e 896 em hospitais privados. Atualmente, espera-se que hospitais privados do setor de saúde espanhol precisem de mais 1.000 leitos de UTI, modificando leitos comuns, adicionando ventiladores, etc.

Na Itália, onde a situação é atualmente a pior, seus leitos críticos estão em torno de 5.293. Estima-se que a demanda seja de mais de 4.000 leitos.

Lombardia, existem apenas 859 leitos de UTI, Estima-se que, em 26 de março, 18.000 novos pacientes coronários possam ser hospitalizados na Lombardia, dos quais 2700 a 3.200 precisam de tratamento intensivo. Nas últimas duas semanas, a região adicionou mais 150 leitos de UTI e outros 150 leitos de terapia intensiva serão abertos na próxima semana.

Veneto possui 3,6 leitos para cada 1.000, onde 450 leitos gravemente enfermos, dos quais 67 foram dados a novos pacientes coronários.

Um detalhe interessante a ser analisado é que, devido à natureza da nova pneumonia coronária, toda vez que um leito de UTI é reutilizado, é necessário muito trabalho de limpeza (incluindo respiradores e todos os outros equipamentos), o que significa que os leitos de UTI não podem ser usados ​​por várias horas. https://www.yicai.com/news/100549408.html

dsevero commented 4 years ago

Um detalhe interessante a ser analisado é que, devido à natureza da nova pneumonia coronária, toda vez que um leito de UTI é reutilizado, é necessário muito trabalho de limpeza (incluindo respiradores e todos os outros equipamentos), o que significa que os leitos de UTI não podem ser usados ​​por várias horas. https://www.yicai.com/news/100549408.html

@vitoventurieri @Mauroncard acham que esse último ponto é válido levar em consideração na hora de modelar o tempo médio de permanência (ou seja, somá-los)?

vitoventurieri commented 4 years ago

@vitoventurieri @Mauroncard acham que esse último ponto é válido levar em consideração na hora de modelar o tempo médio de permanência (ou seja, somá-los)?

Cada hospital tem sua rotina de limpeza e varia muito de hospital pra hospital, acho que pra um gestor importa mais o número bruto, senão vai ficando muito poluído na hora de informar. Não me preocuparia muito com isso agora. Algumas horas não deve dar um erro de 10% na estimativa de tempo, acho que temos coisa mais importante para concentrar nossos esforços, como para estimar bem todos os fatores que estão na exponecial

diogenesjusto commented 4 years ago

Olá pessoal, chegando agora para tentar ajudar.

@henriquepgomide @ilanlebl , eu e @netoalcides estamos olhando também aqui para tentar ajudar neste modelo. Vocês já tem o levantamento de todos os leitos normais e de UTI do Brasil, por região, estado e cidade, etc? Posso convocar mais um pessoal e ajudar a levantar.

@dsevero minha ideia inicial é fazer um modelo separado SEIR-Bayes, porém utilizando, claro, o output dele. Eu pedi pro @djusto também dar uma olhada no SEIR-Bayes, para ver se pode dar alguma ajuda. Ele vai conseguir ver amanhã (20/03, a noite).

dsevero commented 4 years ago

Que legal! Obrigado pela ajuda @diogenesjusto (and friends)

Sobre os leitos, o @vitoventurieri tá mais por dentro.

Sobre o modelo, vocês pretendem modelar outro SEIR apenas pra parte de leitos? Não sei se entendi muito bem. Além disso, fique a vontade pra modificar o modelo em uma PR. Eu tentei manter ele bem simples, pra todos entenderem fácil. No início eu tinha feito algo usando ODEINT (scipy) e pymc3, mas percebi que era desnecessário (temos poucos parâmetros). Se quiserem dar um tapa no código, fique a vontade.

Se quiserem um contato mais ágil, meu Telegram é https://t.me/dsevero

diogenesjusto commented 4 years ago

Consegui falar com o @vitoventurieri sobre leitos. Vamos trabalhar a base de CNES e acelerou pois ele já conhecia as tabelas. Não sei se vamos modelar outro SEIR: acredito que não porque o problema dos leitos creio que está mais para um enfileiramento, me passou pela cabeça utilizar um modelo de Teoria de Filas. Vou falar com o @netoalcides daqui há pouco e bolamos a abordagem. Ele também já estava trabalhando num SIR mais simples que a tua abordagem por uma demanda lá na empresa dele, então também está imerso no problema. Atualizamos logo mais.

Mauroncard commented 4 years ago

Não me preocuparia muito com isso agora. Algumas horas não deve dar um erro de 10% na estimativa de tempo, acho que temos coisa mais importante para concentrar nossos esforços, como para estimar bem todos os fatores que estão na exponecial

Isso aí!

LucasKr commented 4 years ago

Olá! Pessoal, estão utilizando algum meio para comunição? Cheguei nesse projeto a partir deste link https://oestatistico.com.br/covid-zero-dados-em-tempo-real/ vcs estão neste slack? Se sim, qual seria o canal!?

Opa! Acho que algumas pessoas que colaboram aqui estão nesse Slack, mas não é a forma de comunicação oficial do projeto e nem da organização 3778.

No momento, a oficial é via GitHub issues. Porém, podemos ver de ter um grupo. Pessoalmente, prefiro Telegram ao Slack, justamente por não ter features voltadas a desenvolvedores (o que força a documentação ser no GitHub e portanto pública). Pra mim grupo de chat tem que ser pra dúvidas rápidas e apenas isso.

Eu vou deixar aqui um grupo do Telegram, se tiver gente suficiente podemos considerar como a forma oficial.

@LucasKr

3778/COVID-19 https://t.me/covid3778

Mauroncard commented 4 years ago

@vitoventurieri , vê se você entende assim também.

14% were severe (ie, dyspnea, respiratory frequency ≥30/min, blood oxygen saturation ≤93%, partial pressure of arterial oxygen to fraction of inspired oxygen ratio <300, and/or lung infiltrates >50% within 24 to 48 hours), and 5% were critical (ie, respiratory failure, septic shock, and/or multiple organ dysfunction or failure) (Box).1 https://jamanetwork.com/journals/jama/fullarticle/2762130

Extrapolando, significaria que um terço dos hospitalizados poderão precisar de UTI?

vitoventurieri commented 4 years ago

@Mauroncard Acho que dá pra extrapolar sim. Apontaria apenas que o autor colocou os casos "severe" e "critical" como mutuamente excludentes, então seria cerca de 1/4 dos hospitalizados necessitam de UTI (critical/(severe+critical)), não 1/3;

Spectrum of disease (N = 44 415)

Mild: 81% (36 160 cases)
Severe: 14% (6168 cases)
Critical: 5% (2087 cases)
vitoventurieri commented 4 years ago

Aqui temos infos dos press releases da coreia, que aparentemente é um dos países com a menor taxa de subnotificação; Quem sabe da pra inferir algo http://ncov.mohw.go.kr/en/tcmBoardList.do?brdId=12&brdGubun=125&dataGubun=&ncvContSeq=&contSeq=&board_id=