View a markdown version of this page

Comprendre les rapports de dérive - AWS HealthLake

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Comprendre les rapports de dérive

Lorsque la détection de dérive est activée, la tâche groupée rédige un rapport agrégé portant le nom jobLevelDriftResult.json de votre emplacement de sortie. Le rapport vous indique la quantité de données source réellement capturée par le profil et les données manquantes. Vous savez ainsi où améliorer vos mappages.

La structure du rapport dépend du format source : les C-CDA rapports sont organisés autour de sections et d'entrées de document (identifiées par des OID), tandis que les rapports CSV sont organisés autour de tableaux, de colonnes et de lignes. Tous deux partagent le même concept de taux de couverture (une fraction comprise entre 0,0 et 1,0, où un taux plus élevé signifie qu'une plus grande partie de votre source a été capturée).

C-CDA rapport de dérive

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

Comment le lire

Commencez par les taux de couverture. Il s'agit de moyennes pour tous les fichiers traités, exprimées sous la forme d'une fraction comprise entre 0,0 et 1,0 (multipliez par 100 pour obtenir un pourcentage). Plus c'est haut, mieux c'est : un taux plus élevé signifie qu'une plus grande partie de vos données source est intégrée dans la sortie FHIR.

Champ Ce que cela signifie
avgOverallCoverageRate Le numéro du titre. Fraction moyenne du contenu source (sections et entrées) que le profil a mappé à FHIR. 0,88 signifie qu'environ 88 % de vos données source ont été capturées.
avgSectionCoverageRate Fraction moyenne des C-CDA sections (par exemple, Problèmes, médicaments, allergies) cartographiées.
avgEntryCoverageRate Fraction moyenne des entrées individuelles dans les sections (par exemple, un seul problème ou un seul médicament) cartographiées.
avgResourceAccuracy Parmi les ressources FHIR attendues, la fraction moyenne réellement produite.

Trouvez ensuite ce qui a été oublié. Ces champs vous indiquent les mappages spécifiques à ajouter :

Champ Ce que cela signifie Que faire
unknownSections Une carte des OID des sections source que le profil n'a pas reconnus et du nombre de fois que chacun est apparu. Ajoutez des mappages pour les OID des sections les plus nombreuses.
unknownEntries Une carte des OID d'entrée source que le profil n'a pas reconnus, ainsi que leur fréquence. Ajoutez des mappages pour les OID d'entrée les plus nombreux.
missingResources Une carte de l'OID source → les types de ressources FHIR attendus mais non produits, avec les dénombrements. Corrigez les mappages qui auraient dû générer ces ressources.
totalUnknownSections / totalUnknownEntries Nombre total de sections et d'entrées non mappées sur l'ensemble de la tâche. Utilisez-le comme signal rapide « combien il en reste ».
documentOids Une carte des OID de C-CDA type document vus dans le travail, et du nombre de chacun d'entre eux. Confirme les types de documents que contiennent vos données.

Priorisez par fréquence. Les dénombrements missingResources indiquent les lacunes qui affectent le plus d'enregistrements. unknownSections unknownEntries Un OID qui apparaît 40 fois est un gain plus important sur la carte qu'un OID qui apparaît deux fois.

Explorez des fichiers spécifiques. perFileDriftmappe chaque fichier source en fonction de son taux de couverture global. Triez selon les valeurs les plus faibles pour trouver les fichiers dont le profil est le plus mal géré : par exemple, patient-002.xml une valeur de 0,61 vaut la peine d'être inspectée. Pour une ventilation complète par fichier (quels OID spécifiques ont été oubliés par chaque fichier), consultez les rapports individuels situés sous le driftDetectionPerFileResults/ dossier.

Améliorer la couverture

  1. Identifiez les entrées les plus fréquentes dans unknownSectionsunknownEntries, et. missingResources

  2. Utilisez l'agent Data Transformation AI (UpdateProfileWithAgent) pour ajouter des mappages pour ces OID et ressources : vous pouvez coller un OID et demander à l'agent de le mapper.

  3. Publiez une nouvelle version du profil et réexécutez la tâche.

  4. Comparez le nouveau avgOverallCoverageRate pour confirmer que l'écart a été comblé.

Rapport de dérive CSV

Pour les tâches CSV, le rapport est organisé autour de tableaux (chaque fichier CSV est un tableau), de colonnes et de lignes, et non de sections et d'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" } ] }

Comment le lire

Commencez par le résumé. Les taux de couverture sont des fractions comprises entre 0,0 et 1,0 (plus c'est haut, mieux c'est) :

Champ Ce que cela signifie
overallCoverageRate Le numéro du titre : fraction de toutes les colonnes de toutes les tables de saisie réellement utilisées par votre profil. 0,83 signifie qu'environ 83 % de vos colonnes sources sont mappées.
tablesCoverageRate Fraction de vos fichiers CSV d'entrée (tableaux) mappée par le profil (tablesProcessed/totalTablesInInput).
columnsCoverageRate Fraction de colonnes des tables mappées référencées par un mappage de champs.

Vérifiez ensuite les chiffres pour comprendre les résultats de conversion :

Champ Ce que cela signifie
totalTablesInInputcontre tablesProcessed Combien de vos fichiers CSV ont été réellement utilisés par rapport aux fichiers trouvés.
totalColumnsInInput / columnsMapped / columnsUnmapped Combien de colonnes source existent, ont été utilisées et ont été ignorées.
totalRowsScanned / rowsConvertedSuccessfully Combien de lignes ont été lues par rapport au nombre de lignes converties avec succès.
rowsFailedCustomerError / rowsFailedServerError Lignes défaillantes en raison de problèmes de qualité des données ou d'erreurs internes.
totalResourcesGenerated Total des ressources FHIR produites.

Trouvez ensuite ce qui a été oublié :

Champ Ce que cela signifie Que faire
unmappedTables Des fichiers CSV dans votre entrée que le profil ne déclare pas (avec la raison et les colonnes de ce fichier). Ajoutez un mappage de table si ce fichier doit être converti.
unmappedColumns Par tableau, les colonnes présentes dans le CSV mais non utilisées par aucun mappage de champs. Ajoutez des mappages de champs pour les colonnes que vous souhaitez voir apparaître dans la sortie FHIR.

Améliorer la couverture (les deux formats)

  1. Identifiez les écarts ayant le plus d'impact : pour C-CDA les entrées les plus fréquentes dansunknownSections/unknownEntries/missingResources; pour le CSV, les entrées dans unmappedTables et les avertissements. unmappedColumns

  2. Utilisez l'agent Data Transformation AI (UpdateProfileWithAgent) pour ajouter les mappages manquants : vous pouvez coller un OID (C-CDA) ou un nom de colonne (CSV) non mappé et demander à l'agent de le mapper.

  3. Publiez une nouvelle version du profil et réexécutez la tâche.

  4. Comparez le nouveau overallCoverageRate pour confirmer que l'écart a été comblé.

Note

La détection de dérive indique ce qu'un profil n'a pas cartographié ; elle n'indique aucune erreur de conversion. Les données sources peuvent être volontairement laissées non mappées si elles ne sont pas pertinentes pour votre cas d'utilisation. Utilisez le rapport pour déterminer ce qui mérite d'être cartographié.