Como transformar e proteger os dados de assistência médica para o BigQuery

Este documento descreve os processos e considerações envolvidos na harmonização de dados de assistência médica no Google Cloud para pesquisadores, cientistas de dados e equipes de TI que querem criar um data lake de análise no BigQuery..

Ao combinar os dados, você reúne dados de diferentes formatos e padrões de arquivos e, em seguida, transforma os dados em um conjunto de dados padronizado e coesa pronto para análise aprofundada. Para combinar os dados, você precisa validar as fontes de dados e, em seguida, criar uma série de pipelines para modificar os dados por meio de transformação, conversão, resolução de identidade e desidentificação.

Como validar dados de origem

Os dados clínicos podem ser imprecisos e incompletos na forma bruta. Portanto, é preciso avaliar a qualidade dos dados recebidos antes da transformação dos dados. Uma verificação de validação inclui os seguintes processos:

  • Garante que os elementos de dados necessários estejam presentes.
  • Confirma as contagens de dados para que o sistema de origem e o data lake de ingestão tenham o mesmo número de contagens de dados.
  • Confirma se os intervalos de valor são razoáveis antes de investir recursos de computação.

O Google Cloud oferece as seguintes maneiras de validar dados de origem:

  • O Cloud Data Fusion prepara os dados para que você possa visualizar e explorar um pequeno subconjunto de dados (1.000 linhas ou menos).
  • O BigQuery permite realizar muitas validações com o SQL. Se houver discrepâncias nos dados, será possível criar uma visualização para conceder acesso a usuários identificados para validação ou exportar linhas selecionadas para o Planilhas Google para anotação e colaboração com uma equipe.
  • Para verificações automáticas de qualidade de dados, é possível criar diretivas definidas pelo usuário (UDDs, na sigla em inglês) usando o Cloud Data Fusion. As UDDs permitem especificar processamento personalizado, verificações de dados e funções no Cloud Data Fusion. A criação de UDDs também ativa a sinalização automática de outliers.

Como transformar dados e criar um pipeline

A transformação estrutural é uma etapa importante na criação de um pipeline de transformação de dados e inclui mapeamento de campo, análise e formatação de dados.

Se você usa a API Cloud Healthcare como método de processamento, não é necessário analisar ou indexar dados. A API Cloud Healthcare oferece flexibilidade com formatos de dados recebidos, aceitando recursos e pacotes nos formatos JSON multilinha e JSON delimitado por nova linha. Por exemplo, se você estiver trabalhando com o tipo de dados Fast Healthcare Interoperability Resources (FHIR), não será necessário desenvolver um analisador de JSON personalizado. Em vez disso, use as funcionalidades integradas da API Cloud Healthcare para ingerir os dados.

Também é possível realizar uma transformação estrutural para conversões, como a conversão de um tipo de dados HL7v2 para um tipo de dados de FHIR ou a conversão de um tipo de dados de FHIR em SQL no esquema FHIR.

O Cloud Data Fusion tem vários plug-ins pré-criados para análise, formatação, compactação e conversão de dados. O Cloud Data Fusion também inclui o Administrador, uma ferramenta de visualização que filtra, limpa, formata e projeta os dados com base em uma pequena amostra (1.000 linhas) do conjunto de dados. Depois que você define a transformação, o Administrador gera automaticamente um pipeline Dataproc que aplica as alterações ao conjunto de dados completo.

Para transformações mais avançadas, use uma linguagem de mapeamento orientada por configuração para definição, gerenciamento e portabilidade de mapeamentos estruturados.

Como resolver a identidade do paciente

Uma etapa importante na transformação de dados é a correspondência de registros com os identificadores exclusivos de paciente (UPIs, na sigla em inglês). Ao fazer a correspondência de registros, é possível criar um registro longitudinal que ajuda a identificar inconsistências e duplicações nos dados, além de garantir transformações de dados consistentes em registros de pacientes individuais. É possível associar registros de pacientes chamando um índice mestre de pacientes (MPI, na sigla em inglês) com pipelines ou modelos personalizados. Se você estiver consolidando os dados por meio de FHIR, também há um parâmetro de pesquisa do identificador do paciente que pode ser usado para unir registros.

Terminologia de conversão

Os ambientes de terminologia genômica mudam com frequência devido a sistemas de codificação, órgãos governamentais e necessidades organizacionais. Quando você combina registros históricos com recursos recém-criados, podem surgir inconsistências entre a terminologia antiga e a atual. A conversão e a uniformização de termos médicos ajudam a garantir consistência e continuidade entre os padrões de terminologia antigos e novos.

Como converter unidades de medida

As unidades de medida podem variar muito, com base nas origens de processamento, nas organizações que fazem a medição e na região geográfica. Nos EUA, por exemplo, o peso de um bebê geralmente é medido em grama, enquanto o peso de um adulto é medido em libras. Converter e proteger as unidades de medida ajuda a garantir que a análise capture todas as unidades de medida e inclua todas as populações de pacientes.

Como desidentificar dados

A desidentificação é a última etapa do processo de transformação porque pode interferir na capacidade de harmonizar dados, especialmente na resolução de identidade e na extração de entidades médicas. Por exemplo, se você desidentificar muito cedo no pipeline, talvez não seja possível executar a resolução de identidade necessária para a sincronização. O Google Cloud oferece muitas opções, incluindo personalizações, para ajudar a desidentificar e pseudonimizar dados de saúde.

Para dados de texto não estruturados ou dados estruturados tradicionais, como CSVs, é possível usar a Proteção de dados sensíveis para classificar e encobrir elementos de dados sensíveis. A Proteção de dados sensíveis também permite personalizar a desidentificação conforme suas necessidades de segurança e casos de uso usando técnicas como mascaramento, hash seguro, tokenização, agrupamento por classes e criptografia com preservação de formato.

A API Cloud Healthcare também tem funcionalidades de desidentificação incorporadas na API, que estão disponíveis para conjuntos de dados Digital Imaging and Communications in Medicine (DICOM) e FHIR. Essa opção é útil quando você quer preservar o modelo de dados inicial.

Se você estiver processando dados de série temporal no formato FHIR, poderá preservar a sequência de recursos com base na UPI. Isso significa que, quando você usa a funcionalidade de mudança de data, pode ter certeza de que a ordem dos recursos é mantida.

Como usar o armazenamento intermediário

Como prática recomendada, armazene os resultados de cada transformação no armazenamento intermediário, um armazenamento intermediário temporário, para resolver problemas ou retornar a um estado anterior de transformação de dados em caso de recuperação de desastres. É possível reescrever o armazenamento intermediário sempre que o pipeline for executado, na forma de uma exportação bruta para o Cloud Storage no BigQuery.

Noções básicas sobre a arquitetura de pipeline

O diagrama a seguir mostra os pipelines para transformação e uniformização de dados.

Pipelines para transformação e uniformização de dados.

O diagrama anterior mostra o processo completo de dados transferidos pelos pipelines, incluindo todas as etapas envolvidas na transformação e na harmonização. Os dados são ingeridos primeiro como dados brutos e, em seguida, passam pelo pipeline de transformação estrutural e pelo pipeline de resolução de identidade. Em seguida, os dados passam por transformações adicionais (por exemplo, conversão e desidentificação de terminologia) e saem do pipeline de saída para o BigQuery, onde são armazenados como dados combinados prontos para análise. Além disso, os metadados no armazenamento intermediário são gravados automaticamente no ambiente de execução e armazenados no BigQuery como dados de proveniência e linhagem.

O diagrama também mostra duas etapas intermediárias de armazenamento em que, como prática recomendada, é possível armazenar cada conjunto de dados entre os estágios do pipeline.

A seguir