View a markdown version of this page

Comprensione dei report sulla deriva - AWS HealthLake

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Comprensione dei report sulla deriva

Quando il rilevamento delle deviazioni è abilitato, il bulk job scrive un rapporto aggregato denominato in base jobLevelDriftResult.json alla tua posizione di output. Il rapporto indica la quantità di dati di origine effettivamente acquisita dal profilo e i dati mancanti, in modo da sapere dove migliorare le mappature.

La struttura del rapporto dipende dal formato di origine: i C-CDA report sono organizzati in base a sezioni e voci del documento (identificate da OID), mentre i report CSV sono organizzati in tabelle, colonne e righe. Entrambi condividono lo stesso concetto di tasso di copertura (una frazione da 0,0 a 1,0, dove più alto significa che è stata acquisita una parte maggiore del codice sorgente).

C-CDA rapporto sulla deriva

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

Come leggere i dati

Inizia con i tassi di copertura. Si tratta delle medie di tutti i file elaborati, espresse come frazione da 0,0 a 1,0 (moltiplicate per 100 per ottenere una percentuale). Più alto è meglio: una frequenza più alta significa che una maggiore quantità di dati di origine viene inserita nell'output FHIR.

Campo Significato
avgOverallCoverageRate Il numero principale. La frazione media del contenuto di origine (sezioni e voci) mappata dal profilo a FHIR. 0,88 significa che è stato acquisito circa l'88% dei dati di origine.
avgSectionCoverageRate Frazione media delle C-CDA sezioni (ad esempio, Problemi, Farmaci, Allergie) che sono state mappate.
avgEntryCoverageRate Frazione media delle singole voci all'interno delle sezioni (ad esempio, un singolo problema o farmaco) che sono state mappate.
avgResourceAccuracy Delle risorse FHIR previste, la frazione media effettivamente prodotta.

Allora scopri cosa ti è sfuggito. Questi campi ti indirizzano alle mappature specifiche da aggiungere:

Campo Significato Cosa fare
unknownSections Una mappa degli OID della sezione sorgente che il profilo non ha riconosciuto e quante volte ciascuno è apparso. Aggiungi mappature per gli OID delle sezioni con un numero elevato di numeri.
unknownEntries Una mappa degli OID di immissione della sorgente che il profilo non ha riconosciuto e della relativa frequenza. Aggiungi mappature per gli OID delle voci con un numero elevato di voci.
missingResources Una mappa dell'OID di origine → i tipi di risorse FHIR previsti ma non prodotti, con conteggi. Correggi le mappature che avrebbero dovuto generare quelle risorse.
totalUnknownSections / totalUnknownEntries Conteggio totale delle sezioni e delle voci non mappate in tutto il lavoro. Usa come segnale rapido «quanto resta».
documentOids Una mappa degli OID del C-CDA tipo di documento visualizzati nel lavoro e il numero di ciascuno di essi. Conferma i tipi di documenti contenuti nei dati.

Assegna priorità in base alla frequenza. Il conteggio arriva unknownSections e unknownEntries missingResources indica quali lacune influiscono sulla maggior parte dei record. Un OID che appare 40 volte è una vincita maggiore da mappare rispetto a uno che appare due volte.

Approfondisci i file specifici. perFileDriftassocia ogni file sorgente al suo tasso di copertura complessivo. Ordina in base ai valori più bassi per trovare i file che il profilo ha gestito peggio: ad esempio, vale la pena patient-002.xml esaminarli a 0,61. Per un'analisi completa per file (quali OID specifici sono stati omessi da ciascun file), consulta i singoli report sotto la cartella. driftDetectionPerFileResults/

Migliorare la copertura

  1. Identifica le voci con la frequenza più alta inunknownSections, eunknownEntries. missingResources

  2. Usa l'agente Data Transformation AI (UpdateProfileWithAgent) per aggiungere mappature per tali OID e risorse: puoi incollare un OID e chiedere all'agente di mapparlo.

  3. Pubblica una nuova versione del profilo ed esegui nuovamente il processo.

  4. Confronta il nuovo avgOverallCoverageRate per confermare che il divario è stato colmato.

Rapporto sulla deriva in formato CSV

Per i lavori CSV, il rapporto è organizzato in tabelle (ogni file CSV è una tabella), colonne e righe: non sezioni e OID.

{ "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" } ] }

Come leggere i dati

Inizia con il riepilogo. I tassi di copertura sono frazioni da 0,0 a 1,0 (meglio è più alto):

Campo Significato
overallCoverageRate Il numero del titolo: la frazione di tutte le colonne di tutte le tabelle di input effettivamente utilizzate dal profilo. 0,83 significa che circa l'83% delle colonne di origine sono mappate.
tablesCoverageRate Frazione dei file CSV di input (tabelle) mappati dal profilo (/). tablesProcessed totalTablesInInput
columnsCoverageRate Frazione di colonne nelle tabelle mappate a cui fa riferimento una mappatura dei campi.

Quindi controlla i conteggi per comprendere i risultati delle conversioni:

Campo Significato
totalTablesInInputcontro tablesProcessed Quanti dei tuoi file CSV sono stati effettivamente utilizzati rispetto a quelli trovati.
totalColumnsInInput / columnsMapped / columnsUnmapped Quante colonne di origine esistono, sono state utilizzate e sono state ignorate.
totalRowsScanned / rowsConvertedSuccessfully Quante righe sono state lette e quante sono state convertite con successo.
rowsFailedCustomerError / rowsFailedServerError Righe non riuscite a causa di problemi di qualità dei dati o errori interni.
totalResourcesGenerated Risorse FHIR totali prodotte.

Quindi scopri cosa è mancato:

Campo Significato Cosa fare
unmappedTables File CSV nell'input che il profilo non dichiara (con il motivo e le colonne in quel file). Aggiungi una mappatura della tabella se quel file deve essere convertito.
unmappedColumns Per tabella, le colonne presenti nel file CSV ma non utilizzate da nessuna mappatura dei campi. Aggiungi le mappature dei campi per le colonne che desideri nell'output FHIR.

Miglioramento della copertura (entrambi i formati)

  1. Identifica le lacune con il maggiore impatto: per C-CDA, le voci con la frequenza più alta inunknownSections/unknownEntries/missingResources; per CSV, le voci in e e gli avvisi. unmappedTables unmappedColumns

  2. Usa l'agente Data Transformation AI (UpdateProfileWithAgent) per aggiungere le mappature mancanti: puoi incollare un OID () o un nome di colonna (CSVC-CDA) non mappato e chiedere all'agente di mapparlo.

  3. Pubblica una nuova versione del profilo ed esegui nuovamente il lavoro.

  4. Confronta il nuovo overallCoverageRate per confermare che il divario è stato colmato.

Nota

Il rilevamento della deriva segnala ciò che un profilo non è stato mappato; non indica un errore di conversione. I dati di origine possono essere intenzionalmente lasciati non mappati se non sono pertinenti al caso d'uso. Usa il rapporto per decidere cosa vale la pena mappare.