# Presentation: 553948

## caTIES Custom DeID InstallationTBPT F2F MeetingThursday May 17, 2007

- Rebecca Crowley, Girish Chavan and Kevin Mitchell
- _[crowelyrs@upmc.edu](mailto:crowelyrs@upmc.edu)_
- chavang@upmc.edu
- _[mitchellkj@upmc.edu](mailto:mitchellkj@upmc.edu)_

## Presentation Overview

- caTIES Architecture
- PlugIn Mechanics for Custom De-Identifiers
- MGH Scrubber Analysis
- Case Study DeID comparison
- caTIES Ongoing Activities

## CaTIES Architecture Assumptions

- Evolving and errant transformation engines require precision rerun
- Localized behavioral modifications at many levels
- Honest broker visualization of identified information
- CaTIES innate linkage between public and private data using surrogate keys

## CaTIES Architecture

## Slide 5

## Installing Custom De-Identifiers

- Use CaTIES Installer For MGH Scrubber
- Installs version 1.0 of _[HMS Pathology Report SCRUBBER](http://spin.nci.nih.gov/SPIN/HMS_Scrubber_v1.0b.zip)_
- Deploy any custom De-Identifier
- Install any DeID to create a Windows Services foot print
- Implement CaTIES_DeIdentifier interface
- Plug-In to Services foot print

## CaTIES Installer De-Identifier Step

## CaTIES Installer De-Identifier Parameters

## Tanuki Wrapper Windows Services

- http://wrapper.tanukisoftware.org/doc/english/introduction.html

## CaTIES_DeIdentifier Interface

**package** edu.upmc.opi.caBIG.caTIES.server.deid;
**public** **interface** CaTIES_DeIdentifier {
**public** **void** initializeDeIdentification();
**public** String deIdentify(String text) ;
**public** **void** finalizeDeIdentification() ;
**public** String getApplicationName() ;
**public** String getApplicationRevision() ;
- }

## Custom DeIdentifier Install Steps

- Implement CaTIES_DeIdentifier
- Accepts document text as java.lang.String returns redacted text as String
- Jar implementation class and dependancies – (e.g., MyDeID.jar)
- Place MyDeID.jar in lib directory
- Place additional config files in classes dir
- In classes/CaTIES.properties set caties.deid.classname = my.package.MyDeID

## Download MGH Scrubber

## MGH Scrubber Trial Installation & Analysis

- Uses three key configuration files
- Scrubber.xml locates
- Locates other configs
- Flexible redaction behavior (overwrite with spaces or patterns like ***Name***
- Names.list
- Proper names should be localized geographically
- Regex.list
- Cascading regular expressions

## MGH names.list snippet

- Niver	Niverson	Niverville	Nives	Nivison	Niwa
- Niwot	Nix	Nixa	Nixion	Nixon	Nixson
- Niziol	Niziolek	Niznik	Nizo	Njango	Njie
- Njoku	Nkomo	Nkuku	No	Noa	Noack
- Noah	Noakes	Noaks	Noank	Noatak	Nobbe
- Nobel	Nobile	Nobis	Noble	Nobles	Noblesville
- Noblet	Nobleton	Noblett

## MGH Scrubber regex.list snippets

- //Patient's Name
- PATIENT_NAME=[^a-z^A-Z^0-9]+(((patient(')?(s)?)\s+(name))[^a-z^A-Z^0-9^\"]+(is)?\"\w+[^a-z^A-Z]+\w+[^a-z^A-Z]+)
- //Take out any telephone numbers
- TELEPHONE=[^a-z^A-Z^0-9]+\(?[1-9][0-9]{2}[\)\s-]?[1-9][0-9]{2}[\s-]?[0-9]{4}\s+
- //put the older Dr regex. this should be a safety net incase the above regex is not satisfied.
- DOCTOR_OLDER=[^a-z^A-Z^0-9]+(([dD][Rr]([Ss])?)|([Dd]octor)s?|(DOCTORS?))[^a-zA-Z^0-9]+(\w+[^a-z^A-Z^0-9]+){1,3}

## MGH Scrubber Features

- Scans based on names and then successively applies regular expression matching
- Each regular expression works on the output of the previous regular expression producing a pipe effect

## MGH Scrubber Provenance 

- MGH Scrubber provides a well-designed model of batch run provenance where each result set is saved with the information used to redact it (i.e., names, regex)
- This is not carried over to the caTIES plugin.  Instead only a version id is available in caTIES

## MGH Scrubber XML target CHIRPS

- MGH Scrubber also support DeIdentification of CHIRPS XML
- Although CaTIES maintains CHIRPS XML submission schema for all reports this features is not used in the integration context

## MGH Software Analysis

- MGH Scrubber is well designed and well written Java code that is easy to parse and comprehend
- Highly Maintainable
- Highly Extensible
- Modification and Enhancement will require RegEx expertise but this can probably be said for 90% of NLP apps

## Test Set Comparison

- Two demonstration archives representing demo organization A and B
- 20K Patients in each
- 5 Cases per patient = 100K reports
- Common Cancer Organ Sites, Procedure, Disease, Findings
- Names, Addresses, Phones pulled randomly from New Orleans White Pages
- All aspects of identified information randomized and permuted
- A few sentence templates instantiated in the Gross Description set

## Test Set Randomization

- Use LexBIG API to NCI Metathesaurus and NCI Thesaurus to generate mock Final Diagnosis sections
- Randomly Negated some Diseases and Findings with ***No evidence of***
- Use programmer derived sentence patterns to generate some sentences in need of DeIdentification.  Arbitrarily place these in the Gross Description section

## Example Test Report FD Section

- [Clinical History]
- This section has been ommitted.
- [Final Diagnosis]
- This sentence should not be redacted.
- Lung, Open Lung Biopsy
- 	Pulmonary edema NOS (disorder).
- 	 No evidence of Acute bronchitis (disorder).
- 	 No evidence of Occult Non-Small Cell Lung Carcinoma.
- 	Lung Carcinoma Metastatic to the Liver.
- 	CYP2C9, R150H.
- This sentence should not be redacted.

## Example Test Report GD Section

- [Gross Description]
- This sentence should not be redacted.
- Surgeon: Slattery.
- All consult information received from Memorial Medical Center
- .
- Accessioned into the lab as eed42e22-ffc3-11db-affe-f592c4a4c795.
- The patient resides at 4499 Jean Lafitte Blvd and can be reached during the day at 954657345.
- Recieved frozen sections from Louisian Department of Health and Hospitals
-  lab on Tue Sep 10 12:24:12 EDT 1968.
- This sentence should not be redacted.

## HIPPA Safe Harbor Identifiers [CPR 164.514(2)(i)] 

- Names of individuals, relatives, employers or household members
- Geographical subdivisions smaller than a state except the first 3 digits of zip codes; however if the region contains less than 20,000 people, the entire zip code must be replaced.
- All elements of dates (except year) directly relating to an individual; all ages over 89 years must be grouped into a single category of 90 or older
- Telephone numbers
- Fax numbers
- Electronic mail addresses
- Social security numbers
- Medical record numbers
- Health plan beneficiary numbers
- Other account numbers
- License numbers
- Vehicle identifiers
- Device identifiers and serial numbers
-  Web universal resource locators (URLs)
-  Internet protocol (IP) addresses
- Biometric identifiers
- Full face photographic images or any other comparable image
- Any other unique identifying number, characteristic or code

## Results Disclaimers

- MGH Scrubber was configured out of full context as a caTIES PlugIn with no consultation with Harvard SPIN team
- May have missed a key functional aspect
- Little or no localization enhancement was added for either De-Identifier
- Names from the randomizer were appended to the MGH Scrubber names list prior to run
- No formal analysis of results are available. This is an empirical study available for 2007 TBPT F2F

## CaTIES Ongoing Activities

- Work with Persistant for Consolidated Tissue System
- UPMC Intranet Community

## Example MGH Scrubber FD Section

- [Final Diagnosis]
- This sentence should not be redacted.
- Lung, Open xxxNAMExxx Biopsy
- 	Pulmonary edema NOS (disorder).
- 	 xxxNAMExxx evidence of Acute bronchitis (disorder).
- 	 xxxNAMExxx evidence of Occult Non-Small Cell xxxNAMExxx Carcinoma.
- 	Lung Carcinoma Metastatic to the Liver.
- 	CYPxxxxACCESSION_NEWxxxx R150H.
- This sentence should not be redacted.

## Example MGH Scrubber GD Section

- [Gross Description]
- This sentence should not be redacted.
- Surgeon: Slattery.
- All consult information receivedxxxxFACILITYxxxxinto the lab as eed4xxxxACCESSION_ODDxxxx11db-affe-f592cxxxxACCESSION_ODDxxxx
- The patient resides at 4499 xxxNAMExxx xxxNAMExxx Blvd and can be reached during the dayxxxxADDRESS2xxxx345.
- Recieved frozen sections from Louisian Department of Health and Hospitals
-  lab on Tue xxxNAMExxx 10 12:24:12 EDTxxxxYEAR_CENTURYxxxx
- This sentence should not be redacted.

## Example DeID Corp FD Section

- [Final Diagnosis]
- This sentence should not be redacted.
- Lung, Pneumonectomy
- 	 No evidence of Chronic Eosinophilic Pneumonia.
- 	Stage II Lung Cancer.
- 		 No evidence of Stage level 2.
- 	Stage IIIA Adenocarcinoma of the Lung.
- 	 No evidence of Lung Typical Carcinoid Tumor.
- 		Less than 2 Mitoses per 10HPF.
- 	Asbestos-Related Lung Carcinoma.
- This sentence should not be redacted.

## Example DeID Corp GD Section

- [Gross Description]
- This sentence should not be redacted.
- Consultation provided by **INSTITUTION
- .
- The surgery was performed by Dr. **INSTITUTION
- .
- Surgeon: Washington.
- Doctor Tedesco from **INSTITUTION
-  reviewed this case.
- Accessioned into the lab as 59d9ee94-ffcb-11db-9709-d3c601a4622c.
- This sentence should not be redacted.

## Conclusions

- DeID Corp seems more robust out of the box
- Doesn’t over scrub FD sections
- Seems to completely redact when it decides to do so
- DeID Corp appears to under scrub a number of proper names in GD
- MGH Scrubber is prone to over scrubbing but does seem to be precise in detecting places to scrub
- At times the scrub by MGH seems only partial and the tags for the scrub do not match what’s really there.
- In fact in the caTIES context indicating what’s been scrubbed is not as important

## Major Traps to Avoid

- Custom scrubber should avoid as much as possible over scrubbing important textual demarkation used in later stages of coding
- Avoid scrubbing negation pre, post, pseudo phrases
- Avoid scrubbing over section delimiters

## References

- _[http://spin.nci.nih.gov/](http://spin.nci.nih.gov/)_
- _[http://spin.nci.nih.gov/SPIN/content](http://spin.nci.nih.gov/SPIN/content)_
- _[http://](http://caties.cabig.upmc.edu/aaci/project.jsp)__[caties](http://caties.cabig.upmc.edu/aaci/project.jsp)__[.](http://caties.cabig.upmc.edu/aaci/project.jsp)__[cabig](http://caties.cabig.upmc.edu/aaci/project.jsp)__[.upmc.edu](http://caties.cabig.upmc.edu/aaci/project.jsp)_