Aspose.Medical DICOM Anonymizer para .NET

Aspose.Medical DICOM Anonymizer para .NET é uma poderosa API focada em proteger a privacidade do paciente em arquivos de imagem médica. Elimina ou modifica informações pessoalmente identificáveis (PII) dos arquivo DICEM ao mesmo tempo que mantém a integridade das imagens médicas, garantindo o cumprimento com as regulamentações de Privacidade como HIPAA e GDPR. Construído para aplicações sanitárias e fluxos de trabalho de pesquisa, fornece anonimização padrão com perfis personalizáveis.

Instalação e Setup

  • Instale o pacote NuGet Aspose.Medical (Core API que permite a anonimização).
  • Aplique uma licença medida na startup para evitar limites de avaliação: ver Licenciamento Ponderado .
  • Revisão dos requisitos estruturais na Guia de instalação .

Plataformas suportadas

  • OS: Windows, Linux e MacOS
    • Frameworks: * .NET 8.0 +
  • Arquitetura: x64 e ARM64 (macOS)

Início rápido

1) Anonimização 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) Anonimização com 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) Substituição de informações personalizadas do 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) Anonimização no local

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) Carregar perfil personalizado do arquivo

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 e Funcionalidade

Conformidade de Privacidade

  • Regulamentos apoiados: *
  • HIPAA - Lei de Responsabilidade e Portabilidade do Seguro de Saúde
  • GDPR - Regulamento Geral de Proteção de Dados
  • DICOM PS3.15 - Perfil de segurança e gerenciamento de sistemas

O anonimizador remove ou modifica informações sensíveis do paciente ao mesmo tempo que preserva o valor de diagnóstico médico das imagens.

Profissões de confidencialidade predefinidas

Os perfis construídos com base nos padrões DICOM PS3.15:

ProfilaçãoDescrição
BasicProfileAnonimização básica removendo identificadores do paciente básico
RetainSafePrivateMantenha o perfil de opções privadas seguras
RetainUIDsRetain UIDs Opção Profilo
RetainDeviceIdentOpção de identificação de dispositivos de retenção
RetainInstitutionIdentOpção de Identificação Institucional de Retain
RetainPatientCharsOpção de características do paciente Retain
RetainLongFullDatesOpção de data completa de longa duração
RetainLongModifDatesMantenha a opção de data de alteração de longo prazo
CleanDescDescrições limpas Opção
CleanStructdContOpção de conteúdo limpo estruturado
CleanGraphOpção de gráficos limpos
AllUnião de todas as opções listadas

Ações de confidencialidade

Ações que determinam como os dados sensíveis são processados:

AçãoDescrição
DRemova os dados completamente
ZSubstituir o valor com uma faixa de comprimento zero
XSubstituir o valor com dados dummy
KMantenha o valor inalterado
CSubstituir com uma frase codificada
USubstituir com um identificador universalmente único (UID)

Perfil de anonimato personalizado

Carregar perfis personalizados de vários formatos para o controle completo sobre as regras de anonimato.

  • Formato de 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);
  • 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);

• 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 comuns de uso

  • ** Pesquisa clínica**: Anonimiza os scans do paciente antes de compartilhar com instituições de pesquisa.
  • Multi-Site Studies: Prepare arquivos DICOM para pesquisas colaborativas em instalações de saúde.
  • O ensino e a formação: Crie conjuntos de dados anónimos para fins de educação médica.
  • Cloud Storage: Remova PII antes de carregar imagens médicas para plataformas em nuvem.
  • Data Exchange: compartilhar dados de imagem com segurança entre organizações, mantendo o cumprimento.

Melhores Práticas

  • Licença primeiro: Inicializa a licença marcada antes de qualquer anonimização para evitar os sinais de avaliação.
  • Validação de resultados: Revise arquivos anónimos para garantir que todos os identificadores necessários foram removidos.
  • Backup original: Mantenha backups seguros dos arquivos originais antes da anonimização.
  • Profiles personalizados: Use perfis personalizadas quando os perfís padrão não atendem a requisitos específicos de conformidade.
  • Audit trail: Manter registros de operações de anonimização para cumprimento regulamentar.
  • Teste cuidadosamente: Verifique a anonimização com os arquivos de amostra antes de processar os dados de produção.

FAQ

**Precisamos do Microsoft Office ou de terceiros DICOM?**Não. É uma API independente que funciona independentemente.

** Posso anonimizar arquivos sem criar novas cópias?**Sim – Use AnonymizeInPlace Modificar os arquivos diretamente.

** Que tags são anonimizados por padrão?**O perfil básico padrão remove o nome do paciente, ID, data de nascimento e outros identificadores-chave, conforme definido no DICOM PS3.15.

** Posso personalizar quais campos são anónimos?**Criar perfis personalizados usando arquivos CSV, JSON ou XML, ou configurar programadamente o ConfidentialityProfile.

**Os arquivos multi-frame DICOM são suportados?**Sim. A anonimização funciona com arquivos DICOM single e multi-frame.

** O que acontece com imagens embutidas e sobreposições?**O que CleanGraph A opção pode remover ou sanitar elementos gráficos que possam conter informações do paciente.

 Português