臨床試験のためのDICOM匿名化:C#実施ガイド
医療イメージを含む臨床試験は、患者プライバシーを保護するためにDICOMデータの慎重な処理を必要とし、規制的な提出のためのデータ統合性を維持します。このガイドでは、Aspose.Medical for .NET を使用して実施する方法をカバーしています。 臨床試験匿名化要件 臨床試験のためのDICOMファイルを匿名化することは、標準デ・識別とは異なります。 一貫性の対象識別器:各患者は、すべてのイメージセッションを通じて一致するユニークな試験対象 ID を取得しなければなりません。 監査トラック:何が匿名化され、いつ データの完全性:医療イメージの質は正確に維持されなければなりません。 再生可能性:同じ入力が同じ匿名出力を生成する必要があります。 21 CFR Part 11の遵守:電子記録は、FDAの正確性と誠実性の要件を満たす必要があります。 匿名化枠組みの導入 臨床試験の匿名化サービスを作成し、主題マッピングおよび監査ログを処理します。 using Aspose.Medical.Dicom; using Aspose.Medical.Dicom.Anonymization; using System.Collections.Concurrent; using System.Security.Cryptography; using System.Text; public class ClinicalTrialAnonymizer { private readonly string _trialId; private readonly ConcurrentDictionary<string, string> _subjectMapping; private readonly string _mappingFilePath; private readonly string _auditLogPath; public ClinicalTrialAnonymizer(string trialId, string dataDirectory) { _trialId = trialId; _mappingFilePath = Path.Combine(dataDirectory, $"{trialId}_subject_mapping.json"); _auditLogPath = Path.Combine(dataDirectory, $"{trialId}_audit_log.csv"); _subjectMapping = LoadOrCreateMapping(); InitializeAuditLog(); } private ConcurrentDictionary<string, string> LoadOrCreateMapping() { if (File.Exists(_mappingFilePath)) { var json = File.ReadAllText(_mappingFilePath); var dict = JsonSerializer.Deserialize<Dictionary<string, string>>(json); return new ConcurrentDictionary<string, string>(dict); } return new ConcurrentDictionary<string, string>(); } private void InitializeAuditLog() { if (!File.Exists(_auditLogPath)) { File.WriteAllText(_auditLogPath, "Timestamp,OriginalFile,AnonymizedFile,SubjectID,Operator,Action\n"); } } public string GetOrCreateSubjectId(string originalPatientId) { return _subjectMapping.GetOrAdd(originalPatientId, _ => { int subjectNumber = _subjectMapping.Count + 1; return $"{_trialId}-{subjectNumber:D4}"; }); } public void SaveMapping() { var json = JsonSerializer.Serialize( _subjectMapping.ToDictionary(k => k.Key, v => v.Value), new JsonSerializerOptions { WriteIndented = true }); File.WriteAllText(_mappingFilePath, json); } } 対象IDの置き換え 臨床試験には、すべてのイメージセッションを通じて一貫した主体識別が必要です。 ...