專利名稱:用于醫(yī)療管理的計算機(jī)屏幕信息提取方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種基于屏幕的不同封閉系統(tǒng)間信息數(shù)據(jù)交換方法,具體地說是從一個封閉的HIS系統(tǒng)中提取需要的特定文本信息,并將信息輸入到另一 PACS系統(tǒng)中供醫(yī)療管理使用的方法。
背景技術(shù):
PACS (Picture Archiving and Communication System)景;像歸檔與通訊系統(tǒng),是目前醫(yī)院醫(yī)技科室在放射、超聲、內(nèi)窺、病理、核醫(yī)學(xué)等影像檢查中使用的計算機(jī)和網(wǎng)絡(luò)技術(shù),是醫(yī)院用于替代傳統(tǒng)業(yè)務(wù)方式的技術(shù)手段和業(yè)務(wù)模式。 HIS (Hospital Information System)醫(yī)院信息管理系統(tǒng),利用電子計算機(jī)和通訊設(shè)備,為醫(yī)院所屬各部門提供對病人診療信息和行政管理信息的收集、存儲、處理、提取及數(shù)據(jù)交換,以滿足所有授權(quán)用戶的功能需求。其中包括患者到醫(yī)院后,自門診掛號至診療完成——就診流程中,涉及的患者基本情況、病史和診療信息以及與診療相關(guān)的醫(yī)務(wù)人員、醫(yī)療科室的業(yè)務(wù)信息。 由于PACS和HIS兩者分屬完全不同類型的計算機(jī)系統(tǒng),由不同的廠家開發(fā)完成,并且沒有提供供外部其他程序系統(tǒng)訪問獲取相關(guān)信息的調(diào)用接口,故醫(yī)技科室在使用HIS系統(tǒng)工作站程序?yàn)g覽患者信息時,必須到PACS系統(tǒng)重復(fù)手工輸入HIS系統(tǒng)中顯示的患者信息,既增加了工作量,也增加了人為原因出現(xiàn)差錯的幾率。
發(fā)明內(nèi)容
本發(fā)明的目的在于,克服現(xiàn)有醫(yī)療管理中,只能以人工方式實(shí)現(xiàn)患者信息、診斷信息不同系統(tǒng)的錄入之不足,提供一種能減少重復(fù)勞動,降低錯誤發(fā)生幾率,實(shí)現(xiàn)不同系統(tǒng)間信息的自動獲取和信息的自動轉(zhuǎn)發(fā)的功能——計算機(jī)屏幕信息提取的數(shù)據(jù)交換技術(shù)。
本發(fā)明是這樣實(shí)現(xiàn)的對圖像歸檔通訊系統(tǒng)(PACS),使用窗口鉤子函數(shù)(SetWindowHook)設(shè)置鼠標(biāo)鉤子,以及時響應(yīng)鼠標(biāo)消息并獲取鼠標(biāo)停留窗口對應(yīng)的應(yīng)用程序。通過使用獲取進(jìn)程地址函數(shù)(GetProcAddress)取得程序進(jìn)程入口 (API)的前五個字節(jié),使用其中4個字節(jié)的地址設(shè)置系統(tǒng)應(yīng)用程序接口 (API)鉤子。調(diào)用系統(tǒng)內(nèi)部鉤子運(yùn)行函數(shù)(AllocCsToDsAlias),使系統(tǒng)先執(zhí)行程序進(jìn)程入口 (API)鉤子。當(dāng)鼠標(biāo)移動后,鼠標(biāo)鉤子截獲鼠標(biāo)周圍一定范圍內(nèi)屏幕輸出的文本信息,使用對話框顯示文本內(nèi)容并由操作人員確認(rèn)。鼠標(biāo)移動到文本信息輸出的位置,使用右鍵菜單的文本輸出按鈕,使用與獲取屏幕輸出信息相同的方式,獲取接收信息錄入文本信息的應(yīng)用程序地址和文本輸出位置,由操作者點(diǎn)擊確認(rèn)后完成文本數(shù)據(jù)信息的傳遞。 眾所周知在Windows系統(tǒng)中,所有屏幕字符輸出都是調(diào)用文本輸出函數(shù)(Text0utW和ExtText0utW)實(shí)現(xiàn)屏幕顯示字符信息功能。比較國內(nèi)現(xiàn)有類似的金山詞霸屏幕取詞技術(shù)屏幕取詞技術(shù)是調(diào)用操作系統(tǒng)底層接口 ,通過鼠標(biāo)光標(biāo)選擇,實(shí)現(xiàn)電腦屏幕顯示文本內(nèi)容的提取,進(jìn)而完成對提取得到文本信息的語言翻譯。實(shí)現(xiàn)了 Windows操作系統(tǒng)下不同封閉系統(tǒng)間的數(shù)據(jù)信息的自動獲取和傳遞交換。 本發(fā)明克服PACS和HIS不同系統(tǒng)間,因沒有設(shè)計信息調(diào)取接口必須以人工方式實(shí)現(xiàn)患者信息、診斷信息不同系統(tǒng)的錄入,提供一種能通過提取電腦屏幕顯示信息,實(shí)現(xiàn)不同系統(tǒng)間信息的自動獲取和信息的自動轉(zhuǎn)發(fā)的功能。它不單實(shí)現(xiàn)了信息的提取,同時還實(shí)現(xiàn)了將所得信息填寫輸入到其他系統(tǒng)的操作。在從電腦屏幕自動獲取的醫(yī)院信息系統(tǒng)文本數(shù)字信息(中英文和阿拉伯?dāng)?shù)字)的同時,使用Windows底層SDK函數(shù),將提取發(fā)送到PACS系統(tǒng)中。滿足了 PACS系統(tǒng)提取HIS系統(tǒng)患者信息的要求,最大程度的減少了醫(yī)務(wù)人員在PACS系統(tǒng)中對患者HIS信息的重復(fù)錄入,提高了醫(yī)務(wù)人員的工作效能,降低了因人為疏忽導(dǎo)致患者信息差錯引發(fā)醫(yī)療事故和醫(yī)患糾紛的可能性。
圖1.本發(fā)明之計算機(jī)屏幕信息提取方法的示意流程圖
圖l流程設(shè)計圖
具體實(shí)施例方式下面結(jié)合附圖對本發(fā)明的實(shí)施方式進(jìn)行詳細(xì)說明。本實(shí)施例以下述程序進(jìn)行
設(shè)置系統(tǒng)鉤子使用窗口鉤子函數(shù)(SetWindowHook)設(shè)置鼠標(biāo)鉤子,以及時響應(yīng)鼠標(biāo)消息并獲取鼠標(biāo)停留窗口對應(yīng)的HIS應(yīng)用程序。 取得進(jìn)程地址調(diào)用函數(shù)(GetProcAddress)取得程序進(jìn)程入口 (API)的前五個字
節(jié),使用其中4個字節(jié)的地址設(shè)置系統(tǒng)HIS應(yīng)用程序接口 (API)鉤子。 運(yùn)行系統(tǒng)鉤子調(diào)用系統(tǒng)內(nèi)部鉤子運(yùn)行函數(shù)(AllocCsToDsAlias)完成對屏幕顯
示輸出內(nèi)容截獲監(jiān)控。 文本信息輸出使用進(jìn)程地址,監(jiān)控文本輸出函數(shù)(Text0utW和ExtText0utW)開頭執(zhí)行跳轉(zhuǎn)(加P)語句,跳轉(zhuǎn)到自己的處理代碼里。內(nèi)部過程當(dāng)鼠標(biāo)在屏幕一區(qū)域停留后,取得鼠標(biāo)當(dāng)前位置后以鼠標(biāo)位置為中心生成一個矩形,并給操作系統(tǒng)掛上API鉤子,使用重繪矩形函數(shù)(InvalidateRect)讓這個矩形產(chǎn)生重畫消息,通過應(yīng)用程序接口 (API)鉤子截獲輸出字符。生成矩形的過程,使用了自適應(yīng)算法。在電腦鼠標(biāo)移動式時調(diào)用獲取光標(biāo)位置函數(shù)(GetCursorPos)和獲取窗口函數(shù)(WindowFromPoint)獲取鼠標(biāo)位置下的控件的句柄,使用獲取窗口屬性函數(shù)(GetWindowLong)取得控件的類型和顯示字符和字符顯示尺寸。依照字符顯示尺寸調(diào)整矩形的大小。首次繪制矩形以鼠標(biāo)位置為中心,使用字符尺寸的1. 5倍行高為高、3倍行高寬度,當(dāng)API鉤子截獲字符后,按照向左、向右交替每次寬帶增加一倍字符行高的方式,分別向左右兩個方向擴(kuò)展矩形尺寸。將每次新截獲的字符字符與上次截獲字符比較,當(dāng)截獲首字符不再增加時,停止向左的矩形尺寸擴(kuò)展。同樣,當(dāng)尾字符不再增加是,停止向右的矩形尺寸擴(kuò)展。確保API鉤子截獲的字符信息完整準(zhǔn)確,提高信息獲取的準(zhǔn)確性。如果API鉤子截獲的字符,則將字符保存。 獲取光標(biāo)位置并執(zhí)行取得進(jìn)場地址操作,取得需要輸入文本信息PACS應(yīng)用程序的地址。通過調(diào)用獲取光標(biāo)位置函數(shù)(GetCursorPos)和獲取窗口函數(shù)(WindowFromPoint)獲取鼠標(biāo)位置下輸入窗口的控件的句柄,并使用獲取窗口屬性函數(shù)(GetWindowLong)函數(shù)取得控件的類型,如果控件類型為編輯(Edit或Tedit)。 設(shè)置窗口文本當(dāng)操作者使用鼠標(biāo)右鍵菜單確認(rèn)信息輸出,使用查詢窗口函數(shù) (FindWindow和FindWindowEx)依次獲取窗口句柄和輸入控件句柄,并自動完成信息錄入 操作。則將已獲取的文本信息輸出使用設(shè)置窗口文本函數(shù)(SetWindowText)填寫到鼠標(biāo)位 置處控件的輸入框中。
權(quán)利要求
用于醫(yī)療管理的計算機(jī)屏幕信息提取方法,其特征在于,包括以下步驟1)設(shè)置系統(tǒng)鉤子使用窗口鉤子函數(shù)SetWindowHook設(shè)置鼠標(biāo)鉤子,以及時響應(yīng)鼠標(biāo)消息并獲取鼠標(biāo)停留窗口對應(yīng)的HIS應(yīng)用程序;2)取得進(jìn)程地址調(diào)用函數(shù)GetProcAddress取得程序進(jìn)程入口API的前五個字節(jié),使用其中4個字節(jié)的地址,設(shè)置系統(tǒng)HIS應(yīng)用程序接口API鉤子;3)運(yùn)行系統(tǒng)鉤子調(diào)用系統(tǒng)內(nèi)部鉤子運(yùn)行函數(shù)AllocCsToDsAlias,完成對屏幕顯示輸出內(nèi)容截獲監(jiān)控;4)文本信息輸出使用進(jìn)程地址,監(jiān)控文本輸出函數(shù)TextOutW和ExtTextOutW,開頭執(zhí)行跳轉(zhuǎn)jmp語句,跳轉(zhuǎn)到自己的處理代碼里;當(dāng)鼠標(biāo)在屏幕一區(qū)域停留后,取得鼠標(biāo)當(dāng)前位置后,以鼠標(biāo)位置為中心生成一個矩形,并給操作系統(tǒng)掛上API鉤子;使用重繪矩形函數(shù)InvalidateRect,讓這個矩形產(chǎn)生重畫消息,通過應(yīng)用程序接口API鉤子截獲輸出字符;在電腦鼠標(biāo)移動時,調(diào)用獲取光標(biāo)位置函數(shù)GetCursorPos和獲取窗口函數(shù)WindowFromPoint獲取鼠標(biāo)位置下的控件的句柄;使用獲取窗口屬性函數(shù)GetWindowLong取得控件的類型和顯示字符和字符顯示尺寸;依照字符顯示尺寸調(diào)整矩形的大小,首次繪制矩形以鼠標(biāo)位置為中心,使用字符尺寸的1.5倍行高為高、3倍行高為寬度,當(dāng)API鉤子截獲字符后,按照向左、向右交替每次寬帶增加一倍字符行高的方式,分別向左右兩個方向擴(kuò)展矩形尺寸;將每次新截獲的字符字符與上次截獲字符比較,當(dāng)截獲首字符不再增加時,停止向左的矩形尺寸擴(kuò)展;同樣,當(dāng)尾字符不再增加是,停止向右的矩形尺寸擴(kuò)展。確保API鉤子截獲的字符信息完整準(zhǔn)確,提高信息獲取的準(zhǔn)確性;如果API鉤子截獲的字符,則將字符保存;5)獲取光標(biāo)位置并執(zhí)行取得進(jìn)場地址操作,取得需要輸入文本信息PACS應(yīng)用程序的地址;通過調(diào)用獲取光標(biāo)位置函數(shù)GetCursorPos和獲取窗口函數(shù)WindowFromPoint,獲取鼠標(biāo)位置下輸入窗口的控件的句柄,并使用獲取窗口屬性函數(shù)GetWindowLong函數(shù)取得控件的類型;6)設(shè)置窗口文本當(dāng)操作者使用鼠標(biāo)右鍵菜單確認(rèn)信息輸出,使用查詢窗口函數(shù)FindWindow和FindWindowEx依次獲取窗口句柄和輸入控件句柄,并自動完成信息錄入操作;將已獲取的文本信息輸出使用設(shè)置窗口文本函數(shù)SetWindowText填寫到鼠標(biāo)位置處控件的輸入框中;當(dāng)需要重復(fù)文本信息傳輸錄入操作時,窗口鉤子持續(xù)監(jiān)控HIS應(yīng)用程序鼠標(biāo)已經(jīng)選定區(qū)域,當(dāng)屏幕輸出的文本顯示信息發(fā)生變化時,自動提取文本信息并將文本內(nèi)容填寫到PACS應(yīng)用程序中對應(yīng)的窗口控件中,完成文本信息的自動傳輸交換。
全文摘要
本發(fā)明涉及一種從封閉的HIS系統(tǒng)中提取需要的特定文本信息,并將信息輸入到另一PACS系統(tǒng)中供醫(yī)療管理使用的方法。通過設(shè)置系統(tǒng)鉤子、取得進(jìn)程地址、運(yùn)行系統(tǒng)鉤子、文本信息輸出、獲取光標(biāo)位置、設(shè)置窗口文本等程序,完成文本信息的自動傳輸交換。本發(fā)明提供了一種能通過提取電腦屏幕顯示信息,實(shí)現(xiàn)不同系統(tǒng)間信息的自動獲取和信息的自動轉(zhuǎn)發(fā)的功能,滿足了PACS系統(tǒng)提取HIS系統(tǒng)患者信息的要求,提高了醫(yī)務(wù)人員的工作效能,降低了因人為疏忽導(dǎo)致患者信息差錯引發(fā)醫(yī)療事故和醫(yī)患糾紛的幾率。
文檔編號G06F9/44GK101782852SQ201010013620
公開日2010年7月21日 申請日期2010年1月19日 優(yōu)先權(quán)日2010年1月19日
發(fā)明者任楊, 熊友生, 羅彥博, 閆利軍, 馬天德 申請人:西安華海醫(yī)療信息技術(shù)股份有限公司