Os dados de saúde permitem diversas possibilidades de analisar e medir desfechos. Uma das mais frequentes é medir o tempo que um evento demora para acontecer. A estimativa de Kaplan-Meier (KM) é um método eficaz para medir o tempo de sobrevida de uma população depois de um tratamento específico, por exemplo. Mais do que medir a sobrevida (tempo de vida até a morte) a KM é uma ferramenta eficaz para avaliar e medir o tempo até eventos de quaisquer natureza (mais genericamente chamado de análise time-to-event). Este fato torna a KM muito útil em pesquisas clínicas e em estudos de evidências de mundo real (Real-World Evidence - RWE) com o uso muito frequente de curvas de KM (já já veremos uma!).
Existem muitas formas de utilizar a KM para medir o tempo até um evento e podemos citar os seguintes desfechos:
Neste projeto foram utilizados duas fontes de dados, uma fictícia e criada para demosntração e a segunda fonte um banco público do DATASUS, onde foram realizadas análises de KM e gerar dados de time-to-event. Nesse caso, vamos utilizar dados do Registros de Câncer de Base Populacional (RCBP) para avaliar quanto tempo desde o diagnóstico até a morte (por qualquer causa) os pacientes com câncer de pulmão vivem no SUS. Utilizaremos o software Python (versão 3.9.7) e a biblioteca Lifelines para preparar os dados e gerar os gráficos de KM.
Antes de criar os gráficos, os dados precisam ser limpos e preparados. Por isso, o notebook completo com o passos-a-passos está disponível no Github. A KM é uma ferramenta muito poderosa, pois não é necessário que os eventos analisados tenham iniciado e terminando ao mesmo tempo. Isso significa, que o que será levado em consieração para a análise é o tempo que o evento demorou para ocorrer e o desfecho final desse tempo. Precisamos preparar os dados em duas colunas, a coluna duração de evento (que no notebook vamos chamar de “duracao”) e a coluna desfecho do evento (que vamos chamar de “desfecho”). Na coluna “duracao” teremos o tempo total do evento até o desfecho final (data do óbito ou data do último contato, por exemplo). O tempo total pode estar em qualquer unidade que desejarmos, como dias, meses ou anos. Nos exemplos do notebook vamos deixar a “duracao” em meses. Na coluna “desfecho” podemos preparar de os dados do tipo boolean ou binária onde True ou “1” significa que o evento ocorreu (o paciente morreu) na data relatada e False ou “0” significa que o evento não ocorreu (o paciente está vivo ou não temos informações) na data relatada.
Com os dados de “duracao” e de “desfecho” a função KapplanMeier da biblioteca Lifelines cria a função de sobrevida, que é a probabilidade do desfecho não ocorrer em cada momento do tempo da duração definida. Assim teremos uma tabela que terá a probabilidade do evento não ocorrer no tempo 0, 1, 2, 3, 4 e assim continua. A probabilidade é o produto acumulado do complemento da função de risco (hazard function). A função de risco é calculada com o número total de pacientes que morreram em cada tempo da duração divido pelo número de pacientes em risco que são os pacientes que tiveram o desfecho morte em cada momento da duração (veja o notebook no Github para mais detalhes).
Na figura 1 foi considerado o início do evento como a data da primeira consulta e o desfecho final será o óbito (por qualquer causa) ou então a data da última consulta registrada no banco de dados. Essa definição é importante, pois como estamos trabalhando com dados de mundo real (Real-World Data - RWD) é frequente que nem todos os dados sejam conhecidos ou sejam disponibilizados no momento da análise. Existem alguns motivos conhecidos para a falta dessas informações como por exemplo a falha no acompanhamento (follow-up) dos pacientes. Estes dados faltantes serão considerados na análise e censurados. A censura significa que estes pacientes não serão considerados vivos ou mortos a partir do momento da censura. É muito importante que se considere os dados censurados na análise para não subestimar o resultado gerado.
Em análises de curvas de KM ao comparar duas amostras como fizemos na figura 2 (as mais importantes análises), é fundamental utilizar um teste de hipótese para comparar as distribuições de sobrevida das curvas. O mais utilizado é o teste de log-rank que determinará o valor-p e se as curvas podem ser consideradas diferentes estatisticamente. O teste de log-rank compara as funções de risco dos grupos em cada tempo observado. A hopótese nula para o teste é que os grupos comparados possuem funções de riscos iguais. Nesse caso o valor-p foi menor que 0.005 e, por isso, não podemos considerar que as funções de riscos são iguais. A diferença de sobrevida fica mais claro quando analisamos as medianas de sobrevidas, que no caso do Adenocarcinoma foi de 25 meses e de Células Escamosas foi de 17 meses.
Neste projeto avaliamos algumas possibilidade de criar, analisar e utilizar as curvas de KM em um projeto de RWE. Ao dominar a técnica de KM é possível avaliar diferentes desfechos em diferentes projetos de RWE.
Referências:
[1] Goel MK, Khanna P, Kishore J. Understanding survival analysis: Kaplan-Meier estimate. Int J Ayurveda Res. 2010 Oct;1(4):274-8. doi: 10.4103/0974-7788.76794. PMID: 21455458; PMCID: PMC3059453.
[2] Miksad RA, Abernethy AP. Harnessing the power of real-world evidence (RWE): A checklist to ensure regulatory-grade data quality. Clin Pharmacol Ther. 2018;103:202-5.