Aspose.Medical DICOM Anonymizer para .NET

Aspose.Medical DICOM Anonymizer para .NET es una poderosa API enfocada en proteger la privacidad del paciente en los archivos de imágenes médicas. Elimina o modifica la información identificable personalmente (PII) de los ficheros de la imagen médica al mismo tiempo que mantiene la integridad de las imágenes, garantizando el cumplimiento con las regulaciones de seguridad como HIPAA y GDPR. Construido para aplicaciones sanitarias y flujos de trabajo de investigación, proporciona anonimización conforme a los estándares con perfiles personalizables.

Instalación y configuración

  • Instalar el paquete NuGet Aspose.Medical (Core API que permite la anonimización).
  • Aplique una licencia medida en la startup para evitar límites de evaluación: ver Licenciamiento Medido .
  • Revisión de los requisitos de marco en el Guía de instalación .

Las plataformas apoyadas

  • Windows, Linux y MacOS
  • • Frameworks: .NET 8.0+
    • Arquitectura: x64 y ARM64 (macOS)

Inicio rápido

1) Anonimización básica

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) Anonimización con perfil predefinido

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) Substitución de información personalizada del paciente

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) Anonimización en lugar

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) Cargar perfil personalizado desde el archivo

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);

Características y Funcionalidad

Respeto a la privacidad

  • Reglamentos apoyados: *
  • HIPAA - Ley de Portabilidad y Responsabilidad de la Seguridad de Salud
  • GDPR - Reglamento General de Protección de Datos
  • DICOM PS3.15 - Profiles de seguridad y gestión del sistema

El anónimo elimina o modifica la información sensible del paciente mientras conserva el valor de diagnóstico médico de las imágenes.

Profiles de confidencialidad predefinidos

Profiles integrados basados en los estándares DICOM PS3.15:

ProfilesDescripción
BasicProfileAnonimización básica para eliminar los identificadores centrales del paciente
RetainSafePrivateRetenir el perfil de la opción privada segura
RetainUIDsRetain UIDs Opción Profilo
RetainDeviceIdentOpción de identificación de dispositivos de retención
RetainInstitutionIdentOpción de identificación de la institución de retención
RetainPatientCharsOpción de características del paciente Retain
RetainLongFullDatesRetain Long Full Dates Opción
RetainLongModifDatesRetain Long Modification Dates Opción
CleanDescDescripción limpia Opción
CleanStructdContOpción de contenido estructurado limpio
CleanGraphOpción de gráficos limpios
AllUnión de todas las opciones listadas

Acciones de confidencialidad

Acciones que determinan cómo se procesan los datos sensibles:

AcciónDescripción
DEliminar los datos por completo
ZReemplazar el valor con una línea de longitud cero
XSubstituir el valor con los datos dummy
KMantener el valor inalterado
CSubstituir con una frase codificada
USubstituir con un identificador universal único (UID)

Profiles de anonimato personalizados

Carga perfiles personalizados de varios formatos para el control completo de las reglas de anonimato.

El formato 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);

El formato JSON: *

[
    { "Tag": "0010,0010", "Action": "Z" },
    { "Tag": "0010,0020", "Action": "D" },
    { "Tag": "0020,000D", "Action": "U" }
]
ConfidentialityProfile profile = ConfidentialityProfile.LoadFromJsonFile(
    "profile.json",
    ConfidentialityProfileOptions.All);

El formato 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);

Casos de uso común

  • Clinical Research: Anonimiza las escaneas de pacientes antes de compartirlas con las instituciones de investigación.
  • Multi-Site Studies: Prepara los archivos de DICOM para la investigación colaborativa a través de las instalaciones sanitarias.
  • Enseñanza y formación: Crear conjuntos de datos anónimos para fines de educación médica.
  • Cloud Storage: Remove PII antes de subir imágenes médicas a las plataformas en la nube.
  • Exchange de datos: Compartir de forma segura los datos de imagen entre las organizaciones mientras se mantiene la conformidad.

Mejores Prácticas

  • License primero: Iniciar la licencia marcada antes de cualquier anonimización para evitar las puntuaciones de evaluación.
  • Valida los resultados: Revisa los archivos anónimos para asegurarse de que se eliminaron todos los identificadores requeridos.
  • Backup originales: Mantener backups seguros de los archivos original antes de la anonimización.
  • Profiles personalizados: Utilice perfiles adaptados cuando los perfís estándar no cumplan con requisitos específicos de cumplimiento.
  • Audit trail: Mantener registros de operaciones de anonimización para el cumplimiento de la normativa.
  • Test cuidadosamente: Verifique la anonimización con los archivos de muestra antes de procesar los datos de producción.

FAQ

**¿Requiere Microsoft Office o espectadores de DICOM de terceros?**No. Es una API independiente que funciona independientemente.

**¿Puedo anonimizar los archivos sin crear nuevas copias?**Sí, el uso AnonymizeInPlace Modificar los archivos directamente.

**¿Qué etiquetas son anónimas por defecto?**El perfil básico estándar elimina el nombre del paciente, ID, fecha de nacimiento y otros identificadores básicos como se define en DICOM PS3.15.

**¿Puedo personalizar qué campos son anónimos?**Crear perfiles personalizados utilizando archivos CSV, JSON o XML, o configurar de forma programática el ConfidentialityProfile.

**¿Se soportan los archivos multi-frame DICOM?**La anonimización funciona con los archivos single y multi-frame DICOM.

**¿Qué ocurre con las imágenes incorporadas y las sobrepuestas?**El CleanGraph La opción puede eliminar o sanitar elementos gráficos que puedan contener información del paciente.

 Español