Aspose.Medical DICOM Anonymizer 为 .NET

Aspose.Medical DICOM Anonymizer for .NET 是一个强大的 API 专注于 保护患者隐私 在医学图像文件中. 它从 DIKOM 文件删除或修改个人识别信息(PII) 同时保持医疗图形的完整性,确保遵守私人规则如 HIPAAGDPR. 为医疗保健应用和研究工作流构建,它提供符合标准的匿名化与可自定义的个人资料。

安装和设置

  • 安装 NuGet 包 Aspose.Medical (核心 API 允许匿名化)
  • 在初创公司申请测量许可,以避免评估限制:见 计量许可 .
  • 审查框架要求 安装指南 .

支持的平台

  • 操作系统:Windows、Linux、MacOS
  • ** 框架:** .NET 8.0+
  • ** 架构:** x64, ARM64 (macOS)

快速启动

1、基本匿名化

using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Anonymization;

// Load and anonymize a DICOM file
DicomFile dcm = DicomFile.Open("patient_scan.dcm");
Anonymizer anonymizer = new();
DicomFile anonymized = anonymizer.Anonymize(dcm);
anonymized.Save("anonymized_scan.dcm");

2) 匿名化与预定义个人资料

using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Anonymization;

// Create a confidentiality profile with specific options
ConfidentialityProfile profile = ConfidentialityProfile.CreateDefault(
    ConfidentialityProfileOptions.CleanGraph);

// Create anonymizer with the profile
Anonymizer anonymizer = new(profile);

// Load and anonymize
DicomFile dcm = DicomFile.Open("input.dcm");
DicomFile anonymized = anonymizer.Anonymize(dcm);
anonymized.Save("anonymized_output.dcm");

(三)患者信息交换

using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Anonymization;

// Create profile with custom replacement values
ConfidentialityProfile profile = new()
{
    PatientName = "ANONYMOUS PATIENT",
    PatientId = "00000000"
};

Anonymizer anonymizer = new(profile);
DicomFile dcm = DicomFile.Open("input.dcm");
DicomFile anonymized = anonymizer.Anonymize(dcm);
anonymized.Save("custom_anonymized.dcm");

4、现场匿名化

using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Anonymization;

// Modify file directly without creating a new instance
DicomFile dcm = DicomFile.Open("input.dcm");
Anonymizer anonymizer = new();
anonymizer.AnonymizeInPlace(dcm);
dcm.Save("inplace_anonymized.dcm");

5)从文件中加载自定义的个人资料

using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Anonymization;

// Load custom profile from JSON file
ConfidentialityProfile profile = ConfidentialityProfile.LoadFromJsonFile(
    "custom_profile.json",
    ConfidentialityProfileOptions.All);

Anonymizer anonymizer = new(profile);
DicomFile dcm = DicomFile.Open("input.dcm");
DicomFile anonymized = anonymizer.Anonymize(dcm);

特性和功能性

隐私遵守

** 支持的规则:**

  • HIPAA - 健康保险负担和责任法
  • GDPR - 一般数据保护条例
  • DICOM PS3.15 - 安全和系统管理档案

匿名化器删除或修改敏感患者信息,同时保留图像的医学诊断值。

预先定义的隐私资料

基于 DICOM PS3.15 标准的内置配置:

个人资料描述
BasicProfile基本匿名化删除核心患者识别
RetainSafePrivate保留安全私人选项个人资料
RetainUIDsRetain UIDs 選項檔案
RetainDeviceIdentRetain 设备识别选项
RetainInstitutionIdentRetain 機構識別選項
RetainPatientCharsRetain 患者特性选项
RetainLongFullDates延长全日期选项
RetainLongModifDatesRetain Long 更改日期选项
CleanDesc清洁描述选项
CleanStructdCont清洁结构内容选项
CleanGraph清洁图形选项
All列出的所有选项的联盟

隐私活动

决定如何处理敏感数据的行动:

行动描述
D完全删除数据
Z用零长线替换值
X用 dummy 数据取代值
K保持价值不变
C用编码的句子替换
U用普遍独特识别器(UID)替换

定制匿名化个人资料

从不同的格式上加载自定义的个人资料,以便完全控制匿名规则。

  • CSV 格式: *
TagPattern;Action
0010,0010;Z  // Anonymize PatientName
0010,0020;D  // Remove PatientID
0020,000D;U  // Replace StudyInstanceUID
ConfidentialityProfile profile = ConfidentialityProfile.LoadFromCsvFile(
    "profile.csv",
    ConfidentialityProfileOptions.All);
  • JSON 格式: *
[
    { "Tag": "0010,0010", "Action": "Z" },
    { "Tag": "0010,0020", "Action": "D" },
    { "Tag": "0020,000D", "Action": "U" }
]
ConfidentialityProfile profile = ConfidentialityProfile.LoadFromJsonFile(
    "profile.json",
    ConfidentialityProfileOptions.All);
  • XML 格式: *
<root>
  <item>
    <tag>0010,0010</tag>
    <action>Z</action>
  </item>
  <item>
    <tag>0010,0020</tag>
    <action>D</action>
  </item>
</root>
ConfidentialityProfile profile = ConfidentialityProfile.LoadFromXmlFile(
    "profile.xml",
    ConfidentialityProfileOptions.All);

常用案例

  • 临床研究:在与研究机构共享之前匿名患者扫描。
  • Multi-Site Studies:为医疗保健设施的合作研究准备DICOM文件。
  • 教学和培训:为医学教育目的创建匿名数据库。
  • 云存储:在将医疗图像上传到云平台之前删除PII。
  • 数据交换:安全地在组织之间共享图像数据,同时保持遵守。

最佳实践

  • ** 许可第一**:在任何匿名化之前,启动测量授权,以避免评估水标。
  • 验证结果:审查匿名文件以确保所有所需的识别被删除。
  • 备份原件:在匿名化之前保留原始文件的安全备件。
  • 自定义个人资料:在标准资料不符合特定的遵守要求时,使用自制资料。
  • ** 审计路径**:保持匿名化操作的记录,以便遵守规则。
  • ** 仔细测试**:在处理生产数据之前,通过样品文件验证匿名化。

FAQ

** 需要 Microsoft Office 或第三方 DICOM 观众吗?**这是一个独立的API,它独立运行。

**我可以匿名化文件,而不创建新的副本吗?**是的,使用 AnonymizeInPlace 直接修改文件的方法。

** 哪些标签被默认匿名化?**默认 Basic Profile 删除患者名称、身份证、出生日期和其他基本识别,如 DICOM PS3.15 所定义。

**我可以自定义哪些字段被匿名化吗?**使用 CSV、JSON 或 XML 文件创建自定义个人资料,或者编程设置 ConfidentialityProfile.

**多框 DICOM 文件是否支持?**是的,匿名化与单个和多框DICOM文件工作。

** 什么是嵌入式图像和插图?**是的 CleanGraph 选项可以删除或清洁可能包含患者信息的图形元素。

 中文