

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Entendendo os relatórios de deriva
<a name="data-transformation-drift-report"></a>

 Quando a detecção de desvio está ativada, o trabalho em massa grava um relatório agregado com o nome do seu `jobLevelDriftResult.json` local de saída. O relatório informa quanto dos seus dados de origem o perfil realmente capturou e o que ele perdeu: para que você saiba onde melhorar seus mapeamentos. 

 A estrutura do relatório depende do formato da fonte: os C-CDA relatórios são organizados em torno de seções e entradas do documento (identificadas por OIDs), enquanto os relatórios CSV são organizados em tabelas, colunas e linhas. Ambos compartilham o mesmo conceito de taxa de cobertura (uma fração de 0,0 a 1,0, onde maior significa que mais da sua fonte foi capturada). 
+ [C-CDA relatório de deriva](#data-transformation-drift-report-ccda)
+ [Relatório de desvio em CSV](#data-transformation-drift-report-csv)
+ [Melhorando a cobertura (ambos os formatos)](#data-transformation-drift-report-improving)

## C-CDA relatório de deriva
<a name="data-transformation-drift-report-ccda"></a>

```
{
  "jobId": "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6",
  "profileId": "0f1e2d3c4b5a69788796a5b4c3d2e1f0",
  "profileVersion": 3,
  "timestamp": "2026-07-14T18:30:00Z",
  "filesProcessed": 500,
  "totalFilesFailed": 2,
  "avgSectionCoverageRate": 0.92,
  "avgEntryCoverageRate": 0.85,
  "avgOverallCoverageRate": 0.88,
  "avgResourceAccuracy": 0.97,
  "totalUnknownSections": 14,
  "totalUnknownEntries": 63,
  "documentOids": { 
    "2.16.840.1.113883.10.20.22.1.2": 480 
    },
  "unknownSectionOidCount": 2,
  "unknownSections": { 
    "2.16.840.1.113883.10.20.22.2.14": 12 
    },
  "unknownEntryOidCount": 5,
  "unknownEntries": { 
    "2.16.840.1.113883.10.20.22.4.13": 40 
    },
  "missingResources": { 
    "2.16.840.1.113883.10.20.22.2.6.1": { 
      "AllergyIntolerance": 8 
      } 
    },
  "perFileDrift": { 
    "patient-001.xml": 0.95, 
    "patient-002.xml": 0.61 
    }
}
```

### Como interpretar o gráfico
<a name="data-transformation-drift-report-ccda-read"></a>

 Comece com as taxas de cobertura. Essas são médias de todos os arquivos processados, expressas como uma fração de 0,0 a 1,0 (multiplique por 100 para obter uma porcentagem). Quanto maior, melhor: uma taxa mais alta significa que mais dados de origem chegaram à saída FHIR. 


| Campo | O que significa | 
| --- | --- | 
| avgOverallCoverageRate | O número da manchete. A fração média do conteúdo de origem (seções \+ entradas) que o perfil mapeou para o FHIR. 0,88 significa que \~ 88% dos dados de origem foram capturados. | 
| avgSectionCoverageRate | Fração média das C-CDA seções (por exemplo, Problemas, Medicamentos, Alergias) que foram mapeadas. | 
| avgEntryCoverageRate | Fração média de entradas individuais em seções (por exemplo, um único problema ou medicamento) que foram mapeadas. | 
| avgResourceAccuracy | Dos recursos do FHIR esperados, a fração média que foi realmente produzida. | 

 Em seguida, encontre o que foi perdido. Esses campos indicam os mapeamentos específicos a serem adicionados: 


| Campo | O que significa | O que fazer | 
| --- | --- | --- | 
| unknownSections | Um mapa dos OIDs da seção de origem que o perfil não reconheceu e quantas vezes cada um apareceu. | Adicione mapeamentos para os OIDs de seção de alta contagem. | 
| unknownEntries | Um mapa dos OIDs de entrada da fonte que o perfil não reconheceu e sua frequência. | Adicione mapeamentos para os OIDs de entrada de alta contagem. | 
| missingResources | Um mapa do OID de origem → os tipos de recursos do FHIR que eram esperados, mas não produzidos, com contagens. | Corrija os mapeamentos que deveriam ter gerado esses recursos. | 
| totalUnknownSections / totalUnknownEntries | Contagens totais de seções e entradas não mapeadas em todo o trabalho. | Use como um sinal rápido de “quanto resta”. | 
| documentOids | Um mapa dos OIDs do C-CDA tipo de documento vistos no trabalho e quantos de cada um. | Confirma quais tipos de documentos seus dados contêm. | 

 Priorize por frequência. As contagens em`unknownSections`,`unknownEntries`, e `missingResources` informam quais lacunas afetam a maioria dos registros. Um OID que aparece 40 vezes é uma vitória maior para mapear do que um que aparece duas vezes. 

 Examine arquivos específicos. `perFileDrift`mapeia cada arquivo de origem para sua taxa de cobertura geral. Classifique pelos valores mais baixos para encontrar os arquivos que o perfil mais manipulou: por exemplo, vale a pena inspecionar `patient-002.xml` em 0,61. Para obter uma análise completa por arquivo (quais OIDs específicos cada arquivo perdeu), consulte os relatórios individuais na `driftDetectionPerFileResults/` pasta. 

### Melhorando a cobertura
<a name="data-transformation-drift-report-ccda-improving"></a>

1. Identifique as entradas de maior frequência em `unknownSections``unknownEntries`, e. `missingResources`

1. Use o agente de IA de transformação de dados (`UpdateProfileWithAgent`) para adicionar mapeamentos para esses OIDs e recursos: você pode colar um OID e pedir ao agente que o mapeie.

1. Publique uma nova versão do perfil e execute o trabalho novamente.

1. Compare o novo `avgOverallCoverageRate` para confirmar que a lacuna foi fechada.

## Relatório de desvio em CSV
<a name="data-transformation-drift-report-csv"></a>

 Para trabalhos em CSV, o relatório é organizado em tabelas (cada arquivo CSV é uma tabela), colunas e linhas: não em seções e OIDs. 

```
{
  "jobId": "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6",
  "profileId": "0f1e2d3c4b5a69788796a5b4c3d2e1f0",
  "profileVersion": 3,
  "summary": {
    "totalTablesInProfile": 4,
    "totalTablesInInput": 5,
    "tablesProcessed": 4,
    "tablesUnmapped": 1,
    "totalColumnsInInput": 42,
    "columnsMapped": 35,
    "columnsUnmapped": 7,
    "totalRowsScanned": 120000,
    "rowsConvertedSuccessfully": 119850,
    "rowsFailedCustomerError": 140,
    "rowsFailedServerError": 10,
    "totalResourcesGenerated": 245000,
    "tablesCoverageRate": 0.80,
    "columnsCoverageRate": 0.83,
    "overallCoverageRate": 0.83
  },
  "unmappedTables": [
    {
      "tableName": "billing",
      "fileName": "billing.csv",
      "reason": "No matching table declared in the mapping profile",
      "columns": ["invoice_id", "amount", "payer"]
    }
  ],
  "unmappedColumns": [
    {
      "tableName": "patients",
      "columns": ["preferred_language", "ethnicity_detail"],
      "reason": "Present in CSV but not referenced by any field mapping"
    }
  ]
}
```

### Como interpretar o gráfico
<a name="data-transformation-drift-report-csv-read"></a>

 Comece com o resumo. As taxas de cobertura são frações de 0,0 a 1,0 (quanto maior, melhor): 


| Campo | O que significa | 
| --- | --- | 
| overallCoverageRate | O número do título: a fração de todas as colunas em todas as tabelas de entrada que seu perfil realmente usa. 0,83 significa que \~ 83% das colunas de origem estão mapeadas. | 
| tablesCoverageRate | Fração dos arquivos CSV de entrada (tabelas) que o perfil mapeia (tablesProcessed/totalTablesInInput). | 
| columnsCoverageRate | Fração de colunas nas tabelas mapeadas que são referenciadas por um mapeamento de campo. | 

 Em seguida, verifique as contagens para entender os resultados da conversão: 


| Campo | O que significa | 
| --- | --- | 
| totalTablesInInputvs tablesProcessed | Quantos dos seus arquivos CSV foram realmente usados versus encontrados. | 
| totalColumnsInInput / columnsMapped / columnsUnmapped | Quantas colunas de origem existem, foram usadas e foram ignoradas. | 
| totalRowsScanned / rowsConvertedSuccessfully | Quantas linhas foram lidas versus convertidas com sucesso. | 
| rowsFailedCustomerError / rowsFailedServerError | Linhas que falharam devido a problemas de qualidade de dados versus erros internos. | 
| totalResourcesGenerated | Total de recursos do FHIR produzidos. | 

 Em seguida, encontre o que foi perdido: 


| Campo | O que significa | O que fazer | 
| --- | --- | --- | 
| unmappedTables | Arquivos CSV em sua entrada que o perfil não declara (com o motivo e as colunas desse arquivo). | Adicione um mapeamento de tabela se esse arquivo precisar ser convertido. | 
| unmappedColumns | Por tabela, as colunas presentes no CSV, mas não usadas por nenhum mapeamento de campo. | Adicione mapeamentos de campo para as colunas que você deseja na saída FHIR. | 

## Melhorando a cobertura (ambos os formatos)
<a name="data-transformation-drift-report-improving"></a>

1. Identifique as lacunas de maior impacto: para C-CDA, as entradas de maior frequência em`unknownSections`/`unknownEntries`/`missingResources`; para CSV, as entradas em`unmappedTables`, e os avisos. `unmappedColumns`

1. Use o agente de IA de transformação de dados (`UpdateProfileWithAgent`) para adicionar os mapeamentos ausentes: você pode colar um OID (C-CDA) ou nome de coluna (CSV) não mapeado e pedir ao agente que o mapeie.

1. Publique uma nova versão do perfil e execute o trabalho novamente.

1. Compare o novo `overallCoverageRate` para confirmar que a lacuna foi fechada.

**nota**  
A detecção de desvios relata o que um perfil não mapeou; ela não indica um erro de conversão. Os dados de origem podem ser intencionalmente deixados sem mapeamento se não forem relevantes para seu caso de uso. Use o relatório para decidir o que vale a pena mapear.