翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ドリフトレポートについて
ドリフト検出を有効にすると、バルクジョブは という名前の集計レポートを出力場所に書き込みjobLevelDriftResult.jsonます。レポートには、プロファイルが実際にキャプチャしたソースデータの量と見逃した内容が示されます。これにより、マッピングを改善する場所がわかります。
レポートの構造はソース形式によって異なります。C-CDA レポートはドキュメントセクションとエントリ (OIDs で識別) を中心に編成され、CSV レポートはテーブル、列、行を中心に編成されます。どちらも同じカバレッジレートの概念を共有します (0.0 から 1.0 までの小数。高いほど、より多くのソースがキャプチャされたことを意味します)。
C-CDA ドリフトレポート
{ "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 } }
読み方
カバレッジレートから始めます。これらは、処理されたすべてのファイルの平均で、0.0 から 1.0 までの分数で表されます (パーセンテージの場合は 100 を掛けます)。高いほど、レートが高いほど、より多くのソースデータが FHIR 出力になりました。
| フィールド | 意味 |
|---|---|
avgOverallCoverageRate |
ヘッドライン番号。プロファイルが FHIR にマッピングしたソースコンテンツ (セクション + エントリ) の平均割合。 0.88 は、ソースデータの約 88% がキャプチャされたことを意味します。 |
avgSectionCoverageRate |
マッピングされた C-CDA セクション (例: 問題、薬剤、アレルギー) の平均割合。 |
avgEntryCoverageRate |
マッピングされたセクション内の個々のエントリ (単一の問題や薬剤など) の平均割合。 |
avgResourceAccuracy |
予想された FHIR リソースのうち、実際に生成された平均割合。 |
次に、見逃されたものを見つけます。これらのフィールドは、追加する特定のマッピングを示します。
| フィールド | 意味 | 対応方法 |
|---|---|---|
unknownSections |
プロファイルが認識しなかったソースセクション OIDs のマップと、それぞれが表示された回数。 | 高カウントセクション OIDs のマッピングを追加します。 |
unknownEntries |
プロファイルが認識しなかったソースエントリ OIDs とその頻度のマップ。 | 高カウントエントリ OIDs のマッピングを追加します。 |
missingResources |
ソース OID のマップ → 予想されたが生成されなかった FHIR リソースタイプとカウント。 | これらのリソースを生成すべきだったマッピングを修正しました。 |
totalUnknownSections /
totalUnknownEntries |
ジョブ全体でマッピングされていないセクションとエントリの合計数。 | クイック「どれだけ残っているか」シグナルとして を使用します。 |
documentOids |
ジョブに表示される C-CDA ドキュメントタイプの OIDs のマップと、それぞれの数。 | データに含まれるドキュメントタイプを確認します。 |
頻度で優先順位を付けます。unknownSections、、および のカウントはunknownEntries、どのギャップが最もレコードに影響を与えるかmissingResourcesを示します。40 回表示される OID は、2 回表示される OID よりもマッピングの勝ちが大きくなります。
特定のファイルをドリルダウンします。 は、各ソースファイルを全体的なカバレッジレートにperFileDriftマッピングします。最小値でソートして、プロファイルが処理したファイルが最悪であるかどうかを確認します。たとえば、0.61 patient-002.xmlでは検査する価値があります。ファイルごとの詳細な内訳 (各ファイルが見逃した特定の OIDs) については、 driftDetectionPerFileResults/フォルダの個々のレポートを参照してください。
カバレッジの改善
-
、
unknownSections、unknownEntriesおよび で最も頻度の高いエントリを特定しますmissingResources。 -
データ変換 AI エージェント (
UpdateProfileWithAgent) を使用して、これらの OIDs とリソースのマッピングを追加します。OID を貼り付けて、エージェントにマッピングを依頼できます。 -
新しいプロファイルバージョンを発行し、ジョブを再実行します。
-
新しい を比較
avgOverallCoverageRateして、ギャップが閉じられていることを確認します。
CSV ドリフトレポート
CSV ジョブの場合、レポートはセクションや 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" } ] }
読み方
概要から始めます。カバレッジレートは 0.0 から 1.0 までの小数です (高い方が適しています)。
| フィールド | 意味 |
|---|---|
overallCoverageRate |
ヘッドライン番号: プロファイルが実際に使用するすべての入力テーブルのすべての列の割合。 0.83 は、ソース列の約 83% がマッピングされていることを意味します。 |
tablesCoverageRate |
プロファイルがマッピングする入力 CSV ファイル (テーブル) の割合 (tablesProcessed/totalTablesInInput)。 |
columnsCoverageRate |
フィールドマッピングによって参照されるマッピングされたテーブル内の列の割合。 |
次に、カウントをチェックして変換結果を理解します。
| フィールド | 意味 |
|---|---|
totalTablesInInput と tablesProcessed |
実際に使用された CSV ファイルと見つかった CSV ファイルの数。 |
totalColumnsInInput /
columnsMapped /
columnsUnmapped |
存在するソース列、使用されたソース列、無視されたソース列の数。 |
totalRowsScanned /
rowsConvertedSuccessfully |
読み取り行数と正常に変換された行数。 |
rowsFailedCustomerError /
rowsFailedServerError |
データ品質の問題と内部エラーが原因で失敗した行。 |
totalResourcesGenerated |
生成された FHIR リソースの合計。 |
次に、見逃されたものを見つけます。
| フィールド | 意味 | 対応方法 |
|---|---|---|
unmappedTables |
プロファイルが宣言しない入力内の CSV ファイル (理由とそのファイルの列を含む)。 | そのファイルを変換する必要がある場合は、テーブルマッピングを追加します。 |
unmappedColumns |
テーブルごとに、列は CSV に表示されますが、フィールドマッピングでは使用されません。 | FHIR 出力に必要な列のフィールドマッピングを追加します。 |
カバレッジの向上 (両方の形式)
-
最も影響の大きいギャップを特定します。C-CDA の場合は
unknownSections/unknownEntries/ の最も頻度の高いエントリ、CSVmissingResourcesの場合はunmappedTables、unmappedColumns、警告のエントリです。 -
データ変換 AI エージェント (
UpdateProfileWithAgent) を使用して欠落しているマッピングを追加します。マッピングされていない OID (C-CDA) または列名 (CSV) を貼り付け、エージェントにマッピングを依頼できます。 -
新しいプロファイルバージョンを発行し、ジョブを再実行します。
-
新しい を比較
overallCoverageRateして、ギャップが閉じられていることを確認します。
注記
ドリフト検出は、プロファイルがマッピングしなかったことをレポートします。変換エラーを示すものではありません。ソースデータは、ユースケースに関係ない場合、意図的にマッピング解除したままにすることができます。レポートを使用して、マッピングする価値のあるものを決定します。