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

<Artigo Original> Dados duplicados, incorretos e fraudulentos na Medicina Inteligente

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

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."
  }
}

 
3 respostas
solução!

4) Regras clínicas (faixas fisiológicas, lógica temporal, unidade)

{
  "clinical_validations": [
    {"field": "discharge_timestamp", "rule": "must_be_after", "arg": "admission_timestamp"},
    {"field": "sbp_mmHg", "rule": "range", "min": 40, "max": 300},
    {"field": "age_years", "rule": "range", "min": 0, "max": 120},
    {"field": "ck_uL", "rule": "unit_check", "accepted_units": ["U/L"], "reject_if": ["mg/dL", "kU/L"]}
  ]
}

5) Sinais de fraude (heurísticas para triagem/auditoria)

(conceito: outlier pode indicar anomalia/fraude; use como indicador para auditar, não sentença)

{
  "fraud_signals": {
    "implausible_patterns": [
      {"name": "variance_too_low", "threshold": 0.001, "window": "per_investigator_per_month"},
      {"name": "digit_preference", "test": "Benford", "alpha": 0.01},
      {"name": "time_inconsistency", "rule": "discharge_before_admission"},
      {"name": "copy_paste_blocks", "rule": "text_cosine_similarity", "field": "progress_notes", "similarity_gt": 0.98}
    ],
    "escalation": {
      "on_trigger": "audit_queue",
      "notify": ["pi", "comite_etica", "dpo"],
      "freeze_write": true
    }
  }
}

6) Trilha de auditoria e governança

{
  "audit": {
    "enabled": true,
    "write_once": true,
    "who": "user_id",
    "when": "timestamp",
    "what": ["create", "update", "delete"],
    "why": "free_text_required_for_changes",
    "data_snapshots": "versioned",
    "retention_days": 3650
  },
  "governance": {
    "preregistration_required": true,
    "data_access": "least_privilege",
    "dataset_release": "hash_signed",
    "reproducibility": "notebook_and_env_pinned"
  }
}

7. Métricas-chave para monitorar

 1. % de registros duplicados por mês (alvo: ↓)
 2.  - após aplicar regras do tipo drop_duplicates, espere queda; do contrário, há problema no upstream.
 3.  % de outliers sinalizados por variável sensível — picos súbitos => revisar instrumentação/ETL. 
 4.   % de outliers removidos vs justificados clinicamente — removidos só quando erro inequívoco; manter extremos válidos.  
 5.  Tempo até conclusão de auditoria dos sinais de fraude — SLAs curtos evitam “contágio” do dataset.

8. Checklist rápido (antes de treinar um modelo clínico)

1. Esquema validado (tipos/unidades/faixas)
2. Duplicatas tratadas com justificativas documentadas 
3. Outliers sinalizados por IQR e revisados clinicamente (não exclusão automática) 
4. Auditoria ativa para padrões implausíveis (estatística forense básica) 
5. Versão dos dados + ambiente pinados para reprodutibilidade

Olá, Como vai?

Que trabalho incrível, Ricardo!

Você demonstrou um cuidado excepcional ao aplicar detecção de outliers com IQR, respeitando nuances clínicas como rabdomiólise e choque. Além disso, estruturou muito bem o processo com auditoria ativa e validação de esquema, o que reforça a confiabilidade da análise.

E o que mais me impressionou, você pensou na reprodutibilidade, com controle de versão e ambiente pinado. Continue compartilhando seus avanços! Esse tipo de abordagem inspira outros estudantes e eleva o padrão da comunidade.

Ícone de sugestão Para saber mais:

Sugestão de conteúdo para você mergulhar ainda mais sobre o tema:

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

AluraConte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!

Que bom que você notou como os avanços estão acontecendo de forma tão rápida, Daniel. O texto é realmente muito interessante e, como sempre, uma excelente sugestão de leitura.