Clinical Deidentification Pipeline (German, Document Wise)

Description

This pipeline can be used to deidentify PHI information from medical texts in German language. The PHI information will be masked and obfuscated in the resulting text. The pipeline can mask and obfuscate: LOCATION, DATE, NAME, ID, AGE, PROFESSION, CONTACT, USERNAME, ORGANIZATION, DOCTOR, CITY, COUNTRY, STREET, PATIENT, PHONE, HOSPITAL, STATE, DLN, SSN, ZIP, ACCOUNT, LICENSE, PLATE, VIN, MEDICALRECORD, EMAIL, URL entities.

Predicted Entities

LOCATION, DATE, NAME, ID, AGE, PROFESSION, CONTACT, USERNAME, ORGANIZATION, DOCTOR, CITY, COUNTRY, STREET, PATIENT, PHONE, HOSPITAL, STATE, DLN, SSN, ZIP, ACCOUNT, LICENSE, PLATE, VIN, MEDICALRECORD, EMAIL, URL

Copy S3 URI

How to use



from sparknlp.pretrained import PretrainedPipeline

deid_pipeline = PretrainedPipeline("clinical_deidentification_docwise_wip", "de", "clinical/models")

text = """Sehr geehrter Herr Schmidt, bezüglich Ihrer Anfrage vom 15.03.2024 für Ihre Krankenakte 341123 möchte ich bestätigen, dass Ihre Sozialversicherungsnummer 13110587M565 und Ihre Versichertennummer T0110053F5D korrekt in unserem System hinterlegt sind. Ihr Fahrzeug mit dem Kennzeichen M-AB 1234 ist bereits registriert. Falls Sie Fragen haben, erreichen Sie uns unter +49 89 12345678 oder schreiben Sie an support@beispiel.de. Unsere Details finden Sie auch unter https://www.beispiel-behoerde.de. Für Ihre Bankgeschäfte nutzen Sie weiterhin das Konto DE89 3704 0044 0532 0130 00."""

deid_result = deid_pipeline.fullAnnotate(text)

print(''.join([i.result for i in deid_result[0]['document']]))
print(''.join([i.result for i in deid_result[0]['masked']]))
print(''.join([i.result for i in deid_result[0]['obfuscated']]))




import com.johnsnowlabs.nlp.pretrained.PretrainedPipeline

val deid_pipeline = PretrainedPipeline("clinical_deidentification_docwise_wip", "de", "clinical/models")

val text = """Sehr geehrter Herr Schmidt, bezüglich Ihrer Anfrage vom 15.03.2024 für Ihre Krankenakte 341123 möchte ich bestätigen, dass Ihre Sozialversicherungsnummer 13110587M565 und Ihre Versichertennummer T0110053F5D korrekt in unserem System hinterlegt sind. Ihr Fahrzeug mit dem Kennzeichen M-AB 1234 ist bereits registriert. Falls Sie Fragen haben, erreichen Sie uns unter +49 89 12345678 oder schreiben Sie an support@beispiel.de. Unsere Details finden Sie auch unter https://www.beispiel-behoerde.de. Für Ihre Bankgeschäfte nutzen Sie weiterhin das Konto DE89 3704 0044 0532 0130 00."""

val deid_result = deid_pipeline.fullAnnotate(text)

println(deid_result(0)("document").map(_("result").toString).mkString(""))
println(deid_result(0)("masked").map(_("result").toString).mkString(""))
println(deid_result(0)("obfuscated").map(_("result").toString).mkString(""))


Results


Sehr geehrter Herr Schmidt, bezüglich Ihrer Anfrage vom 15.03.2024 für Ihre Krankenakte 341123 möchte ich bestätigen, dass Ihre Sozialversicherungsnummer 13110587M565 und Ihre Versichertennummer T0110053F5D korrekt in unserem System hinterlegt sind. Ihr Fahrzeug mit dem Kennzeichen M-AB 1234 ist bereits registriert. Falls Sie Fragen haben, erreichen Sie uns unter +49 89 12345678 oder schreiben Sie an support@beispiel.de. Unsere Details finden Sie auch unter https://www.beispiel-behoerde.de. Für Ihre Bankgeschäfte nutzen Sie weiterhin das Konto DE89 3704 0044 0532 0130 00.
-------------MASKED------------
Sehr geehrter Herr <NAME>, bezüglich Ihrer Anfrage vom <DATE> für Ihre Krankenakte <MEDICALRECORD> möchte ich bestätigen, dass Ihre Sozialversicherungsnummer <SSN> und Ihre Versichertennummer <ID> korrekt in unserem System hinterlegt sind. Ihr Fahrzeug mit dem Kennzeichen <PLATE> ist bereits registriert. Falls Sie Fragen haben, erreichen Sie uns unter <PHONE> oder schreiben Sie an <EMAIL>. Unsere Details finden Sie auch unter <URL>. Für Ihre Bankgeschäfte nutzen Sie weiterhin das Konto <ACCOUNT>.
-------------OBFUSCATED-----------
Sehr geehrter Herr Ralf Krebs, bezüglich Ihrer Anfrage vom 08.04.2024 für Ihre Krankenakte 579038 möchte ich bestätigen, dass Ihre Sozialversicherungsnummer 33383291B166 und Ihre Versichertennummer M6004599H7S korrekt in unserem System hinterlegt sind. Ihr Fahrzeug mit dem Kennzeichen F-SE 3953 ist bereits registriert. Falls Sie Fragen haben, erreichen Sie uns unter +20 23 34356861 oder schreiben Sie an Adair@yahoo.com. Unsere Details finden Sie auch unter ScrapbookLive.si. Für Ihre Bankgeschäfte nutzen Sie weiterhin das Konto UO37 2902 1115 5208 0223 36.


Model Information

Model Name: clinical_deidentification_docwise_wip
Type: pipeline
Compatibility: Healthcare NLP 5.5.0+
License: Licensed
Edition: Official
Language: de
Size: 1.3 GB

Included Models

  • DocumentAssembler
  • InternalDocumentSplitter
  • TokenizerModel
  • WordEmbeddingsModel
  • MedicalNerModel
  • NerConverterInternalModel
  • MedicalNerModel
  • NerConverterInternalModel
  • MedicalNerModel
  • NerConverterInternalModel
  • RegexMatcherInternalModel
  • ContextualParserModel
  • ContextualParserModel
  • ContextualParserModel
  • ContextualParserModel
  • ContextualParserModel
  • ContextualParserModel
  • ContextualParserModel
  • ContextualParserModel
  • ContextualParserModel
  • ContextualParserModel
  • ContextualParserModel
  • RegexMatcherInternalModel
  • RegexMatcherInternalModel
  • TextMatcherInternalModel
  • TextMatcherInternalModel
  • TextMatcherInternalModel
  • ContextualParserModel
  • ContextualParserModel
  • ContextualParserModel
  • ContextualParserModel
  • RegexMatcherModel
  • RegexMatcherModel
  • RegexMatcherModel
  • ContextualParserModel
  • ContextualParserModel
  • ContextualParserModel
  • ContextualParserModel
  • ChunkMergeModel
  • ChunkMergeModel
  • ChunkMergeModel
  • ChunkMergeModel
  • ChunkMergeModel
  • ChunkFilterer
  • LightDeIdentification
  • LightDeIdentification