Aspose.Medical DICOM Anonymizer untuk .NET

Aspose.Medical DICOM Anonymizer untuk .NET adalah API yang kuat yang memberi tumpuan kepada ** melindungi privasi pesakit** dalam fail imej perubatan.Ia menghapuskan atau mengubah maklumat yang boleh dikenalpasti secara peribadi (PII) daripada fail DICO sambil mengekalkan integriti imeji perhubungan, memastikan pematuhan dengan peraturan privati seperti HIPAA dan GDPR.Dibina untuk aplikasi penjagaan kesihatan dan aliran kerja penyelidikan, ia menyediakan anonimiti yang mematuhi piawaian dengan profil yang disesuaikan.

Pemasangan dan Setup

  • Pemasangan Pakej NuGet Aspose.Medical (Perkh API yang membolehkan anonimiti)
  • Permohonan lesen yang diukur di startup untuk mengelakkan had penilaian: lihat Lisensi Pengukuran .
  • Mengkaji keperluan rangka kerja dalam Panduan pemasangan .

Platform yang disokong

  • Sistem operasi : Windows, Linux dan MacOS
  • Rangka kerja : .NET 8.0+
    • Arsitektur : x64 dan ARM64 (macOS)

Permulaan Cepat

1) Anonimiti asas

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) Anonim dengan profil yang telah ditakrifkan

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) Penggantian maklumat pesakit

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) Pengenalan kepada anonim

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) Muat turun profil tersuai daripada fail

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

Ciri-ciri dan fungsi

Kepatuhan Privasi

  • Peraturan yang disokong : *
  • HIPAA - Undang-undang Insurans Kesihatan Portabiliti dan Tanggungjawab
  • GDPR - Peraturan Perlindungan Data Umum
  • DICOM PS3.15 - Profil Keselamatan dan Pengurusan Sistem

Anonimizer menghapuskan atau mengubah maklumat pesakit sensitif sambil mengekalkan nilai diagnostik perubatan imej.

Profil Privasi Predefined

Profil dibina berdasarkan piawaian DICOM PS3.15:

ProfileDescription
BasicProfileAnonimiti asas menghapuskan pengenalpastian pesakit teras
RetainSafePrivateRetain Safe Private Option Profil
RetainUIDsRetain UIDs Pilihan Profil
RetainDeviceIdentPilihan Pengenalan Peranti Retain
RetainInstitutionIdentPilihan Pengenalan Institusi Retain
RetainPatientCharsRetain Pilihan Ciri-ciri Pesakit
RetainLongFullDatesMengekalkan panjang penuh tarikh pilihan
RetainLongModifDatesMengekalkan pilihan tarikh pengubahsuaian yang panjang
CleanDescPilihan Penerangan Bersih
CleanStructdContPilihan Kandungan Bersih Berstruktur
CleanGraphPilihan grafik bersih
AllKesatuan semua pilihan yang disenaraikan

Tindakan Privasi

Tindakan yang menentukan bagaimana data sensitif diproses:

ActionDescription
DMenghapuskan data sepenuhnya
ZMenggantikan nilai dengan string panjang sifar
XMenggantikan nilai dengan data dummy
KMengekalkan nilai yang tidak berubah
CMenggantikan dengan frasa kod
UMenggantikan dengan pengenalpastian unik universal (UID)

Profil anonim yang disesuaikan

Muat turun profil yang disesuaikan daripada pelbagai format untuk kawalan penuh terhadap peraturan anonimiti.

  • Format dalam format : *
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);
  • Format JSON : *
[
    { "Tag": "0010,0010", "Action": "Z" },
    { "Tag": "0010,0020", "Action": "D" },
    { "Tag": "0020,000D", "Action": "U" }
]
ConfidentialityProfile profile = ConfidentialityProfile.LoadFromJsonFile(
    "profile.json",
    ConfidentialityProfileOptions.All);

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

Kasus Penggunaan Umum

  • Penelitian Klinikal: Anonimkan pemindaian pesakit sebelum berkongsi dengan institusi penyelidikan.
  • Multi-Site Studies: Persiapan fail DICOM untuk penyelidikan kerjasama di seluruh kemudahan penjagaan kesihatan.
  • Pengajaran dan Latihan: Mencipta set data anonim untuk tujuan pendidikan perubatan.
  • Cloud Storage: Menghapuskan PII sebelum memuat naik imej perubatan ke platform awan.
  • Data Exchange: Berkongsi data imej dengan selamat antara organisasi sambil mengekalkan pematuhan.

amalan terbaik

  • Lisensi pertama: Memulakan lesen yang diukur sebelum sebarang anonimiti untuk mengelakkan penilaian watermark.
  • Mengesahkan hasil: Ulasan fail anonim untuk memastikan semua pengenalpastian yang diperlukan telah dihapuskan.
  • Backup asli: Simpan sandaran yang selamat daripada fail asal sebelum anonim.
  • Profil disesuaikan: Gunakan profil tersuai apabila profil standard tidak memenuhi keperluan pematuhan tertentu.
  • Audit trail: Mengekalkan rekod operasi anonim untuk pematuhan peraturan.
  • Ujian menyeluruh: Semak anonimiti dengan fail sampel sebelum memproses data pengeluaran.

FAQ

**Adakah ia memerlukan Microsoft Office atau penonton DICOM pihak ketiga?**Tidak. Ia adalah API berasingan yang berfungsi secara bebas.

** Bolehkah saya menganonimkan fail tanpa mencipta salinan baru?**Ya, gunakan AnonymizeInPlace kaedah untuk mengubah suai fail secara langsung.

** Apakah tag yang dianonimkan secara lalai?**Profil asas lalai menghapuskan nama pesakit, ID, tarikh lahir, dan pengenalpastian teras lain seperti yang ditakrifkan dalam DICOM PS3.15.

** Bolehkah saya menyesuaikan medan mana yang dianonimkan?**Mencipta profil yang disesuaikan menggunakan fail CSV, JSON atau XML, atau mengkonfigurasi secara program ConfidentialityProfile.

**Adakah fail multi-frame DICOM disokong?**Ya. Anonymization berfungsi dengan fail single dan multi-frame DICOM.

**Apa yang berlaku kepada imej tertanam dan overlays?**The CleanGraph opsyen boleh menghapuskan atau menyegarkan elemen grafik yang mungkin mengandungi maklumat pesakit.

 Melayu