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(PerkhAPI 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:
| Profile | Description |
|---|---|
BasicProfile | Anonimiti asas menghapuskan pengenalpastian pesakit teras |
RetainSafePrivate | Retain Safe Private Option Profil |
RetainUIDs | Retain UIDs Pilihan Profil |
RetainDeviceIdent | Pilihan Pengenalan Peranti Retain |
RetainInstitutionIdent | Pilihan Pengenalan Institusi Retain |
RetainPatientChars | Retain Pilihan Ciri-ciri Pesakit |
RetainLongFullDates | Mengekalkan panjang penuh tarikh pilihan |
RetainLongModifDates | Mengekalkan pilihan tarikh pengubahsuaian yang panjang |
CleanDesc | Pilihan Penerangan Bersih |
CleanStructdCont | Pilihan Kandungan Bersih Berstruktur |
CleanGraph | Pilihan grafik bersih |
All | Kesatuan semua pilihan yang disenaraikan |
Tindakan Privasi
Tindakan yang menentukan bagaimana data sensitif diproses:
| Action | Description |
|---|---|
D | Menghapuskan data sepenuhnya |
Z | Menggantikan nilai dengan string panjang sifar |
X | Menggantikan nilai dengan data dummy |
K | Mengekalkan nilai yang tidak berubah |
C | Menggantikan dengan frasa kod |
U | Menggantikan 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 StudyInstanceUIDConfidentialityProfile 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.