ASPOSE.Medical DICOM Anonymizer для .NET

Aspose.Medical DICOM Anonymizer для .NET является мощным API, ориентированным на защиту конфиденциальности пациентов в медицинских изображениях. он удаляет или модифицирует персонализированную информацию (PII) из DICO файлов при сохранении целостности медицинской картины, обеспечивая соблюдение регламентов о неприкосновенности данных, таких как 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");

3) Замена персонализированной информации о пациентах

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Профиль UIDs Option
RetainDeviceIdentОпция идентификации устройств Retain
RetainInstitutionIdentРейтинговая институциональная идентификация
RetainPatientCharsРеставрация Пациентных характеристик опции
RetainLongFullDatesДлительное хранение полных дат опции
RetainLongModifDatesДолгосрочная модификация дат опции
CleanDescЧистые описания опции
CleanStructdContЧистый структурированный контент
CleanGraphЧистая графическая опция
AllСоюз всех перечисленных вариантов

Действия конфиденциальности

Действия, определяющие, как обрабатываются чувствительные данные:

Действиеописание
DУдаление данных полностью
ZЗамена стоимости с нулевой строкой длины
XЗаменить ценность с глупыми данными
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 для совместных исследований во всех учреждениях здравоохранения.
  • Учение и обучение: создание анонимных баз данных для целей медицинского образования.
  • Cloud Storage: удалите PII перед загрузкой медицинских изображений на облачные платформы.
  • Data Exchange: Безопасный обмен изобразительными данными между организациями при сохранении соответствия.

Лучшие практики

  • Лицензия первая: Инициализуйте заметную лицензию до любой анонимности, чтобы избежать оценки водных знаков.
  • Валидируйте результаты: Обзор анонимных файлов, чтобы убедиться, что все необходимые идентификаторы были удалены.
  • Оригинальные резервные копии: Сохраняйте безопасную копию оригинальных файлов до анонимности.
  • Настройка профилей: Используйте персонализированные профили, когда стандартный профиль не отвечает конкретным требованиям к соблюдению.
  • Audit trail: Поддерживайте записи операций анонимности для соблюдения нормативных норм.
  • Тест тщательно: Проверьте анонимность с помощью файлов образца перед обработкой данных производства.

FAQ

**Неужели это требует Microsoft Office или сторонних зрителей DICOM?**Нет. Это самостоятельный API, который работает самостоятельно.

**Могу ли я анонимизировать файлы без создания новых копий?**Да. Использование AnonymizeInPlace Метод непосредственной модификации файлов.

** Какие теги анонимны по умолчанию?**Стандартный базовый профиль удаляет имя пациента, ID, дату рождения и другие основные идентификаторы, как это определено в DICOM PS3.15.

**Могу ли я персонализировать, какие поля анонимны?**Создайте персонализированные профили с помощью CSV, JSON или XML файлов или программируйте ConfidentialityProfile.

** Поддерживаются ли мультифрамные файлы DICOM?**Да. Анонимизация работает с едиными и мультифрамными файлами DICOM.

** Что происходит с встроенными изображениями и переломами?**И в CleanGraph Опция может удалить или очистить графические элементы, которые могут содержать информацию о пациенте.

 Русский