保存电子病历编辑内容的方法和终端设备与流程

文档序号:11918056阅读:472来源:国知局
保存电子病历编辑内容的方法和终端设备与流程

本申请涉及电子病历技术领域,尤其涉及一种保存电子病历编辑内容的方法和终端设备。



背景技术:

电子病历系统(electronic medical record system,EMRS)是医学专用软件。医院通过电子病历以电子化方式记录患者就诊的信息,包括:首页、病程记录、检查检验结果、医嘱、手术记录、护理记录等等,其中既有结构化信息,也有非结构化的自由文本,还有图形图像信息。涉及病人信息的采集、存储、传输、质量控制、统计和利用。

电子病历系统在应用的过程中,会因为各种原因导致医生丢失了正在编辑的病历内容。虽然病历内容是保存在文件服务器上,但正在编辑尚未保存的病历是存储在终端设备的内存中的,一旦出现掉电等不可逆转的情况,正在编辑的病历内容就会丢失,医生就需要重写病历,造成医生工作量的增加。



技术实现要素:

有鉴于此本申请实施例提供了一种保存电子病历编辑内容的方法和终端设备,用以解决现有技术中编辑的病历内容因意外情况而丢失的技术问题。

根据本申请实施例的一个方面,提供了一种保存电子病历编辑内容的方法,包括:

将处于预设状态下的第一电子病历文件另存为第二电子病历文件;读取所述第二电子病历文件的病历内容并计算所述病历内容的摘要值;在本地数据库中,更新所述第一电子病历文件对应的病历内容;将所述 摘要值、更新后的病历内容和所述第一电子病历文件更新时的关键数据在本地数据库对应保存并更新远程数据库中对应的操作日志表,所述操作日志表包括所述摘要值和关键数据。

根据本申请实施例的另一方面,提供了一种保存电子病历的终端设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为:

将处于预设状态下的第一电子病历文件另存为第二电子病历文件;读取所述第二电子病历文件的病历内容并计算所述病历内容的摘要值;在本地数据库中,更新所述第一电子病历文件对应的病历内容;将所述摘要值、更新后的病历内容和所述第一电子病历文件更新时的关键数据在本地数据库对应保存并更新远程数据库中对应的操作日志表,所述操作日志表包括所述摘要值和关键数据。

本申请实施例的有益效果包括:将处于编辑状态下的第一电子病历文件另存为第二电子病历文件并计算摘要值,根据第二电子病历文件的病历内容更新本地数据库中并将第一电子病历文件的摘要值以及关键数据保存到远程数据库,在终端设备针对第一电子病历文件的编辑操作因异常情况中断时,可利用本地数据库和远程数据库保存的摘要值和关键数据来作为判定病历内容恢复的依据,有利于减少因异常情况造成编辑病历内容的丢失,减少了医生书写病历的工作量,从而提高电子病历系统的使用效率。

附图说明

通过以下参照附图对本申请实施例的描述,本申请的上述以及其它目的、特征和优点将更为清楚,在附图中:

图1是本申请实施例提供的一种保存电子病历编辑内容的方法的流程示意图;

图2是本申请实施例提供的一种保存电子病历编辑内容的方法的流程示意图;

图3是本申请实施例的应用场景示意图;

图4时本申请实施例提供的一种保存电子病历的终端设备的框图。

具体实施方式

以下基于实施例对本申请进行描述,但是本申请并不仅仅限于这些实施例。在下文对本申请的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本申请。为了避免混淆本申请的实质,公知的方法、过程、流程、元件和电路并没有详细叙述。

此外,本领域普通技术人员应当理解,在此提供的附图都是为了说明的目的,并且附图不一定是按比例绘制的。

除非上下文明确要求,否则整个说明书和权利要求书中的“包括”、“包含”等类似词语应当解释为包含的含义而不是排他或穷举的含义;也就是说,是“包括但不限于”的含义。

在本申请的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是两个或两个以上。

本申请实施例,将处于新建或编辑状态下的电子病历文件的编辑内容另存在指定位置;通过异步线程在本地数据库中更新对应的电子病历文件的病历内容,并将该电子病历文件的病历内容、摘要值和关键数据更新至远程数据库的操作日志表,使得编辑的病历内容在本地丢失时能够通过远程(本地)数据库进行恢复,从而防止电子病历文件的编辑内容因异常情况而丢失。在对电子病历文件的编辑内容进行自动恢复时,根据预设算法来确定使用本地数据库还是远程数据库的病历内容进行恢复,从而恢复到最近保存的电子病历的编辑内容,减少医护人员重写电子病历的操作,提高医护人员的工作效率;使用多线程来完成上述编辑内容的保存以及预设算法的逻辑判断,降低主线程的阻塞时间,使用户(通常是医护人员)感受不到电子病历程序的反应延迟或卡顿。

图1是本申请实施例提供的一种保存电子病历编辑内容的方法,适用于终端设备,终端设备可以是移动电话,计算机,数字广播终端,消息收发设备,平板设备,医疗设备,健身设备,医疗管理控制台等。如图1所示,该方法包括以下步骤S100-S103,其中,S100在主线程下完成,S101-S103在该主线程之外的异步线程下完成。

S100,将处于预设状态下的第一电子病历文件另存为第二电子病历 文件。

所述预设状态包括新建状态和编辑状态。编辑状态是指对已有的电子病历文件被打开并进一步编辑的状态,而新建状态是指新创建一个电子病历文件并进行编辑的状态。

当判定出电子病历文件处于上述状态时,终端设备定期将该电子病历文件的编辑内容另存到指定文件。第一电子病历文件处于上述预设状态时,在本地存储器的指定位置生成一个第二电子病历文件,将第一电子病历文件产生的编辑内容同步保存到第二电子病历文件。第一电子病历文件与第二电子病历文件存在对应关系,这种对应关系可通过病历文件标识的对应来实现,将第一电子病历文件和第二电子病历文件的病历文件标识采用相同的预设规则生成,例如根据病人标识、入院次数和病历序号按照预设算法生成唯一特定的字符串,将该字符串作为病历文件标识,使每位病人的病历文件标识都是唯一的;或者,这种对应关系还可以通过硬链接的方式实现,即第一电子病历文件和第二电子病历文件在该终端设备的文件系统中具有相同的节点号,即使二者的文件名不同也能够实现文件内容的同步。

S101,读取第二电子病历文件的病历内容并计算病历内容的摘要值。

异步线程读取第二电子病历文件的病历内容根据预设算法计算摘要值,例如MD5、RSA、DES等算法。

S102,在本地数据库中,更新第一电子病历文件对应的病历内容。

在读取第二电子病历文件的病历内容之后,判定本地数据库是否存有对应的第一电子病历文件的病历内容。如果是处于编辑状态的第一电子病历文件,本地数据库中存有该第一电子病历文件在本次编辑之前的病历内容和摘要值,将根据第二电子病历文件的病历内容计算得到的摘要值与本次编辑之前保存的摘要值进行比对,如果一致,则不需要对病历内容进行更新,如果不一致,则将读取到的第二电子病历文件的病历内容保存在本地数据库。如果是处于新建编辑状态下的电子病历文件,本地数据库中还不存在该第一电子病历文件的病历内容,那么在本地数据库中新增该第一电子病历文件的病历内容,新增的病历内容就是从第二电子病历文件读取的病历内容。

S103,将摘要值、更新后的病历内容和第一电子病历文件更新时的关键数据在本地数据库对应保存并更新远程数据库中对应的操作日志表,所述操作日志表包括摘要值和关键数据。

关键数据用于反映病历内容更新的时效性,包括但不限于病历内容更新时的时间、设备、编辑操作人员等信息中的一种或多种。

远程数据库是设置在本地设备之外的远程存储,例如设置在医院电子病历系统内的文件存储服务器。在远程数据库中,保存着每个电子病历文件对应的操作日志表。操作日志表用于记录对应的电子病历文件更新时的摘要值和关键数据,操作日志表可以只记录最近一次更新的摘要值和关键数据时,也可以将历次更新的摘要值和关键数据全部记录,以便能够反映出病历内容的变化历程。

在本地数据库中将更新后的第一电子病历文件的病历内容、根据第二电子病历文件的病历内容计算的摘要值以及关键数据对应保存。对于处于编辑状态下的第一电子病历文件,其病历内容更新后,从本地数据库中将本次编辑之前的病历内容删除。同时,或者在上述对应保存结束之后,将摘要值和关键数据发送至远程数据库所在的服务器并写入操作日志表。摘要值对应着第一电子病历文件的更新后的病历内容,将更新后的病历内容以及关键数据备份在远程数据库,从而在终端设备针对第一电子病历文件的编辑操作因异常情况中断时,可利用远程数据库中保存的关键数据作为判定病历内容恢复的依据,有利于减少因异常情况造成的编辑的病历文件内容的丢失。还可以周期性的执行上述步骤S100-S103,使在编辑状态下的病历内容能够周期性的在本地数据库更新并备份到远程数据库。

如果出现了第一电子病历文件的编辑操作被异常情况中断的情况,那么本申请实施例提供的保存电子病历编辑内容的方法进一步包括以下步骤。

S104,在第一电子病历文件的编辑操作被异常情况中断后,读取远程数据库中对应的操作日志表。

终端设备再次打开该第一电子病历文件,在完全恢复编辑操作之前,读取远程数据库中的对应的操作日志表,得到最近一次记录的摘要值和 关键数据。

S105,从本地数据库中读取第一电子病历文件对应的摘要值、病历内容和关键数据。

S106,判断本地数据库的摘要值和操作日志表的摘要值是否相同。当本地数据库的摘要值和操作日志表的摘要值相同时,执行S107;当本地数据库的摘要值和操作日志表的摘要值不相同时,执行S108。

S107,使用从本地数据库读取的病历内容恢复第一电子病历文件的编辑操作。

本地数据库的摘要值和操作日志表的摘要值相同时,代表本地数据库保存的病历内容与远程数据库相同,则可以直接利用本地数据库保存的病历内容来恢复编辑操作。

S108,判断本地数据库的病历内容的修改时间是否晚于操作日志表中的修改时间。

此时,关键数据中的时间信息记录了病历内容的修改时间(或称为更新时间)。当本地数据库的病历内容的修改时间晚于操作日志表中的修改时间时,代表本地数据库保存的病历内容更接近最近的编辑内容,执行S107;当本地数据库的病历内容的修改时间早于操作日志表中的修改时间时,代表远程数据库保存的病历内容更接近最近的编辑内容,执行S109。

S109,显示从本地数据库读取的病历内容和操作日志表中的摘要值对应的病历内容的对比界面。

此时,远程数据库保存的病历内容更接近最近的编辑内容,依据远程数据库的病历内容恢复之前,通过对比两种病历内容的让用户再次确认,以确保恢复的病历内容与当前时间更接近,尽可能的减少重写电子病历的情况,提高工作效率。

在一个实施例中,该关键数据还可以包括设备标识,设备标识是指对第一电子病历文件进行编辑的终端设备标识,例如设备名称、MAC地址等等。在S101执行完毕之后,执行S102之前,本申请实施例还可以进一步包括以下步骤。

S111,判断当前设备的设备标识与操作日志表中的设备标识是否相 同。当前设备的设备标识与操作日志表中的设备标识相同时,执行S103;当前设备的设备标识与操作日志表中的设备标识不相同时,执行S112。

S112,提示用户利用与操作日志表中的设备标识对应的设备继续操作。防止病人的病历信息被他人浏览或窃取,有利于防止泄露病人的个人信息和隐私。

在一个实施例中,关键数据还可以包括修改人信息和病人信息。在S105执行完毕之后,在执行S106之前,本申请实施例还可以包括以下步骤。

S113,判断读取到的关键数据是否包括修改人信息和病人信息。

修改人信息是指修改病历内容的医护人员信息,病人信息包括病人的个人信息(如姓名、社保号码等)、病历编号等。当读取到的关键数据包括修改人信息和病人信息时,执行S106;当读取到的关键数据不包括修改人信息和病人信息时,执行S114。

S114,提示第一电子病历文件已被破坏。

当关键数据不存在修改人信息和病人信息时,代表终端设备本地保存的该病历文件的内容已不完整,很可能已被破坏,此时提示用户查找原因或者重新创建该病人的电子病历。

在一个实施例中,S101执行完毕之后,本申请实施例还可以包括以下步骤。

S115,删除第二电子病历文件。无论该第二电子病历文件在文件系统中是独立的文件还是属于硬链接文件,都予以删除,以节省本地存储空间。在这种情况下,终端设备可以定期将正在被编辑的第一电子病历文件另存为第二电子病历文件,在成功读取第二电子病历文件的病历内容后,就删除该第二电子病历文件,依此往复。

需要说明的是,上述各种逻辑判断过程可以分别出现在不同的实施例中,分别实现对应的效果;也可以同时出现在同一个实施例中,使各自效果在该实施例中同时体现。此外,上述各种逻辑判断过程可利用多线程方式分别实现,减少主线程的阻塞时间,使用户感觉不到电子病历程序的延迟或卡顿,不影响用户正常操作。

如图2所示,本地数据库30被配置在终端设备31的存储器,终端 设备31与远程服务器32通信连接并能够访问被配置在远程服务器32的远程数据库33。本申请实施例提供的上述保存电子病历编辑内容的方法可以被应用在以下场景。

A、医护人员在终端设备31编辑病历内容时,终端设备31突然断电导致编辑操作被中断。终端设备31电源恢复正常后,医护人员开机并再次打开该病历文件时,终端设备31从远程数据库33读取对应的操作日志表,根据操作日志表中的摘要值与本地数据库30中该病历文件的摘要值进行比对,从而根据对应的判断逻辑来恢复已编辑的病历内容。

B、医护人员在终端设备31编辑病历内容时,进行了一些误操作或无意义操作,导致该病历文件的进程卡死,无法再对该病历文件进行正常操作,而只能强行结束该进程。再次启动该病历文件的进程时,终端设备31从远程数据库33读取对应的操作日志表,根据操作日志表中的摘要值与本地数据库30中该病历文件的摘要值进行比对,从而根据对应的判断逻辑来恢复已编辑的病历内容。

C、终端设备31与远程服务器32的通信连接出现了中断,与远程服务器32之间无法进行数据传输,从而无法访问远程数据库33。当检测到与远程服务器32的通信连接恢复时,终端设备31从远程数据库33读取对应的操作日志表,根据操作日志表中的摘要值与本地数据库30中该病历文件的摘要值进行比对,从而根据对应的判断逻辑来恢复已编辑的病历内容。

在一个实施例中,电子病历文件的病历内容以结构化的可扩展标记语言(Extensible Markup Language,XML)文档的形式进行存储,组成小型关系型本地数据库,以保证本地存储的病历内容只能被破坏但不能被篡改。

此外,本申请实施例中可以通过硬件处理器(hardware processor)来实现上述各个功能步骤。

如图3所示,本申请实施例提供了一种保存电子病历的终端设备,包括处理器20;

用于存储处理器20可执行指令的存储器21;

其中,处理器20被配置为:

将处于预设状态下的第一电子病历文件另存为第二电子病历文件;读取第二电子病历文件的病历内容并计算所述病历内容的摘要值;在本地数据库中,更新第一电子病历文件对应的病历内容;将摘要值、更新后的病历内容和第一电子病历文件更新时的关键数据在本地数据库对应保存并更新远程数据库中对应的操作日志表,操作日志表包括摘要值和关键数据。

在一个实施例中,处理器20进一步被配置为:

在第一电子病历文件的编辑操作被异常情况中断后,读取远程数据库中对应的操作日志表;从本地数据库中读取第一电子病历文件对应的摘要值、病历内容和关键数据;判断本地数据库的摘要值和操作日志表的摘要值是否相同;当本地数据库的摘要值和操作日志表的摘要值相同时,使用从本地数据库读取的病历内容恢复第一电子病历文件的编辑操作。

在一个实施例中,关键数据包括病历内容的修改时间;处理器20进一步被配置为:

当本地数据库的摘要值和操作日志表的摘要值不相同时,判断本地数据库的病历内容的修改时间是否晚于操作日志表中的修改时间;

当本地数据库的病历内容的修改时间晚于操作日志表中的修改时间时,使用从本地数据库读取的病历内容恢复第一电子病历文件的编辑操作;当本地数据库的病历内容的修改时间早于操作日志表中的修改时间时,显示从本地数据库读取的病历内容和操作日志表中的摘要值对应的病历内容的对比界面。

在一个实施例中,关键数据包括设备标识;

读取远程数据库中对应的操作日志表之后,处理器20进一步被配置为:

判断当前设备的设备标识与操作日志表中的设备标识是否相同;当前设备的设备标识与操作日志表中的设备标识不相同时,提示用户利用与所述操作日志表中的设备标识对应的设备继续操作。

在一个实施例中,关键数据包括修改人信息和病人信息;从本地数 据库中读取第一电子病历文件对应的摘要值、病历内容和关键数据之后,处理器20进一步被配置为:

判断读取到的关键数据是否包括修改人信息和病人信息;当读取到的关键数据不包括修改人信息和病人信息时,提示第一电子病历文件已被破坏。

在一个实施例中,在第一电子病历文件的编辑操作被异常情况中断后,读取远程数据库中对应的操作日志表包括:

检测到因断电导致第一电子病历文件的编辑操作被中断并且再次打开所述第一电子病历文件时,读取所述远程数据库中对应的操作日志表;或者,检测到因误操作导致所述第一电子病历文件的进程异常结束时,读取所述远程数据库中对应的操作日志表;或者,检测到与所述远程数据库的通信连接出现中断,在所述通信连接恢复时,读取所述远程数据库中对应的操作日志表。

在一个实施例中,读取第二电子病历文件的内容并计算内容的摘要值之后,处理器20进一步被配置为:

删除第二电子病历文件。

在一个实施例中,在本地数据库中,更新第一电子病历文件对应的病历内容包括:

在本地数据库中,根据病历文件标识更新第一电子病历文件对应的病历内容,病历文件标识根据病人标识、入院次数和病历序号按照预设算法生成。

本领域的技术人员应明白,本申请的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现 流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述仅为本申请的优选实施例,并不用于限制本申请,对于本领域技术人员而言,本申请可以有各种改动和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

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