Description
This pipeline can be used to deidentify PHI information from medical texts. The PHI information will be masked and obfuscated in the resulting text.
The pipeline can mask and obfuscate MEDICALRECORD
, ORGANIZATION
, PROFESSION
, DOCTOR
, USERNAME
, URL
, DEVICE
, CITY
, DATE
,
ZIP
, STATE
, PATIENT
, COUNTRY
, STREET
, PHONE
, HOSPITAL
, EMAIL
, IDNUM
, AGE
, LOCATION
, DLN
, SSN
, PLATE
, VIN
, LICENSE
, IP
, ACCOUNT
and DOB
entities.
How to use
from sparknlp.pretrained import PretrainedPipeline
deid_pipeline = PretrainedPipeline("clinical_deidentification_subentity_enriched_ar", "ar", "clinical/models")
text = """الملاحظات السريرية - مريض السكري
تم تسجيل المريض في النظام باستخدام رقم الضمان الاجتماعي 123456789012.
رقم الجهاز: 356789012345678.
التاريخ: 11 مايو 1999
اسم المريض: فاطمة علي.
تاريخ الميلاد: 12 مايو.
العنوان: شارع الحرية، حي السلام، القاهرة
دولة: مصر
اسم المستشفى: مستشفى الشفاء
اسم الطبيب: د.محمد صلاح
البريد الإلكتروني: fatima.ali@example.com
الموقع الإلكتروني: https://hospital-alshifa.com
عنوان IP: 192.168.1.100"""
result = deid_pipeline.annotate(text)
print("
Masked with entity labels")
print("-"*30)
print("
".join(result['masked_with_entity']))
print("
Masked with chars")
print("-"*30)
print("
".join(result['masked_with_chars']))
print("
Masked with fixed length chars")
print("-"*30)
print("
".join(result['masked_fixed_length_chars']))
print("
Obfuscated")
print("-"*30)
print("
".join(result['obfuscated']))
import com.johnsnowlabs.nlp.pretrained.PretrainedPipeline
val deid_pipeline = PretrainedPipeline("clinical_deidentification_subentity_enriched_ar", "ar", "clinical/models")
val text = """الملاحظات السريرية - مريض السكري
تم تسجيل المريض في النظام باستخدام رقم الضمان الاجتماعي 123456789012.
رقم الجهاز: 356789012345678.
التاريخ: 11 مايو 1999
اسم المريض: فاطمة علي.
تاريخ الميلاد: 12 مايو.
العنوان: شارع الحرية، حي السلام، القاهرة
دولة: مصر
اسم المستشفى: مستشفى الشفاء
اسم الطبيب: د.محمد صلاح
البريد الإلكتروني: fatima.ali@example.com
الموقع الإلكتروني: https://hospital-alshifa.com
عنوان IP: 192.168.1.100"""
val result = deid_pipeline.annotate(text)
println("
Masked with entity labels")
println("-" * 30)
println(result("masked_with_entity").mkString("
"))
println("
Masked with chars")
println("-" * 30)
println(result("masked_with_chars").mkString("
"))
println("
Masked with fixed length chars")
println("-" * 30)
println(result("masked_fixed_length_chars").mkString("
"))
println("
Obfuscated")
println("-" * 30)
println(result("obfuscated").mkString("
"))
Results
Masked with entity labels
------------------------------
الملاحظات السريرية - مريض السكري
تم تسجيل المريض في النظام باستخدام رقم الضمان الاجتماعي [رقم الضمان الاجتماعي].
رقم الجهاز: [الجهاز].
التاريخ: [تاريخ]
اسم المريض: [المريض].
تاريخ الميلاد: [تاريخ].
العنوان: [مستشفى] حي السلام، [المدينة]
[البلد]: [البلد]
اسم المستشفى: مستشفى الشفاء
اسم الطبيب: [دكتور] [دكتور]
البريد الإلكتروني: [البريد الإلكتروني]
الموقع الإلكتروني: [عنوان الرابط]
عنوان IP: [بروتوكول الإنترنت]
Masked with chars
------------------------------
الملاحظات السريرية - مريض السكري
تم تسجيل المريض في النظام باستخدام رقم الضمان الاجتماعي [٭٭٭٭٭٭٭٭٭٭].
رقم الجهاز: [٭٭٭٭٭٭٭٭٭٭٭٭٭].
التاريخ: [٭٭٭٭٭٭٭٭٭٭]
اسم المريض: [٭٭٭٭٭٭٭].
تاريخ الميلاد: [٭٭٭٭٭].
العنوان: [٭٭٭٭٭٭٭٭٭٭] حي السلام، [٭٭٭٭٭]
[٭٭]: [٭]
اسم المستشفى: مستشفى الشفاء
اسم الطبيب: [٭٭٭٭] [٭٭]
البريد الإلكتروني: [٭٭٭٭٭٭٭٭٭٭٭٭٭٭٭٭٭٭٭٭]
الموقع الإلكتروني: [٭٭٭٭٭٭٭٭٭٭٭٭٭٭٭٭٭٭٭٭٭٭٭٭٭٭]
عنوان IP: [٭٭٭٭٭٭٭٭٭٭٭]
Masked with fixed length chars
------------------------------
الملاحظات السريرية - مريض السكري
تم تسجيل المريض في النظام باستخدام رقم الضمان الاجتماعي ٭٭٭٭.
رقم الجهاز: ٭٭٭٭.
التاريخ: ٭٭٭٭
اسم المريض: ٭٭٭٭.
تاريخ الميلاد: ٭٭٭٭.
العنوان: ٭٭٭٭ حي السلام، ٭٭٭٭
٭٭٭٭: ٭٭٭٭
اسم المستشفى: مستشفى الشفاء
اسم الطبيب: ٭٭٭٭ ٭٭٭٭
البريد الإلكتروني: ٭٭٭٭
الموقع الإلكتروني: ٭٭٭٭
عنوان IP: ٭٭٭٭
Model Information
Model Name: | clinical_deidentification_subentity_enriched |
Type: | pipeline |
Compatibility: | Healthcare NLP 5.5.3+ |
License: | Licensed |
Edition: | Official |
Language: | ar |
Size: | 1.2 GB |
Included Models
- DocumentAssembler
- SentenceDetectorDLModel
- TokenizerModel
- WordEmbeddingsModel
- MedicalNerModel
- NerConverter
- ContextualEntityRuler
- RegexMatcherModel
- RegexMatcherModel
- RegexMatcherModel
- ContextualParserModel
- ContextualParserModel
- ContextualParserModel
- ContextualParserModel
- ContextualParserModel
- ContextualParserModel
- ContextualParserModel
- ContextualParserModel
- ContextualParserModel
- ContextualParserModel
- ContextualParserModel
- ContextualParserModel
- ChunkConverter
- ContextualParserModel
- ChunkConverter
- ContextualParserModel
- ChunkConverter
- ChunkMergeModel
- DeIdentificationModel
- DeIdentificationModel
- DeIdentificationModel
- DeIdentificationModel
- Finisher