في حين أن ملفات تعريف الخصوصية المحددة مسبقًا DICOM PS3.15 تغطي العديد من حالات الاستخدام ، فإن مؤسسات الرعاية الصحية لديها في كثير من الأحيان متطلبات خصوصية فريدة من نوعها. في هذا الدليل ، سوف تتعلم كيفية تصميم ملف التعريفات المخصصة لـ DIKOM التي تتوافق مع سياسات مؤسستك. سنغطي أنماط العلامات والأفعال وتوفر قوالب في تنسيقات CSV و JSON و XML.
جدول المحتوى
- لماذا تحتاج ملفات تعريف مخصصة
- فهم العلامات النمطية والأفعال
- إنشاء ملفات تعريف مخصصة
- تحميل الملفات المخصصة في الرمز
- نموذج سيناريو العالم الحقيقي
- التحقق والاختبار
- استنتاجات
لماذا مطلوب ملفات تعريف مخصصة
ملفات تعريف الخصوصية المحددة توفر أساسًا قوي ، لكنها قد لا تتوافق مع جميع المتطلبات المؤسسية. قد تحتاج إلى ملصقات مخصصة عندما تتطلب مؤسستك الاحتفاظ بمواصفات مؤسسية محددة للتتبع الداخلي في حين لا تزال تحدد بيانات المرضى مجهولة الهوية. ربما تكون بعض التعاونات البحثية بحاجة إلى بعض الديموغرافيا المحفوظة أثناء إزالة المعارف المباشرة. يمكن أن يتطلب تدفقات العمل الداخلية لضمان الجودة معلومات الجهاز التي ستزيل الملفات القياسية. وبالإضافة إلى ذلك ، قد تتعين اللوائح الإقليمية التعامل مع بعض عناصر البيانات.
تتيح لك الملفات المخصصة السيطرة الدقيقة على ما يتم تعديل علامات DICOM وكيفية الامتثال لسياسات إدارة البيانات الخاصة بك.
فهم نموذج العلامات والتصرفات
يتم تحديد علامات DICOM من خلال مجموعات وأرقام العناصر في النموذج (GGGG،EEEE).على سبيل المثال، اسم المريض هو (0010,0010) و ID المرضى هو (010.0020).تحدد الملفات المخصصة أنماط تتوافق مع هذه العلامات والأفعال التي يجب تطبيقها.
وتشمل الإجراءات المتاحة D (حذف) التي تقوم بإزالة العلامة بالكامل من مجموعة البيانات، Z (صفر)** التي تحل محل القيمة بقيمة فارغة أو صفر طويلة، X (إلغاء) التي تقم بإزالتها إذا كانت موجودة على غرار حذف، و K (الإبقاء)* التي تحتفظ بالقيمة الأصلية غير المتغيرة، وال **C (النظيفة) ** التي تطهيرها عن طريق إزالتها من خلال تحديد المعلومات من الناحية السياحية، ومع **U (استبدالها بـ UID) *** التي تستبدل بالمعرفة الفريدة التي تم إنشاؤها حديثا.
يعتمد اختيار الإجراء الصحيح على حالة الاستخدام الخاصة بك.استخدم D أو X للعلامات التي لا ينبغي أن تظهر أبدا في النتيجة المجهولة.ستخدم Z عندما يجب أن تكون العلامة موجودة ولكن يجب ألا تكون فارغة. يستخدم K للكلمات التي تريد الحفاظ عليها بدقة. تستخدم C للحقول النصية التي قد تحتوي على علامات التعرف المدمجة. واستخدم U لـ UIDs التي تحتاج إلى استبدالها مع الاحتفاظ بالوحدانية.
إنشاء ملفات تعريف مخصصة
يمكن تعريف الملفات المخصصة في ثلاثة تنسيقات.اختر واحد يناسب أفضل تدفق العمل الخاص بك.
تنسيق CSV
CSV هو أسهل تنسيق، مثالي للملفات البسيطة:
TagPattern;Action
(0010,0010);Z
(0010,0020);Z
(0010,0030);X
(0010,0040);K
(0020,000D);U
(0020,000E);U
(0008,0018);U
(0008,0080);D
(0008,0081);D
(0008,1030);C
(0008,103E);C
(0010,1010);K
(0010,1030);K
هذا البروفيسور يزيل اسم المريض والهوية، ويحذف تاريخ الميلاد، يحافظ على الجنس والمؤشرات الديموغرافية للمرضى، ويدل على استبدال جميع أجهزة الكمبيوتر المحمولة، ويتم حذف معلومات المؤسسة، وتنظيف الوصفات.
تنسيق JSON
يوفر JSON بنية أفضل للملفات المعقدة مع البيانات الميتا:
{
"profileName": "Hospital Research Profile",
"version": "1.0",
"description": "Custom profile for research data sharing",
"actions": [
{ "TagPattern": "(0010,0010)", "Action": "Z", "Comment": "Patient Name" },
{ "TagPattern": "(0010,0020)", "Action": "Z", "Comment": "Patient ID" },
{ "TagPattern": "(0010,0030)", "Action": "X", "Comment": "Birth Date" },
{ "TagPattern": "(0010,0040)", "Action": "K", "Comment": "Patient Sex" },
{ "TagPattern": "(0020,000D)", "Action": "U", "Comment": "Study Instance UID" },
{ "TagPattern": "(0020,000E)", "Action": "U", "Comment": "Series Instance UID" },
{ "TagPattern": "(0008,0018)", "Action": "U", "Comment": "SOP Instance UID" },
{ "TagPattern": "(0008,0080)", "Action": "D", "Comment": "Institution Name" },
{ "TagPattern": "(0008,0081)", "Action": "D", "Comment": "Institution Address" },
{ "TagPattern": "(0008,1030)", "Action": "C", "Comment": "Study Description" }
]
}
تنسيق XML
يتم تفضيل XML للبيئات مع أدوات XML الحالية:
<?xml version="1.0" encoding="utf-8"?>
<ConfidentialityProfile name="Hospital Research Profile" version="1.0">
<Description>Custom profile for research data sharing</Description>
<TagActions>
<TagAction TagPattern="(0010,0010)" Action="Z">Patient Name</TagAction>
<TagAction TagPattern="(0010,0020)" Action="Z">Patient ID</TagAction>
<TagAction TagPattern="(0010,0030)" Action="X">Birth Date</TagAction>
<TagAction TagPattern="(0010,0040)" Action="K">Patient Sex</TagAction>
<TagAction TagPattern="(0020,000D)" Action="U">Study Instance UID</TagAction>
<TagAction TagPattern="(0020,000E)" Action="U">Series Instance UID</TagAction>
<TagAction TagPattern="(0008,0018)" Action="U">SOP Instance UID</TagAction>
<TagAction TagPattern="(0008,0080)" Action="D">Institution Name</TagAction>
<TagAction TagPattern="(0008,0081)" Action="D">Institution Address</TagAction>
<TagAction TagPattern="(0008,1030)" Action="C">Study Description</TagAction>
</TagActions>
</ConfidentialityProfile>
تحميل الملفات المخصصة في الرمز
تحميل الملفات المخصصة في تطبيق .NET الخاص بك هو بسيط:
using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Anonymization;
// Load from CSV
ConfidentialityProfile csvProfile = ConfidentialityProfile.LoadFromCsvFile(
"profiles/hospital_research.csv",
ConfidentialityProfileOptions.All
);
// Load from JSON
ConfidentialityProfile jsonProfile = ConfidentialityProfile.LoadFromJsonFile(
"profiles/hospital_research.json",
ConfidentialityProfileOptions.All
);
// Load from XML
ConfidentialityProfile xmlProfile = ConfidentialityProfile.LoadFromXmlFile(
"profiles/hospital_research.xml",
ConfidentialityProfileOptions.All
);
// Create anonymizer with custom profile
Anonymizer anonymizer = new(csvProfile);
// Anonymize files
DicomFile dcm = DicomFile.Open("patient_study.dcm");
DicomFile anonymizedDcm = anonymizer.Anonymize(dcm);
anonymizedDcm.Save("anonymized_study.dcm");
Console.WriteLine("Anonymization completed with custom profile!");
فيديوهات متعلقة بـ “ العالم الحقيقي ”
الحلقة الأولى: ضمان الجودة الداخلي
الحفاظ على معلومات المؤسسة والمعدات للتتبع الداخلي في حين تجسيد بيانات المرضى:
TagPattern;Action
(0010,0010);Z
(0010,0020);Z
(0010,0030);X
(0008,0080);K
(0008,0081);K
(0008,1010);K
(0008,1090);K
(0018,1000);K
السيناريو 2: التعاون البحثي الخارجي
الحد الأقصى للتسمية مع الديموغرافيا المحفوظة لدراسات السكان:
TagPattern;Action
(0010,0010);X
(0010,0020);X
(0010,0030);X
(0010,0040);K
(0010,1010);K
(0010,1020);K
(0010,1030);K
(0020,000D);U
(0020,000E);U
(0008,0018);U
(0008,0080);X
(0008,0081);X
(0008,1030);X
(0008,103E);X
السيناريو 3: تنسيق دراسة متعددة المواقع
استبدال UIDs مع الحفاظ على علاقات الدراسة لربط البيانات:
TagPattern;Action
(0010,0010);Z
(0010,0020);Z
(0020,000D);U
(0020,000E);U
(0008,0018);U
(0008,0016);K
(0020,0010);K
(0020,0011);K
(0020,0013);K
التحقق والاختبار
تحقق دائمًا من الملفات المخصصة قبل نشر الإنتاج:
using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Anonymization;
string profilePath = "profiles/custom_profile.csv";
string testDataFolder = "test_samples";
string outputFolder = "validation_output";
// Load custom profile
ConfidentialityProfile profile = ConfidentialityProfile.LoadFromCsvFile(
profilePath,
ConfidentialityProfileOptions.All
);
Anonymizer anonymizer = new(profile);
Directory.CreateDirectory(outputFolder);
// Process test files
string[] testFiles = Directory.GetFiles(testDataFolder, "*.dcm");
int successCount = 0;
int failCount = 0;
foreach (string filePath in testFiles)
{
try
{
DicomFile dcm = DicomFile.Open(filePath);
DicomFile anonymized = anonymizer.Anonymize(dcm);
string outputPath = Path.Combine(outputFolder, Path.GetFileName(filePath));
anonymized.Save(outputPath);
Console.WriteLine($"✓ {Path.GetFileName(filePath)}");
successCount++;
}
catch (Exception ex)
{
Console.WriteLine($"✗ {Path.GetFileName(filePath)}: {ex.Message}");
failCount++;
}
}
Console.WriteLine($"\nValidation Summary:");
Console.WriteLine($" Succeeded: {successCount}");
Console.WriteLine($" Failed: {failCount}");
Console.WriteLine($"\nReview output files in: {outputFolder}");
بعد تشغيل التصديق، افتح الملفات المجهولة في مرصد DICOM والتأكد من أن العلامات المتوقعة يتم تعديلها بشكل صحيح، يتم الحفاظ على علامات الاحتفاظ بها، ويتم استبدال UIDs بشكل مناسب، ولا تبقى أي بيانات حساسة في الحقول النظيفة.
استنتاجات {# الاستنتاج}
تتيح لك ملفات تعريف الخصوصية المخصصة مرونة لتنفيذ DICOM المجهول الذي يتوافق بالضبط مع سياسات خصوصية مؤسستك.سواء كنت بحاجة إلى الاحتفاظ بالمعارف المحددة للاستخدام الداخلي، والحفاظ على الديموغرافيا للبحث، أو تطبيق الحد الأقصى من الهوية للمشاركة الخارجية، فإن الملفات المخصبة تجعل ذلك ممكنًا.
وتشمل التوصيات الرئيسية توثيق خيارات ملفك الشخصي لأغراض التدقيق، والنسخة التحكم في ملفات الملفات لتتبع التغييرات، والتحقق من الملفات الشخصية بعناية قبل استخدام الإنتاج، ومراجعة الملصقات بانتظام مع تطور المتطلبات.
للحصول على مزيد من المعلومات حول DICOM المجهول و Aspose.Medical API، يرجى زيارة الوثائققوالب سيناريوهات الملفات الشائعة متوفرة في قسم الأمثلة.
More in this category
- إعداد مجموعات DICOM للذكاء الاصطناعي والتعلم الآلي مع Aspose.Medical
- بناء خدمة DICOM Anonymization Microservice في ASP.NET Core
- لماذا يهم DICOM المجهول لـ HIPAA و GDPR في تدفقات العمل .NET
- تخزين بيانات DICOM في قواعد البيانات SQL و NoSQL باستخدام C#
- DICOM Anonymization for Cloud PACS and Teleradiology في C#