Governança de Dados e Amostras
Controles efetivamente adotados no registro de coletas, barcode, transporte, laboratório, não conformidades e cadeia de custódia.
Regra central
Nenhum frasco, etiqueta, barcode, QR Code, DataMatrix, lote de transporte ou tela operacional de laboratório deve conter identificador direto de participante.
Também não devem constar nesses meios: nome, CPF, CNS, RG, telefone, e-mail, data de nascimento, nome da mãe, endereço, aldeia nominal quando capaz de identificar pessoa/família, diagnóstico individual ou resultado clínico individual.
Identificadores utilizados
| Código | Uso operacional |
|---|---|
participant_code | Referência pseudonimizada do participante. |
collection_event_code | Vínculo com o evento de coleta, equipe e contexto operacional. |
specimen_id | Identificador único da amostra ou alíquota e origem do barcode impresso. |
Barcode e payload mínimo
Ao registrar uma amostra, o sistema gera um barcode baseado no specimen_id. O payload operacional previsto para QR/DataMatrix é mínimo e contém apenas versão, specimen_id, identificação do estudo e checksum. Não carrega identidade, contato, diagnóstico, resultado ou coordenada precisa.
Cadeia de custódia append-only
A cadeia de custódia é imutável por edição destrutiva. Eventos anteriores não são reescritos; uma correção é registrada como novo evento. O sistema suporta eventos como criação, impressão/leitura de etiqueta, coleta, processamento, aliquotagem, embalagem, armazenamento, transferência, recebimento laboratorial, análise, biobanco, descarte, não conformidade, correção e cancelamento.
Cada evento pode registrar operador/papel, data e hora, origem, destino, condição, temperatura, lacre, hash do evento e hash anterior. Isso permite verificar continuidade da trilha.
Banco protegido
As tabelas fc_sample_collection_event, fc_sample_specimen, fc_sample_custody_event, fc_sample_transport_batch, fc_sample_transport_batch_item e fc_sample_nonconformity utilizam RLS. O acesso direto de anon e authenticated foi revogado para essa fronteira; operações passam por backend protegido.
Não conformidades
Uma não conformidade não deve ser apagada para “limpar” o histórico. Ela gera evento e registro específico, preservando o que ocorreu, quando ocorreu e a medida corretiva subsequente.