Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Interação da IA Explicável (XAI) com a Ciência Preditiva em Tomada de Decisão Clínica

Insira aqui a descrição dessa imagem para ajudar na acessibilidade
nota
artigo já corrigido

Por Ricardo Costa Val do Rosário auxiliado por Google Gemini e ChatGPT 5.2

Contexto:

1. Apresentações dos TCC pelos médicos pertencentes a Especialização em Angiologia e
Cirurgia Vascular e Endovascular do IPSEMG

2. O Trabalho de Conclusão de Curso (TCC) na residência médica é um requisito obrigatório
instituído pela Comissão Nacional de Residência Médica (CNRM) para a obtenção do título 
de especialista. Diferente da graduação, o TCC da residência costuma ser mais focado na
prática clínica e na produção científica aplicada à especialidade escolhida.

1. Definição do TCC na Residência

- O TCC é um trabalho acadêmico de natureza científica que sistematiza o conhecimento 
adquirido durante o programa de residência. 

- No Brasil, a Resolução CNRM nº 02/2006 estabelece que todos os programas de residência 
devem exigir a apresentação de um trabalho final para que o médico receba o certificado 
de especialista.

- Muitas instituições permitem que esse "trabalho" assuma diferentes formatos, como:
1.	Monografia tradicional.
2.	Artigo Científico (pronto para submissão ou já publicado).
3.	Relato de Caso detalhado com revisão de literatura.
4.	Projeto de Intervenção (comum em áreas como Medicina de Família e Comunidade).

2. Finalidade

- A principal finalidade do TCC é garantir que o médico residente não apenas execute 
a técnica médica, mas também desenvolva o raciocínio científico. Ele serve para:
1.	Consolidar o aprendizado teórico-prático.
2.	Estimular a atualização constante através da Medicina Baseada em Evidências (MBE).
3.	Contribuir para o corpo de conhecimento da instituição e da especialidade.

3. Objetivos Principais

- Os objetivos do TCC podem ser divididos em competências técnicas e acadêmicas:

1. Desenvolver o Pensamento Crítico: 
Capacitar o médico a avaliar criticamente a literatura científica disponível.

2. Habilidade de Pesquisa: 
Aprender a formular perguntas de pesquisa, buscar dados e utilizar 
metodologias estatísticas.

3. Melhoria da Escrita Científica: 
Exercitar a capacidade de redigir textos técnicos de forma clara,
 ética e padronizada.

4. Retorno Social: 
Melhorias em protocolos clínicos ou fluxos de atendimento na unidade 
de saúde onde atua.

4. Etapas que Constituem o TCC

O processo costuma ocorrer ao longo de toda a residência, mas intensifica-se 
quando se aproxima o termino do programa de Residência Médica.  

I. Escolha do Tema e Orientador
    O residente deve escolher uma área de interesse dentro de sua especialidade e 
    convidar um preceptor ou médico do corpo clínico para orientá-lo.
    
II. Elaboração do Projeto de Pesquisa
    Definição do problema, hipótese, objetivos e metodologia. Nesta fase, se o trabalho 
    envolver seres humanos ou dados de prontuário, é obrigatória a submissão e aprovação
    pelo Comitê de Ética em Pesquisa (CEP) via Plataforma Brasil.
    
III. Coleta e Análise de Dados
    Execução da pesquisa propriamente dita: levantamento de prontuários, realização de exames, 
    aplicação de questionários ou revisão sistemática da literatura
    
IV. Redação do Trabalho
    Escrita do texto final seguindo as normas da ABNT ou de Vancouver (mais comum na área 
    médica). Inclui:
1.	Introdução, 
2.	Metodologia, 
3.	Resultados, 
4.	Discussão,
5.	Conclusão.
6.	Referências Bibliográficas

V. Defesa ou Apresentação
O trabalho é apresentado perante uma banca examinadora (geralmente composta pelo orientador 
e mais dois profissionais da área) ou apresentado em forma de pôster/tema livre em congressos, 
dependendo do regimento interno da instituição.

Nota: Embora o TCC seja uma exigência legal da CNRM, o formato específico (se será uma banca formal 
ou apenas a entrega do artigo) depende do regimento interno da sua COREME (Comissão de Residência 
Médica).
2 respostas

5. Exemplos simulando três cenários clínicos em Python (pseudocódigo).

Essa abordagem é ideal para um TCC que foque em Sistemas de Apoio à Decisão Clínica (SADC).

Caso 01: Suspeita de TVP e TRH

Neste cenário, o código avalia o risco baseado no histórico recente de Terapia de Reposição Hormonal 
e direciona para a conduta diagnóstica.

Caso 01: Suspeita de TVP em Mulher, 53 anos

paciente = {
    "nome": "Paciente A",
    "idade": 53,
    "sintomas": ["dor_membro_inferior", "edema"],
    "historico": ["TRH_ha_30_dias"],
    "score_wells": 2 # Exemplo de pontuação moderada/alta
}

def avaliar_suspeita_tvp(paciente):
    print(f"Analisando caso: {paciente['nome']}")
    
    # Lógica de decisão
    if "TRH_há_30_dias" in paciente['historico'] and paciente['score_wells'] >= 2:
        conduta = ["Solicitar D-Dímero", "Solicitar Duplex Scan de MMII"]
        return f"ALERTA: Risco aumentado por TRH. Conduta: {conduta}"
    else:
        return "Avaliar diagnóstico diferencial."
print(avaliar_suspeita_tvp(paciente))

Caso 02: Isquemia Aguda de Membro (MIE)

Neste caso o código simula a urgência de um quadro de oclusão arterial aguda em paciente
tabagista, onde o tempo é crucial para a viabilidade do membro.

Caso 02: Isquemia Crítica - Homem, 70 anos, Tabagista

paciente_emergencia = {
    "idade": 70,
    "habitos": ["tabagismo_inveterado"],
    "exame_fisico": "pulso_ausente_MIE",
    "dor": "intensa"
}

def protocolo_isquemia_aguda(paciente):
    if paciente['exame_fisico'] == "pulso_ausente_MIE":
        exames_urgencia = [
            "Duplex Scan Arterial", 
            "Angio-Ressonância Magnética (ARNM) de Abdome, Pelve e MMII"
        ]
        status = "EMERGÊNCIA VASCULAR - Encaminhar para exames de imagem imediatamente."
        return {"status": status, "pedidos": exames_urgencia}

resultado = protocolo_isquemia_aguda(paciente_emergencia)
print(f"St O processo costuma ocorrer ao longo de toda a residência, mas intensifica-se no último ano.
atus: {resultado['status']}")
print(f"Exames solicitados: {resultado['pedidos']}")

Caso 03: Encaminhamento (Sr. Antônio)

Este modelo foca na interoperabilidade e na continuidade do cuidado, organizando os dados 
    para um encaminhamento estruturado.

Caso 03: Encaminhamento Estruturado

class Encaminhamento:
    def _init_(self, paciente_nome, especialidade):
        self.paciente = paciente_nome
        self.destino = especialidade
        self.prioridade = "Alta"

    def gerar_guia(self, motivo):
        return f"GUIA DE ENCAMINHAMENTO\nPaciente: {self.paciente}\nPara: {self.destino}\nMotivo: {motivo}\nPrioridade: {self.prioridade}"

# Instanciando o encaminhamento para o Sr. Antônio
guia_antonio = Encaminhamento("Sr. Antônio", "Cirurgia Vascular / Angiologia")
print(guia_antonio.gerar_guia("Avaliação de Claudicação Intermitente / Doença Arterial Obstrutiva Periférica"))

6. Aplicação no TCC de Especialista em IA

A transição do "pseudocódigo de regras" para o Machine Learning (ML) marca o momento em que 
se saí da automação simples e em direção à Medicina Preditiva. Enquanto no pseudocódigo dizemos ao 
computador o que fazer (if TRH then exames), no Machine Learning nós fornecemos dados de milhares de 
pacientes e o algoritmo "aprende" quais variáveis (Idade, TRH, Tabagismo) são as mais críticas para o diagnóstico.

7. De Regras para Probabilidades: O Caso da TVP

- Para o Caso 01 (Suspeita de TVP), em vez de um diagnóstico binário, o modelo de ML nos dá a probabilidade 
de a doença estar presente, baseada na função logística:

[16:27, 12/20/2025] Ricardo: P(y=1|x) = \frac{1}{1 + e^{-(\beta_0 + \beta_1x_1 + ... + \beta_nx_n)}}
[16:28, 12/20/2025] Ricardo: Onde P é a probabilidade de TVP e x são os fatores (TRH, Idade, Score de Wells).
solução!

8. Implementação com Scikit-Learn (Exemplo Prático)

- Abaixo simulação da  criação de um modelo usando Random Forest (Floresta Aleatória), 
um dos algoritmos mais robustos para dados tabulares médicos por ser menos sensível a outliers.

[16:31, 12/20/2025] Ricardo: import pandas as pd
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import classification_report

8.1. Simulação de um Dataset (No TCC, seriam dados reais/anonimizados)

data = {
    'idade': [53, 70, 45, 62, 53, 30, 80],
    'uso_TRH': [1, 0, 1, 0, 1, 0, 0], # 1 = Sim, 0 = Não
    'score_wells': [3, 4, 1, 5, 2, 0, 4],
    'tabagismo': [0, 1, 0, 1, 0, 0, 1],
    'diagnostico_tvp': [1, 1, 0, 1, 1, 0, 1] # Nosso "Alvo" (Target)
}

df = pd.DataFrame(data)

8.2. Divisão de Atributos (X) e Objetivo (y)

X = df.drop('diagnostico_tvp', axis=1)
y = df['diagnostico_tvp']

8.3. Treino e Teste (O modelo aprende com uma parte e é testado na outra

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

8.4. Criando e Treinando o Modelo

modelo_vascular = RandomForestClassifier(n_estimators=100)
modelo_vascular.fit(X_train, y_train)

8.5. Predição para o Caso 01 (Mulher, 53 anos, TRH, Wells 2, Não Tabagista)

novo_paciente = [[53, 1, 2, 0]]
predicao = modelo_vascular.predict(novo_paciente)
probabilidade = modelo_vascular.predict_proba(novo_paciente)

print(f"Resultado da IA: {'TVP Confirmada' if predicao[0] == 1 else 'TVP Não Detectada'}")
print(f"Confiança do Modelo: {probabilidade[0][1]*100:.2f}%")
[16:34, 12/20/2025] Ricardo: Justificativa e Coerência (Essencial para o TCC)

9. O Próximo Nível: Inteligência Artificial Explicável (XAI) com SHAP

Na medicina, um modelo de "caixa-preta" (onde a IA dá o resultado, mas não explica o motivo) é
inaceitável. Para o Caso 01 (TVP e TRH), utilizamos o SHAP (SHapley Additive exPlanations).
O SHAP utiliza a Teoria dos Jogos para atribuir a cada fator (Idade, TRH, Wells) uma parcela de 
responsabilidade pelo resultado final. Matematicamente, o valor SHAP \phi_i para uma característica i é:

\phi_i = \sum_{S \subseteq \{x_1, ..., x_n\} \setminus \{i\}} \frac{|S|! (n - |S| - 1)!}{n!} [f(S \cup \{i\}) - f(S)]
Implementação do Código de Explicabilidade
: import shap

9.1. Criando o explicador SHAP para o modelo de Random Forest treinado

explainer = shap.TreeExplainer(modelo_vascular)

9.2. Calculando os valores SHAP para a paciente de 53 anos (Caso 01)

# Supondo que 'novo_paciente' seja a entrada [53, 1, 2, 0]
shap_values = explainer.shap_values(novo_paciente)

9.3. Visualização (No Jupyter/Artigo, isso gera um gráfico de força)

# O gráfico mostrará, por exemplo, que o uso de TRH 'empurrou' a predição para 'TVP'
shap.initjs()
shap.force_plot(explainer.expected_value[1], shap_values[1], novo_paciente)

print("Gráfico de Explicabilidade Gerado: O fator 'Uso_TRH' foi o principal influenciador.")

O que isso traz para o artigo?
1.	Ele prova que a IA não está "chutando". 
2.	Ela mostra visualmente que a TRH iniciada há 30 dias foi o peso decisivo para a recomendação 
do Duplex Scan, validando a intuição clínica do especialista com rigor matemático.

10. Ponderações Finais: O Contexto Global

- Ao encerrar este documento, 

1.	Consolidamos a visão de que a IA não é uma substituta, mas uma extensão da propedêutica 
armada do cirurgião vascular.

2.	Sinergia Diagnóstica: 
Os casos apresentados (TVP, Isquemia Aguda e Encaminhamento) demonstram que a IA pode atuar 
desde o rastreio inicial até a urgência cirúrgica. No Caso 02, a velocidade da IA em processar protocolos 
de ARNM pode ser a diferença entre o salvamento do membro e a amputação.

3.	Ética e Legalidade: 
A utilização de XAI (Explicabilidade) atende aos preceitos éticos médicos, garantindo que o médico 
mantenha a autonomia e a responsabilidade final, compreendendo a lógica por trás do algoritmo.

4.	Progresso Coletivo: 
Como médico com doutorado em pesquisa experimental, sua transição para a IA permite criar ferramentas 
que padronizam o atendimento em cenários reais do Brasil, onde o acesso a especialistas nem sempre é imediato, 
promovendo uma democratização da saúde de alta qualidade.

5.	Educação Continuada:
Este documento reflete o sucesso da sua jornada na # Alura: a capacidade de traduzir a complexidade biológica 
(angiologia) para a linguagem binária (Python/ML), gerando valor científico e social.