Artigo ORIGINAL: Dados duplicados, incorretos e fraudulentos na Medicina Inteligente
Por Ricardo Costa Val do Rosario e ChatGPT 5.0 Plus
Como e Porque Detectar, Mitigar e Governar Riscos de Qualidade e Integridade de Dados Clínicos?
1.
- Decisões clínicas e regulatórias dependem de dados íntegros;
- vieses ou fraudes podem causar dano direto ao paciente e manchar linhas de pesquisa por anos.
2.
- Modelos de IA amplificam erros:
- Duplicatas “pesam” mais um padrão inexistente;
- Outliers não-validados “ensinam” comportamentos clínicos falsos;
- Fraudes contaminam o dataset e a literatura.
3. Conformidade
ISO 13485/14971,
RDCs/ANVISA
Boas práticas de pesquisa exigem trilha de auditoria e validação de dados.
Tipos de problemas (e como pensar neles)
1. Duplicados (record linkage imperfeito, múltiplas fontes, reenvio de laudos\0 Porque é grave?
- distorce estatística,
- “super-representa” desfechos.
- Detecção direta com duplicated()
- Remoção com drop_duplicates() quando não há justificativa clínica para repetição do caso reduz viés do modelo.
2. Dados incorretos (erros de medição, digitação, unidades erradas)
- Estratégia:
- validar faixas fisiológicas, consistência temporal (ex.: alta antes da admissão = erro)
- Verificação de unidades (mmHg vs kPa).
3. Outliers e Candidatos a outliers via IQR:
- limites em Q1 - 1.5*IQR e Q3 + 1.5*IQR para marcar observações atípicas.
- Não é para “cortar tudo”; decisão depende do contexto clínico.
- Quando remover:
- se forem erros claros de medição/entrada e não for possível imputar corretamente;
- se forem extremos válidos (p.ex., CK altíssima em rabdomiólise), não remover.
- Fraude como outlier:
IQR é útil para sinalizar atividades incomuns (p.ex., transações/medições “fora de curva”)
para auditoria, não como veredito de fraude.
Exemplos de Casos
1. Estudo de vacina e autismo (revogado)
- Problema:
- manipulação e seleção indevida de amostras,
- conflitos não-declarados;
- influência duradoura na hesitação vacinal.
- Lição técnica:
auditoria de protocolo, pré-registro, reprodutibilidade e checagens independentes de dados brutos.
2. Cirurgias experimentais com resultados fabricados
- Problema:
- desfechos e prontuários contestados, inconsistências temporais e clínicas.
- Lição técnica:
- validações cruzadas (EHR, registro cirúrgico, mortalidade),
- trilha de auditoria e comitês de ética atuantes.
3. Ensaios anestésicos com padrões estatísticos implausíveis
- Problema: dezenas de RCTs com distribuições “perfeitas”
- variâncias estreitas pouco realistas.
- Lição técnica:
- forense estatística (p-val hacking, variância homogênea demais, dígitos finais),
- política clara de disclosure + retratações rápidas.
Pipeline mínimo de saneamento + detecção em JSON
1) Esquema de dados clínicos (tipos, units, ranges, obrigatoriedade)
"schema"
{
"patient_id": {"type": "string", "required": true},
"admission_timestamp": {"type": "datetime", "required": true, "tz": "America/Sao_Paulo"},
"discharge_timestamp": {"type": "datetime", "required": false},
"age_years": {"type": "number", "min": 0, "max": 120, "required": true},
"hr_bpm": {"type": "number", "min": 20, "max": 260, "required": false, "unit": "bpm"},
"sbp_mmHg": {"type": "number", "min": 40, "max": 300, "required": false, "unit": "mmHg"},
"ck_uL": {"type": "number", "min": 0, "max": 100000, "required": false, "unit": "U/L"}
}
}
2) Regras de duplicidade (níveis e chaves compostas)
(base conceitual: duplicated()/drop_duplicates() do Pandas para reduzir viés e melhorar desempenho do modelo)
{
"duplicate_rules": {
"level": "strict",
"keys": ["patient_id", "admission_timestamp", "discharge_timestamp"],
"action_if_duplicate": "drop",
"exceptions": {
"allow_same_patient_multi_admission": true,
"window_minutes": 10,
"note": "Permite reenvio técnico do mesmo evento em curto intervalo"
}
}
}
3) IQR Outliers (sinalização, não exclusão cega)
(método de IQR e limites inferior/superior; decisão clínica contextual — “quando remover”)
{
"outlier_detection": {
"method": "IQR",
"columns": ["hr_bpm", "sbp_mmHg", "ck_uL"],
"iqr_factor": 1.5,
"tag_only": true,
"flag_field": "is_outlier_iqr",
"route": "manual_review",
"notes": "Outlier clínico pode ser evento real (ex.: choque, rabdomiólise); revisar antes de excluir."
}
}