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 écrit un rapport agrégé nommé jobLevelDriftResult.json selon votre emplacement de sortie. Le rapport vous indique la quantité de données source que le profil a réellement capturée et ce qu'il a oublié : afin que vous sachiez comment 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. Les 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 forme de 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 sources est intégrée à la sortie FHIR.
| Champ | Ce que cela signifie |
|---|---|
avgOverallCoverageRate |
Le numéro du titre. Fraction moyenne du contenu source (sections + entrées) que le profil a mappé à FHIR. 0,88 signifie qu'environ 88 % de vos données sources ont été capturées. |
avgSectionCoverageRate |
Fraction moyenne des C-CDA sections (par exemple, problèmes, médicaments, allergies) qui ont été cartographiées. |
avgEntryCoverageRate |
Fraction moyenne des entrées individuelles dans les sections (par exemple, un seul problème ou un médicament) qui ont été cartographiées. |
avgResourceAccuracy |
Parmi les ressources FHIR attendues, la fraction moyenne qui a été 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 de section source que le profil n'a pas reconnus, avec le nombre de fois que chacun d'entre eux est apparu. | Ajoutez des mappages pour les OID de section à nombre élevé. |
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 à nombre élevé. |
missingResources |
Une carte de l'OID source → les types de ressources FHIR qui étaient attendus mais non produits, avec leur nombre. | 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 reste ». |
documentOids |
Une carte des OID de C-CDA type de document affichés dans la tâche, avec le nombre de ces identifiants. | Confirme les types de documents que contiennent vos données. |
Priorisez par fréquence. Les chiffres entrent en unknownSections ligne unknownEntries de compte et vous missingResources indiquent quelles lacunes affectent le plus grand nombre d'enregistrements. Un OID qui apparaît 40 fois représente une plus grande victoire à cartographier qu'un OID qui apparaît deux fois.
Explorez des fichiers spécifiques. perFileDriftmappe chaque fichier source à son taux de couverture global. Triez selon les valeurs les plus faibles pour trouver les fichiers que le profil a le moins bien gérés : 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 chaque fichier a manqués), consultez les rapports individuels dans le driftDetectionPerFileResults/ dossier.
Améliorer la couverture
-
Identifiez les entrées les plus fréquentes dans
unknownSectionsunknownEntries, et.missingResources -
Utilisez l'agent Data Transformation AI (
UpdateProfileWithAgent) pour ajouter des mappages pour ces OID et ces ressources : vous pouvez coller un OID et demander à l'agent de le mapper. -
Publiez une nouvelle version du profil et relancez la tâche.
-
Comparez les nouveaux
avgOverallCoverageRatepour confirmer que l'écart est 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 de 0,0 à 1,0 (plus c'est haut, mieux c'est) :
| Champ | Ce que cela signifie |
|---|---|
overallCoverageRate |
Le numéro de titre : la fraction de toutes les colonnes de toutes les tables de saisie que votre profil utilise réellement. 0,83 signifie qu'environ 83 % de vos colonnes sources sont mappées. |
tablesCoverageRate |
Fraction de vos fichiers CSV d'entrée (tableaux) que le profil mappe (tablesProcessed/totalTablesInInput). |
columnsCoverageRate |
Fraction des 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 à ceux trouvés. |
totalColumnsInInput /
columnsMapped /
columnsUnmapped |
Combien de colonnes sources existent, ont été utilisées et ont été ignorées. |
totalRowsScanned /
rowsConvertedSuccessfully |
Combien de lignes ont été lues par rapport à celles qui ont été converties avec succès. |
rowsFailedCustomerError /
rowsFailedServerError |
Lignes qui ont échoué 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 |
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 qui ne sont 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. |
Synchroniser le rapport de dérive CSV
Comment le liredécrit le format groupé (asynchrone) qu'une tâche de transformation écrit sur Amazon S3. Lorsque vous exécutez la détection de dérive de manière synchrone, la réponse de l'API inclut le rapport de dérive des valeurs séparées par des virgules (CSV) en ligne. Pour activer cette option, définissez enableDriftDetection sur « true Sur TransformData demande ». Étant donné qu'une demande de synchronisation traite une seule entrée plutôt qu'un ensemble de données complet, sa structure de rapport est simplifiée.
{ "sourceFormat": "CSV", "summary": { "totalTablesInProfile": 1, "totalTablesInInput": 1, "tablesProcessed": 1, "tablesUnmapped": 0, "totalColumnsInInput": 10, "columnsMapped": 7, "columnsUnmapped": 3, "totalRowsProcessed": 2, "totalResourcesGenerated": 2, "tablesCoverageRate": 1.0, "columnsCoverageRate": 0.7, "perTableRowCounts": { "patients": 2 } }, "unmappedTables": [], "unmappedColumns": [ { "tableName": "patients", "columns": ["ETHNICITY", "LANGUAGE", "NICKNAME"], "reason": "Columns present in CSV but not referenced in any field mapping" } ], "warnings": [] }
Les unmappedColumns champs summaryunmappedTables, et ont la même signification que dans le rapport groupé. Le rapport de synchronisation diffère du rapport CSV groupé des manières suivantes :
-
Non
jobId, ouprofileIdprofileVersion, car une demande de synchronisation n'est pas liée à une tâche de transformation. Il inclut plutôt unsourceFormatchamp de niveau supérieur (CSV) qui identifie le format de l'entrée. -
Il omet le nombre de lignes défaillantes (
rowsFailedCustomerErroretrowsFailedServerError) ainsi que les champs et les champs dutotalRowsScannedrapport groupé.rowsConvertedSuccessfullyUne demande de synchronisation convertit une seule entrée. Il réussit ou renvoie une erreur. En cas de succès, iltotalRowsProcessedfournit un rapport et uneperTableRowCountscarte indiquant le nombre de lignes traitées pour chaque table. -
Il rapporte
tablesCoverageRateetcolumnsCoverageRate, mais pas une combinaisonoverallCoverageRate. -
Il inclut un
warningstableau en ligne qui répertorie les problèmes non fatals rencontrés lors de la conversion, tels que des clés primaires manquantes ou des entrées de mappage de valeurs non reconnues.
Améliorer la couverture (dans les deux formats)
-
Identifiez les écarts les plus importants : pour C-CDA les entrées les plus fréquentes dans
unknownSections/unknownEntries/missingResources; pour le CSV, les entrées dansunmappedTables,unmappedColumnset les avertissements. -
Utilisez l'agent Data Transformation AI (
UpdateProfileWithAgent) pour ajouter les mappages manquants : vous pouvez coller un OID non mappé (C-CDA) ou un nom de colonne (CSV) et demander à l'agent de le mapper. -
Publiez une nouvelle version du profil et relancez la tâche.
-
Comparez les nouveaux
overallCoverageRatepour confirmer que l'écart est comblé.
Note
La détection de dérive indique ce qu'un profil n'a pas cartographié ; elle n'indique pas d'erreur de conversion. Les données sources peuvent être intentionnellement 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é.