自然语言结构化处理工具-Apache UIMA Ruta使用(三)项目实战

本文介绍了在医疗领域中,如何通过Ruta脚本处理包含大量否定表述和复杂结构的门诊病历,以准确识别符合条件的症状并统计。脚本利用词表、正则表达式和逻辑判断,解决文本处理中的问题,实现对发热、呼吸道症状等关键信息的筛选和综合征分类。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、项目背景

项目要求,对医生书写的门诊病历及住院病程记录进行挖掘,找出符合条件的出现一定症状的患者,统计每日人数,所给的规则是这样的:

同时还含有补充条件:

常见的门诊病历是下面这样的:

主诉:患者XXX,男,69岁,因“反复气促、发热、咳嗽咳痰12天,加重1天”于2023-05-31 17 :40收入本区,伴有紫癜。

首记

患者基本信息:患者男,69岁。现病史:患者家属代诉患者于12前无明显诱因出现气促、发热,具体热型不详,伴有咳嗽咳痰,无恶心,无呕吐,

偶有胸闷,无胸痛,无腹痛腹泻,自服退热药物,未见明显好转,6天前患者症状加重,在家属陪同下至“XXXXXXXXXX医院”就诊,

行胸部CT检查示:

1.左肺上叶下舌段肿块影,不除外肿瘤病变,建议完善增强扫描及穿刺活检明确性质;纵膈内数枚增大或肿大淋巴结;

2.肺气肿伴肺大泡;双肺散在纤维化、间质性炎症,双侧胸膜增厚,建议治疗后复查;

心包少量积液,主动脉弓及左冠状动脉钙化斑;

左胸壁少许积气。

予高流量氧疗,予抗感染、化痰、维持内环境平衡等对症治疗后,症状好转后出院,现患者气促、咳嗽加重,今日遂来我院就诊

发育正常,营养中等,自主体位,步态不稳,表情痛苦,神志清楚,对答切题,查体合作。

全身浅表淋巴结未扪及肿大。无畸形。眉毛无脱落,眼睑无水肿、下垂、倒睫,

睑结膜无苍白、充血,球结膜无充血、水肿,巩膜无黄染,角膜透明,眼球运动灵活,无凸出、凹陷、震颤、运动障碍,

双侧瞳孔等大等圆,直径约3-4mm,对光反射灵敏,辐辏反射正常。耳廓正常,无畸形,无结节,无肿胀,外耳道未见异常分泌物 ,

粗测听力无下降,乳突区无压痛。鼻部个形无异常,无鼻翼扇动,鼻腔无异常分泌物,鼻中隔无偏曲,鼻窦区无压痛。

口唇发绀,口腔黏膜未见出血点及溃疡,伸舌

居外院胸部CT检查示:1.左肺上叶下舌段肿块影,不除外肿瘤病变,建议完善增强扫描及穿刺活检明确性质;纵膈内数枚增大或肿大淋巴结;

2.肺气肿伴肺大泡;双肺散在纤维化、间质性炎症,双侧胸膜增厚,建议治疗后复查;心包少量积液,主动脉弓及左冠状动脉钙化斑;左胸壁少许积气。

鉴别诊断:无

诊疗计划:1、重症监护、告病重。

2、完善相关辅助检查:三大常规、肝肾功能、生化检查、胸片、心电图等。

3、具体治疗用药方案:予抗感染、雾化稀释痰液促进痰液排出、维持酸碱电解质平衡及营养支持等治疗。

4.根据病情变化及时调整方案。

5.请示上级医师指导下一步诊疗方案。记录日期:2023-05-31 21:30

发热门诊

 二、面对的问题

1、首先可以较为明显的看到,这段文本描述中出现了很多否定性质的表述,比如“无”、“未见”等

2、有些否定表述是会夸标点的,比如“球结膜无充血、水肿”,

3、文章有比较明显的段落区分,有比较清晰的层次结构,

4、从文章中可以拿到就诊时间和患者症状的出现时间,如咳嗽咳痰12天

这种情况下,我们仅仅使用字符串匹配、或者正则表达式的话,一个是表达能力有限,另外一个是处理逻辑会跟代码耦合,不方便随时调整

三、脚本示例

前两章有对Ruta脚本有做简单介绍,

这里我把我这边处理这个问题的脚本放过来:

PACKAGE com.ll.syndrome;

//规则运行的主入口
TYPESYSTEM SyndromeTypeSystem;

DECLARE Annotation CaesuraSign;

//将需要用到的此表引入进来
WORDLIST KeyWord_Negative = '/wordList/KeyWord_Negative_Expression.txt';
WORDLIST KeyWord_Fever = '/wordList/KeyWord_Fever.txt';
WORDLIST KeyWord_Respiratory = '/wordList/KeyWord_Respiratory.txt';
WORDLIST KeyWord_Bleeding = '/wordList/KeyWord_Bleeding.txt';
WORDLIST KeyWord_Rash = '/wordList/KeyWord_Rash.txt';
WORDLIST KeyWord_Diarrhea = '/wordList/KeyWord_Diarrhea.txt';
WORDLIST KeyWord_Meningitis_1 = '/wordList/KeyWord_Meningitis_1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值