演绎:荷兰医学文本的识别方法
deduce的Python项目详细描述
推导:荷兰医学文本的去识别方法
此项目包含用于推断的代码:如Menger et al (2017)中所述的荷兰语医学文本的反标识方法。医学文本的去识别是利用文本数据进行分析,符合法律要求,保护患者隐私的需要。在我们的基于健康模式的匹配方法中,删除了以下基于健康模式的PHI:
- 人名,包括姓名首字母
- 地理位置比一个国家小
- 与患者治疗相关的机构名称
- 日期
- 年龄
- 患者编号
- 电话号码
- 电子邮件地址和URL
该方法的开发和工作及其验证的详细信息见:
演示
代码的交互式演示可以在here找到
先决条件
nltk
安装
安装可以通过pip和git完成:
>>>pipinstalldeduce
或者从源代码下载并使用python安装:
^{pr2}$入门
该包有一个用于注释(annotate_text
)和删除注释(deidentify_annotations
)的方法。在
importdeducededuce.annotate_text(text,# The text to be annotatedpatient_first_names="",# First names (separated by whitespace)patient_initials="",# Initialpatient_surname="",# Surname(s)patient_given_name="",# Given namenames=True,# Person names, including initialslocations=True,# Geographical locationsinstitutions=True,# Institutionsdates=True,# Datesages=True,# Agespatient_numbers=True,# Patient numbersphone_numbers=True,# Phone numbersurls=True,# Urls and e-mail addressesflatten=True# Debug option)deduce.deidentify_annotations(text# The annotated text that should be de-identified)
示例
>>>importdeduce>>>text=u"Dit is stukje tekst met daarin de naam Jan Jansen. De patient J. Jansen (e: j.jnsen@email.com, t: 06-12345678) is 64 jaar oud enwoonachtiginUtrecht.Hijwerdop10oktoberdoorartsPeterdeVisserontslagenvandekliniekvanhetUMCU.">>>annotated=deduce.annotate_text(text,patient_first_names="Jan",patient_surname="Jansen")>>>deidentified=deduce.deidentify_annotations(annotated)>>>print(annotated)"Dit is stukje tekst met daarin de naam <PATIENT Jan Jansen>. De <PATIENT patient J. Jansen> (e: <URL j.jnsen@email.com>, t: <TELEFOONNUMMER 06-12345678>) is<LEEFTIJD64>jaaroudenwoonachtigin<LOCATIEUtrecht>.Hijwerdop<DATUM10oktober>doorarts<PERSOONPeterdeVisser>ontslagenvandekliniekvanhet<INSTELLINGumcu>.">>>print(deidentified)"Dit is stukje tekst met daarin de naam <PATIENT>. De <PATIENT> (e: <URL-1>, t: <TELEFOONNUMMER-1>) is <LEEFTIJD-1> jaar oud en woonachtig in <LOCATIE-1>.Hijwerdop<DATUM-1>doorarts<PERSOON-1>ontslagenvandekliniekvanhet<INSTELLING-1>."
配置
data/
文件夹中的查找列表可以根据用户的特定需求进行定制。特别推荐在机构名称列表中使用,因为默认情况下,它们是根据方法的开发和测试位置定制的。正则表达式可以在annotate.py
中修改,这与建议检测患者编号的原因相同。在
贡献
我们非常欢迎对Devere项目的贡献-请随时通过问题或电子邮件与作者联系。在
版本控制
1.0.2-发布到PyPI
1.0.1-无输入的小错误修复
1.0.0-初始版本
作者
- Vincent Menger-初始工作
- Jonathan de Bruin-Code review
许可证
此项目是在GNU LGPLv3许可下授权的-有关详细信息,请参阅LICENSE.md文件
- 项目
标签: