用于医疗管理的计算机屏幕信息提取方法

文档序号:6597253阅读:191来源:国知局
专利名称:用于医疗管理的计算机屏幕信息提取方法
技术领域
本发明涉及一种基于屏幕的不同封闭系统间信息数据交换方法,具体地说是从一个封闭的HIS系统中提取需要的特定文本信息,并将信息输入到另一 PACS系统中供医疗管理使用的方法。
背景技术
PACS (Picture Archiving and Communication System)景;像归档与通讯系统,是目前医院医技科室在放射、超声、内窥、病理、核医学等影像检查中使用的计算机和网络技术,是医院用于替代传统业务方式的技术手段和业务模式。 HIS (Hospital Information System)医院信息管理系统,利用电子计算机和通讯设备,为医院所属各部门提供对病人诊疗信息和行政管理信息的收集、存储、处理、提取及数据交换,以满足所有授权用户的功能需求。其中包括患者到医院后,自门诊挂号至诊疗完成——就诊流程中,涉及的患者基本情况、病史和诊疗信息以及与诊疗相关的医务人员、医疗科室的业务信息。 由于PACS和HIS两者分属完全不同类型的计算机系统,由不同的厂家开发完成,并且没有提供供外部其他程序系统访问获取相关信息的调用接口,故医技科室在使用HIS系统工作站程序浏览患者信息时,必须到PACS系统重复手工输入HIS系统中显示的患者信息,既增加了工作量,也增加了人为原因出现差错的几率。

发明内容
本发明的目的在于,克服现有医疗管理中,只能以人工方式实现患者信息、诊断信息不同系统的录入之不足,提供一种能减少重复劳动,降低错误发生几率,实现不同系统间信息的自动获取和信息的自动转发的功能——计算机屏幕信息提取的数据交换技术。
本发明是这样实现的对图像归档通讯系统(PACS),使用窗口钩子函数(SetWindowHook)设置鼠标钩子,以及时响应鼠标消息并获取鼠标停留窗口对应的应用程序。通过使用获取进程地址函数(GetProcAddress)取得程序进程入口 (API)的前五个字节,使用其中4个字节的地址设置系统应用程序接口 (API)钩子。调用系统内部钩子运行函数(AllocCsToDsAlias),使系统先执行程序进程入口 (API)钩子。当鼠标移动后,鼠标钩子截获鼠标周围一定范围内屏幕输出的文本信息,使用对话框显示文本内容并由操作人员确认。鼠标移动到文本信息输出的位置,使用右键菜单的文本输出按钮,使用与获取屏幕输出信息相同的方式,获取接收信息录入文本信息的应用程序地址和文本输出位置,由操作者点击确认后完成文本数据信息的传递。 众所周知在Windows系统中,所有屏幕字符输出都是调用文本输出函数(Text0utW和ExtText0utW)实现屏幕显示字符信息功能。比较国内现有类似的金山词霸屏幕取词技术屏幕取词技术是调用操作系统底层接口 ,通过鼠标光标选择,实现电脑屏幕显示文本内容的提取,进而完成对提取得到文本信息的语言翻译。实现了 Windows操作系统下不同封闭系统间的数据信息的自动获取和传递交换。 本发明克服PACS和HIS不同系统间,因没有设计信息调取接口必须以人工方式实现患者信息、诊断信息不同系统的录入,提供一种能通过提取电脑屏幕显示信息,实现不同系统间信息的自动获取和信息的自动转发的功能。它不单实现了信息的提取,同时还实现了将所得信息填写输入到其他系统的操作。在从电脑屏幕自动获取的医院信息系统文本数字信息(中英文和阿拉伯数字)的同时,使用Windows底层SDK函数,将提取发送到PACS系统中。满足了 PACS系统提取HIS系统患者信息的要求,最大程度的减少了医务人员在PACS系统中对患者HIS信息的重复录入,提高了医务人员的工作效能,降低了因人为疏忽导致患者信息差错引发医疗事故和医患纠纷的可能性。


图1.本发明之计算机屏幕信息提取方法的示意流程图
图l流程设计图
具体实施例方式下面结合附图对本发明的实施方式进行详细说明。本实施例以下述程序进行
设置系统钩子使用窗口钩子函数(SetWindowHook)设置鼠标钩子,以及时响应鼠标消息并获取鼠标停留窗口对应的HIS应用程序。 取得进程地址调用函数(GetProcAddress)取得程序进程入口 (API)的前五个字
节,使用其中4个字节的地址设置系统HIS应用程序接口 (API)钩子。 运行系统钩子调用系统内部钩子运行函数(AllocCsToDsAlias)完成对屏幕显
示输出内容截获监控。 文本信息输出使用进程地址,监控文本输出函数(Text0utW和ExtText0utW)开头执行跳转(加P)语句,跳转到自己的处理代码里。内部过程当鼠标在屏幕一区域停留后,取得鼠标当前位置后以鼠标位置为中心生成一个矩形,并给操作系统挂上API钩子,使用重绘矩形函数(InvalidateRect)让这个矩形产生重画消息,通过应用程序接口 (API)钩子截获输出字符。生成矩形的过程,使用了自适应算法。在电脑鼠标移动式时调用获取光标位置函数(GetCursorPos)和获取窗口函数(WindowFromPoint)获取鼠标位置下的控件的句柄,使用获取窗口属性函数(GetWindowLong)取得控件的类型和显示字符和字符显示尺寸。依照字符显示尺寸调整矩形的大小。首次绘制矩形以鼠标位置为中心,使用字符尺寸的1. 5倍行高为高、3倍行高宽度,当API钩子截获字符后,按照向左、向右交替每次宽带增加一倍字符行高的方式,分别向左右两个方向扩展矩形尺寸。将每次新截获的字符字符与上次截获字符比较,当截获首字符不再增加时,停止向左的矩形尺寸扩展。同样,当尾字符不再增加是,停止向右的矩形尺寸扩展。确保API钩子截获的字符信息完整准确,提高信息获取的准确性。如果API钩子截获的字符,则将字符保存。 获取光标位置并执行取得进场地址操作,取得需要输入文本信息PACS应用程序的地址。通过调用获取光标位置函数(GetCursorPos)和获取窗口函数(WindowFromPoint)获取鼠标位置下输入窗口的控件的句柄,并使用获取窗口属性函数(GetWindowLong)函数取得控件的类型,如果控件类型为编辑(Edit或Tedit)。 设置窗口文本当操作者使用鼠标右键菜单确认信息输出,使用查询窗口函数 (FindWindow和FindWindowEx)依次获取窗口句柄和输入控件句柄,并自动完成信息录入 操作。则将已获取的文本信息输出使用设置窗口文本函数(SetWindowText)填写到鼠标位 置处控件的输入框中。
权利要求
用于医疗管理的计算机屏幕信息提取方法,其特征在于,包括以下步骤1)设置系统钩子使用窗口钩子函数SetWindowHook设置鼠标钩子,以及时响应鼠标消息并获取鼠标停留窗口对应的HIS应用程序;2)取得进程地址调用函数GetProcAddress取得程序进程入口API的前五个字节,使用其中4个字节的地址,设置系统HIS应用程序接口API钩子;3)运行系统钩子调用系统内部钩子运行函数AllocCsToDsAlias,完成对屏幕显示输出内容截获监控;4)文本信息输出使用进程地址,监控文本输出函数TextOutW和ExtTextOutW,开头执行跳转jmp语句,跳转到自己的处理代码里;当鼠标在屏幕一区域停留后,取得鼠标当前位置后,以鼠标位置为中心生成一个矩形,并给操作系统挂上API钩子;使用重绘矩形函数InvalidateRect,让这个矩形产生重画消息,通过应用程序接口API钩子截获输出字符;在电脑鼠标移动时,调用获取光标位置函数GetCursorPos和获取窗口函数WindowFromPoint获取鼠标位置下的控件的句柄;使用获取窗口属性函数GetWindowLong取得控件的类型和显示字符和字符显示尺寸;依照字符显示尺寸调整矩形的大小,首次绘制矩形以鼠标位置为中心,使用字符尺寸的1.5倍行高为高、3倍行高为宽度,当API钩子截获字符后,按照向左、向右交替每次宽带增加一倍字符行高的方式,分别向左右两个方向扩展矩形尺寸;将每次新截获的字符字符与上次截获字符比较,当截获首字符不再增加时,停止向左的矩形尺寸扩展;同样,当尾字符不再增加是,停止向右的矩形尺寸扩展。确保API钩子截获的字符信息完整准确,提高信息获取的准确性;如果API钩子截获的字符,则将字符保存;5)获取光标位置并执行取得进场地址操作,取得需要输入文本信息PACS应用程序的地址;通过调用获取光标位置函数GetCursorPos和获取窗口函数WindowFromPoint,获取鼠标位置下输入窗口的控件的句柄,并使用获取窗口属性函数GetWindowLong函数取得控件的类型;6)设置窗口文本当操作者使用鼠标右键菜单确认信息输出,使用查询窗口函数FindWindow和FindWindowEx依次获取窗口句柄和输入控件句柄,并自动完成信息录入操作;将已获取的文本信息输出使用设置窗口文本函数SetWindowText填写到鼠标位置处控件的输入框中;当需要重复文本信息传输录入操作时,窗口钩子持续监控HIS应用程序鼠标已经选定区域,当屏幕输出的文本显示信息发生变化时,自动提取文本信息并将文本内容填写到PACS应用程序中对应的窗口控件中,完成文本信息的自动传输交换。
全文摘要
本发明涉及一种从封闭的HIS系统中提取需要的特定文本信息,并将信息输入到另一PACS系统中供医疗管理使用的方法。通过设置系统钩子、取得进程地址、运行系统钩子、文本信息输出、获取光标位置、设置窗口文本等程序,完成文本信息的自动传输交换。本发明提供了一种能通过提取电脑屏幕显示信息,实现不同系统间信息的自动获取和信息的自动转发的功能,满足了PACS系统提取HIS系统患者信息的要求,提高了医务人员的工作效能,降低了因人为疏忽导致患者信息差错引发医疗事故和医患纠纷的几率。
文档编号G06F9/44GK101782852SQ201010013620
公开日2010年7月21日 申请日期2010年1月19日 优先权日2010年1月19日
发明者任杨, 熊友生, 罗彦博, 闫利军, 马天德 申请人:西安华海医疗信息技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1