Aspose.Medical DICOM Anonymizer 为 .NET
Aspose.Medical DICOM Anonymizer for .NET 是一个强大的 API 专注于 保护患者隐私 在医学图像文件中. 它从 DIKOM 文件删除或修改个人识别信息(PII) 同时保持医疗图形的完整性,确保遵守私人规则如 HIPAA和 GDPR. 为医疗保健应用和研究工作流构建,它提供符合标准的匿名化与可自定义的个人资料。
安装和设置
支持的平台
- 操作系统: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 | 保留安全私人选项个人资料 |
RetainUIDs | Retain UIDs 選項檔案 |
RetainDeviceIdent | Retain 设备识别选项 |
RetainInstitutionIdent | Retain 機構識別選項 |
RetainPatientChars | Retain 患者特性选项 |
RetainLongFullDates | 延长全日期选项 |
RetainLongModifDates | Retain 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 StudyInstanceUIDConfidentialityProfile 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 选项可以删除或清洁可能包含患者信息的图形元素。