基于语音输入的电子病历系统及利用该系统生成电子病历的方法与流程

文档序号:14251155阅读:951来源:国知局
基于语音输入的电子病历系统及利用该系统生成电子病历的方法与流程

本发明涉及一种电子病历系统以及生成电子病历的方法,具体涉及一种基于语音输入的电子病历系统及利用该系统生成电子病历的方法。



背景技术:

电子病历在医院的使用已经逐渐普及,结构化电子病历具有可自动跟踪发现结果,开展精确的疾病汇总统计和高效的病历检索等优点,多数医院已采用通过鼠标键盘组合,点选编辑结构化内容、补充非结构化内容的方式,生成结构化、半结构化电子病历,但这种输入方式耗时、操作繁琐。另外,部分医院已经采用外挂语音输入法的方式语音录入电子病历,但这种方式生成的是纯自然语言的病历,丢失了结构化电子病历的优点。



技术实现要素:

一种基于语音输入的电子病历系统,包括:

麦克风,用于供用户输入语音;

处理器,用于根据语音生成或选择文字数据将文字数据定位至预设的电子病历模板中的预设位置。

进一步地,基于语音输入的电子病历系统还包括:

第一触发器,用于供用户操作以使处理器处于定位模式;

处理器处于定位模式时,处理器根据麦克风输入的语音选择电子病历模板中的预设位置。

进一步地,基于语音输入的电子病历系统还包括:

第二触发器,用于供用户操作以使处理器处于输入模式;

处理器处于输入模式时,处理器根据麦克风输入的语音生成填充至电子病历模板中的预设位置的文字数据。

进一步地,基于语音输入的电子病历系统还包括:

第二触发器,用于供用户操作以使处理器处于输入模式;

处理器处于输入模式时,处理器根据麦克风输入的语音选择填充至电子病历模板中的预设位置的文字数据。

进一步地,所述基于语音输入的电子病历系统还包括:

存储器,用于存储电子病历模板通过语音输入生成的电子病历以及通过语音输入生成的电子病历。

一种基于语音输入的电子病历生成方法,包括如下步骤:

通过语音输入选择电子病历模板中的预设位置;

通过语音输入在电子病历模板中的预设位置输入或选择文字数据。

进一步地,基于语音输入的电子病历生成方法包括如下步骤:使电子病历模板生成为电子病历;将电子病历存储为指定格式的电子文件至服务器。

进一步地,基于语音输入的电子病历生成方法包括如下步骤:选择语音输入的用途以确定将要进行的语音输入是用于选择电子病历模板中的预设位置或是在电子病历模板中的预设位置输入或选择文字数据。

进一步地,基于语音输入的电子病历生成方法包括如下步骤:为电子病历模板中的预设位置设置规则,并根据规则对输入至预设位置的文字信息进行校对。

进一步地,基于语音输入的电子病历生成方法包括如下步骤:在通过语音输入选择电子病历模板中的预设位置后在该预设位置显示内容模板。

本发明的有益之处在于:

本发明将语音输入法整合到电子病历系统中,结合语音输入的便捷性,同时提供结构化电子病历模板。用户根据模板语音输入后识别生成结构化电子病历,实现电子病历的结构化及达到录入的便捷性。

附图说明

图1是本发明的基于语音输入的电子病历系统的一个优选实施例的示意框图;

图2是本发明的基于语音输入的电子病历生成方法的一个优选实施例的步骤示意框图;

图3是一个预设段落“既往史”的电子模板的截屏示意图;

图4是图3所示预设段落“既往史”的电子模板经过语音输入后生成的电子病历的截屏示意图;

图5是图4所示的电子病历在手动修改状态下的截屏示意图。

具体实施方式

如图1所示,一种基于语音输入的电子病历系统,包括:麦克风,处理器,第一触发器和第二触发器。

其中,麦克风用于供用户输入语音;处理器,用于根据语音生成或选择文字数据将文字数据定位至预设的电子病历模板中的预设位置。第一触发器用于供用户操作以使处理器处于定位模式。处理器处于定位模式时,处理器根据麦克风输入的语音选择电子病历模板中的预设位置。第二触发器用于供用户操作以使处理器处于输入模式;处理器处于输入模式时,处理器根据麦克风输入的语音生成填充至电子病历模板中的预设位置的文字数据。或者,处理器处于输入模式时,处理器根据麦克风输入的语音选择填充至电子病历模板中的预设位置的文字数据。

另外,该基于语音输入的电子病历系统还可以包括存储器,存储器用于存储电子病历模板通过语音输入生成的电子病历以及通过语音输入生成的电子病历。

另外,该基于语音输入的电子病历系统还可以包括显示器,用于显示电子病历。

以上麦克风,处理器,第一触发器,第二触发器,存储器以及电子病历可以集成在一个专门的设备然后接入网络或服务器系统。

作为另一种方案,可以将麦克风,第一触发器,第二触发器集成为一个类似会议话筒的装置,使其与计算机构成连接,使用计算机的处理器,存储器和显示器作为系统中的处理器,存储器和显示器。

当然,本发明系统也在其他配置方式,不应由于本发明系统中的各个部分由不同装置的部分组成而限制本发明的保护范围。

参照图2所示,以下通过图2介绍本发明的基于语音输入的电子病历生成方法。

一般而言,病历按照种类可分为门诊病历、急诊病历、住院病历,以复杂的住院病历为例,住院病历可分为入院记录、病程记录、知情同意书等。

以入院记录为例,可分为个人信息、主诉、现病史、既往史、个人史、家族史、一般情况、皮下粘膜、淋巴结、头部、眼部、耳部、鼻部、口腔、颈部、胸部、肺脏、心脏、血管、腹部、肛门与直肠及发生器、脊柱、四肢、神经系统等部分,为了方便说明,将本发明中电子病历中的这些部分定义为“预设段落”。在电子病历中,这些预设段落以电子模板的形式存在。

在以往生成电子病历的过程中,用户往往需要先选择预设段落然后开始进行输入。

在本发明的方法中,可以通过语音输入定位至预设段落。比如,在采用以上硬件方案时,用户可以通过按下一个功能按键,开启一个设定的模式,在该模式下,语音输入的内容是用来选择指定的预设段落的,比如此时,用户语音输入“既往史”则处理器将从系统中调出预设段落“既往史”的电子模板,并将其呈现给用户。

然后,用户按下另一个功能按键,开启另一个设定的模式,在该模式下,语音输入的内容是用来填充预设段落中预设的需要填充的内容。

当然,也可以采用一个按键去切换两种模式,而并非一定要采用两个独立的按键。

如图3所示,所调用的预设段落“既往史”的电子模板包括两个部分,其中一个部分为固定部分,比如图3中方括号之外的部分,另一部分为需要填充的部分,即方括号以内的部分,将这些需要填充的部分定义为“结构化元素”。结构化元素可以理解为将电子病历中特定的一些医学术语使用一种标记符号将其标记出来,比如在图3所示的事例中,通过方括号的形式将其标示出来,并对其进行编码、设置值域范围、设置只读、不可删除等各种属性。

对于标记出来的这些医学术语,可分为日期类型、数值类型(如于[数值]年)、简单选项类型(包含一个或多个选项,如否认[肝炎]等)、复杂选项类型(选项中嵌套有结构化元素选项如[于[数值]年前患有“[请输入慢性病名称])、自由文本类型(如[与本病无关病史])。该模板中的结构化元素用[]标记出来。

作为举例,如果以xml的格式去生成模板则如下所示:

<text>既往史:</text>

<fieldallowempty="0"code="11329-0"id="2015070251832"name="既往史">

<text>患者过去体质</text>

<fieldid="1000000419.2.20110512145308.5518"name="身体状况"type="1"/>

<text>。疾病史:</text>

<fieldallowempty="0"id="1000000031.3.20110512150622.9347"name="既往病史"type="2"maxvalue="-1">

<text>于</text>

<fieldallowempty="0"id="1000000416.1.20110512145308.3567"name="数值"valuetype="1"maxvalue="0"minvalue="0"codesystemname="lonic"/>

<text>年前患有“</text>

<fieldallowempty="0"id="1000000974.1.20110512145305.9727"name="基本输入框"codesystemname="lonic">

<text>请输入慢性病名称</text>

</field>

<text>”,服用</text>

<fieldallowempty="0"id="1000000974.1.20110512145305.9727"name="基本输入框"codesystemname="lonic">

<text>请输入药品名称</text>

</field>

<text>,现</text>

<fieldallowempty="0"id="1000000684.2.20110512145411.2246"name="治疗结果"type="1"codesystemname="lonic">

<text>痊愈</text>

</field>

</field>

<text>。传染病史:</text>

<fieldallowempty="0"id="1000000030.3.20110512150623.6773"name="传染病史"type="2"maxvalue="-1">

<text>否认</text>

<fieldallowempty="0"id="1000000450.2.20110512145322.5619"name="传染病史-多选"type="1"maxvalue="-1">

<text>肝炎</text>

</field>

<text>等传染病史</text>

</field>

<text>。预防接种史:</text>

<fieldallowempty="0"id="1000000013.3.20110512150623.5311"name="预防接种史"type="2"maxvalue="-1">

<text>预防接种史不详</text>

</field>

<text>。过敏史:</text>

<fieldid="1000000016.3.20110512150624.0196"name="药物过敏史"type="2">

<text>否认药物、食物过敏史</text>

</field>

<text>。手术史:</text>

<fieldallowempty="0"id="1000000014.3.20110512150625.1177"name="手术史"type="2"maxvalue="-1">

<text>否认手术史</text>

</field>

<text>。外伤史:</text>

<fieldallowempty="0"id="1000000017.3.20110512150625.7654"name="外伤史"type="2"maxvalue="-1">

<text>否认外伤史</text>

</field>

<text>。输血史:</text>

<fieldallowempty="0"id="1000000015.3.20110512150626.1111"name="输血史"type="2"maxvalue="-1">

<text>否认输血史</text>

</field>

<text>。中毒史:</text>

<fieldid="1000000198.3.20110512150627.5505"name="中毒史"type="2">

<text>否认中毒史</text>

</field>

<text>。长期用药:</text>

<fieldid="administrator.3.20170418111341.5700"name="长期用药"type="2">

<text>患者否认有长期用药史</text>

</field>

<text>。可能成瘾药物:</text>

<fieldid="administrator.3.20170418111601.7203"name="可能成瘾药物"type="2"/>

<text>。与本病无关病史:</text>

<fieldid="administrator.1.20170418112008.7904"name="与本病无关病史"/>

<text>,其它:</text>

在通过语音输入选择预设段落之后,用户可以直观地观察到如图3所示的电子病历模板的表现形式,然后根据模板提示,录入语音。但是在电子病历模板中存在多个结构化元素,用户在输入语音模式时具体针对的是哪一个结构化元素实际是需要解决的。

作为其中一种方式,用户仍然用于语音输入的方式,在指定了预设段落之后,再次输入语音以选择预设段落中的一个结构化元素,即选择预设段落中的一个预设位置,然后再切换模式针对该预设位置的结构化元素进行输入或编辑。

比如,用户按下第一个按钮,语音输入“既往史”然后系统将“既往史”的预设模式呈现给用户,用户再次按下第一按钮,语音输入“输血史”,然后再按第二个按钮,此时再输入的语音用于填充结构元素。

以上这样的方式,能实现数据输入和电子病历的生成,为了提高以上方式效率以及降低认为操作的频度,还可以采用如下的方案。

即在用户选择预设段落后,用户即可以开始按照模板内容开始进行语音输入,语音输入的内容先直接识别为自然语言文本。

然后,处理器根据自然语言文本中的关键词判断元素类型,比如在既往史的叙述中,用户语音输入生成的自然语言文本中包括了“手术史”的文字信息,处理器即将“手术史”作为关键词,并对相应的文本部分进行判断,这样的关键词定义为结构化关键词,然后根据结构化关键词判断文本内容属于预设段落中那一个结构化元素。

比如根据“出生日期”、“入院时间”、“记录时间”等结构化关键词判断为日期类型时,对自然文本纠错为合理的日期范围,并做日期类型结构化处理。

根据“身高”,“于_年前”等结构化关键词判断为数值类型时,对自然文本根据关键词约束数值范围,根据用户输入数值对相应单位校正,如输入为“身高:170米”校正为“身高:170厘米”并做数值类型结构化处理。

根据关键词判断为简单选项类型时,对于文本在对应选项中做出最佳匹配,选择最佳匹配并做结构化处理。如模板中“患者过去体质[身体状况]”,身体状况根据“患者过去体质”关键词判断为简单选项类型,匹配项目有“体健”、“身体良好”、“身体一般”、“身体差”;选择上述选项与输入匹配度最高的选项,进行结构化处理。匹配度由简单文字匹配相似度处理,若输入项与多个选项匹配度相同且为最高,则以一致的算法(如选项顺位)选出其中之一选项进行校正处理;若输入项与选项匹配度为0,则做出错误标记。

根据关键词判断为复杂选项类型时,对文本在该复杂选项范围中做出最佳匹配,同时对该选项内的文本继续基于结构化关键词判断类型,进行结构化操作。如模板中“疾病史:[于[数值]年前患有“[请输入慢性病名称]”,服用[请输入药品名称],现[痊愈]]”。

由“疾病史”判断气候文本为复杂选项类型,可选项为“无疾病史”、“有疾病史”、“无”、“不详”;选择上述选项与输入匹配度最高的选项,进行结构化处理。匹配度由简单文字匹配相似度处理,若输入项与多个选项匹配度相同且为最高,则以一致的算法(如选项顺位)选出其中之一选项进行校正处理;若输入项与选项匹配度为0,则做出错误标记。

根据关键词判断为自由文本类型时,对于文本不作处理,做出结构化标记。

整句无关键词时,判断为非结构化输入,对文本不做处理,不作标记。

通过这样的方式完成根据结构化元素的类型进行校正。

假设医生根据模板语音录入后识别文本为“患者过去身体尚可。疾病史:否认感冒、高血压等疾病史。传染病史:三年前患有结核,两年前患有疟疾,现痊愈。预防接种史:不详。过敏史:自述对青霉素、血清过敏。手术史:否认手术史。外伤史:否认外伤史。输血史:否认输血史。长期用药史:长期服用阿莫西林。”

结构化处理如下:对于“患者过去身体尚可”,“患者过去”为“身体状况”结构化关键词;“身体状况”为简单选项类型,可选项为“体健”、“身体良好”、“身体一般”、“身体差”;“身体尚可”输入与“身体良好”、“身体一般”结构化选项匹配度一致,按照选项顺序选择“身体良好”,故输出结果“患者过去[身体良好]”。

对于“疾病史:否认高血压等疾病史”,“疾病史”为“疾病史”结构化关键词;“疾病史”为复杂选项类型,可选项为“无疾病史”、“有疾病史”、“无”、“不详”;“否认高血压等疾病史”与“无疾病史”匹配,故整句加入结构化标记。再对“否认高血压疾病史等”文本进行结构化操作:“否认”为“无疾病史”关键词,可选项为“高血压”、“糖尿病”、“肾炎”、“血液病”、“冠心病”、“心脏病”、“慢性支气管炎”、“脑梗塞”,“感冒”无匹配选项,作出错误标记,“高血压”与“高血压”匹配,“等疾病史”无匹配选项,判定为非结构化内容,输出结果“疾病史:[否认感冒、[高血压]等疾病史]”。

对于“传染病史:三年前患有结核,两年前患有疟疾,现痊愈”,“传染病史”为“传染病史”结构化关键词;“传染病史”为复杂选项类型,可选项为“无传染病史”、“有传染病史”、“无”、“不详”;“三年前患有结核,两年前患有疟疾。”与“有传染病史”匹配,故整句加入结构化标记。再对“三年前患有结核,两年前患有疟疾”文本进行结构化操作:“三年前”为数值类型结构化关键词,对“三”作范围纠正及结构化标记;“患有”为简单选项类型结构化关键词,可选项有“肝炎”、“结核”、“疟疾”,“结核”与“结核”匹配;“两年前”为数值类型结构化关键词,对“两”作范围纠正及结构化标记;“患有”为简单选项类型结构化关键词,可选项有“肝炎”、“结核”、“疟疾”,“疟疾”与“疟疾”匹配。“现”为简单类型结构化关键词,可选项有“痊愈”、“迁延”、“未愈”、“好转”、“未治”,“痊愈”与“痊愈”匹配,最终输出结果“传染病史:[[3]年前患有[结核],[2]年前患有[疟疾],现[痊愈]]”。

对于“预防接种史:预防接种史不清楚”,“预防接种史”为“预防接种史”结构化关键词;“预防接种史”为复杂选项类型,可选项为“无预防接种史”、“有预防接种史”、“随当地进行”、“不详”;“预防接种史不清楚”与“预防接种史不详”匹配度最高,故输出“预防接种史:[预防接种史不详]”。

对于“过敏史:自述对青霉素、血清过敏”,“过敏史”为“过敏史”结构化关键词;“过敏史”为复杂选项类型,可选项为“有药物过敏史”、“无药物过敏史”、“不详”;“自述对青霉素、血清过敏”与“有药物过敏史”匹配,做结构化标记。再对“自述对青霉素、血清过敏”文本进行结构化操作:“自述对”为简单类型关键词,可选项为“青霉素”、“花粉”等过敏原,“青霉素”与“青霉素”匹配,“血清”与“血清”匹配,输出“过敏史:[对[青霉素][血清]过敏]”。

对于“手术史:否认手术史”,“手术史”为“手术史”结构化关键词;“手术史”为复杂选项类型,可选项为“无手术史”、“有手术史”、“不详”;“否认手术史”与“无手术史”匹配,输出“手术史:[否认[手术史]]”。“外伤史:否认外伤史”同理输出为“外伤史:[否认外伤史]]”。“输血史:否认输血史”同理输出为“[输血史:否认[输血史]]”。

对于“长期用药:长期服用阿莫西林”,“长期用药”为“长期用药”结构化关键词;“长期用药”为复杂选项类型,可选项为“有长期用药史”、“无长期用药史”、“不详”;“长期服用阿莫西林”与“有长期用药史”匹配,做结构化标记。再对“长期服用阿莫西林”文本进行结构化操作:“长期服用”为自由文本类关键词,所以对“阿莫西林”文本保留,整句作结构化标记,输出为“长期用药:[长期服用阿莫西林]”。

无论是人为还是系统,本发明的方法最终能将语音输入识别的文字信息定位至预设段落的预设位置。

如图5所示,本发明的方法可以对经过语音输入的电子病历进行修改。用户可以任意修改输出内容文字,结构化标识中替代文字存储至相应结构化类别中。用户可以双击结构化标识中文字,此时出现对应结构化类别选项,作出替换。

另外,用户可以通过点击系统界面中提供的保存按钮,然后系统会读取编辑框中的内容,转换成结构化xml电子病历,然后上传到支持xml存储的关系数据库中(sqlserver、oracle等)。

转换结果如下:

<text>既往史:</text>

<fieldallowempty="0"code="11329-0"id="2015070251832"name="既往史">

<text>患者过去体质</text>

<fieldid="1000000419.2.20110512145308.5518"name="身体状况"

type="1">

<text>身体良好</text>

</field>

<text>。疾病史:</text>

<fieldallowempty="0"id="1000000031.3.20110512150622.9347"name="既往病史"type="2"maxvalue="-1">

<text>否认感冒</text>

<fieldallowempty="0"id="1000000451.2.20110512145312.4134"name="既往病史"type="1"maxvalue="-1">

<text>“高血压”</text>

</field>

<text>等病史</text>

</field>

<text>。传染病史:</text>

<fieldallowempty="0"id="1000000030.3.20110512150623.6773"name="传染病史"type="2"maxvalue="-1">

<fieldallowempty="0"id="1000000416.1.20110512145308.3567"name="数值"valuetype="1"maxvalue="0"minvalue="0"codesystemname="lonic">

<text>3</text>

</field>

<text>年前患有“</text>

<fieldallowempty="0"id="1000000450.2.20110512145322.5619"name="传染病史-多选"type="1"codesystemname="lonic">

<text>结核</text>

</field>

<text>”,</text>

<fieldallowempty="0"id="1000000416.1.20110512145308.3567"name="数值"valuetype="1"maxvalue="0"minvalue="0"codesystemname="lonic">

<text>2</text>

</field>

<text>年前患有“</text>

<fieldallowempty="0"id="1000000450.2.20110512145322.5619"name="传染病史-多选"type="1"codesystemname="lonic">

<text>疟疾</text>

</field>

<text>”</text>

</field>

<text>。预防接种史:</text>

<fieldallowempty="0"id="1000000013.3.20110512150623.5311"name="预防接种史"type="2"maxvalue="-1">

<text>预防接种史不详</text>

</field>

<text>。过敏史:</text>

<fieldid="1000000016.3.20110512150624.0196"name="药物过敏史"type="2">

<text>自诉对</text>

<fieldallowempty="0"id="1000000449.2.20110512145325.1967"name="过敏史-多选"type="1"codesystemname="lonic">

<text>青霉素、血清</text>

</field>

<text>过敏</text>

</field>

<text>。手术史:</text>

<fieldallowempty="0"id="1000000014.3.20110512150625.1177"name="手术史"type="2"maxvalue="-1">

<text>否认手术史</text>

</field>

<text>。外伤史:</text>

<fieldallowempty="0"id="1000000017.3.20110512150625.7654"name="外伤史"type="2"maxvalue="-1">

<text>否认外伤史</text>

</field>

<text>。输血史:</text>

<fieldallowempty="0"id="1000000015.3.20110512150626.1111"name="输血史"type="2"maxvalue="-1">

<text>否认输血史</text>

</field>

<text>。长期用药:</text>

<fieldid="administrator.3.20170418111341.5700"name="长期用药"type="2">

<text>长期服用阿莫西琳</text>

总结以上的方法,本发明方法步骤概括为:

通过语音输入选择电子病历模板中的预设位置;

在通过语音输入选择电子病历模板中的预设位置后在该预设位置显示内容模板;

通过语音输入在电子病历模板中的预设位置输入或选择文字数据;

选择语音输入的用途以确定将要进行的语音输入是用于选择电子病历模板中的预设位置或是在电子病历模板中的预设位置输入或选择文字数据;

为电子病历模板中的预设位置设置规则,并根据规则对输入至预设位置的文字信息进行校对;

使电子病历模板生成为电子病历;将电子病历存储为指定格式的电子文件至服务器。

以上显示和描述了本发明的基本原理、主要特征和优点。本行业的技术人员应该了解,上述实施例不以任何形式限制本发明,凡采用等同替换或等效变换的方式所获得的技术方案,均落在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1