專利名稱:一種醫(yī)學(xué)檢查報(bào)告輔助輸入方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)文字處理技術(shù)領(lǐng)域,具體涉及一種醫(yī)學(xué)檢查報(bào)告輔助輸入方法。
背景技術(shù):
醫(yī)學(xué)檢查報(bào)告格式一般固定,針對(duì)相同的癥狀一般都有固定的醫(yī)學(xué)描述規(guī)范,不 同的醫(yī)學(xué)檢查報(bào)告針對(duì)同一個(gè)癥狀的報(bào)告內(nèi)容基本上都是相同的。醫(yī)生在書寫醫(yī)學(xué)檢查 報(bào)告的時(shí)候經(jīng)常要重復(fù)輸入很多相同的描述語句及結(jié)論。為解決醫(yī)生重復(fù)輸入的難題,現(xiàn) 在一般的醫(yī)學(xué)檢查報(bào)告系統(tǒng)都提供了報(bào)告模板的輔助資料,在里面針對(duì)不同的檢查部位和 癥狀預(yù)先輸入了大量的描述及診斷文字。醫(yī)生在進(jìn)行醫(yī)學(xué)影像診斷時(shí)先從檢查影像中得 出檢查結(jié)論,然后再根據(jù)檢查結(jié)論到報(bào)告模板中找到這種疾病的相應(yīng)描述及診斷內(nèi)容,添 加到報(bào)告編輯工具中,從而完成醫(yī)學(xué)檢查報(bào)告書寫。報(bào)告模板工具在一定程度上減輕了醫(yī) 生重復(fù)輸入的強(qiáng)度,給醫(yī)生書寫醫(yī)學(xué)檢查報(bào)告帶來了一定的方便。但由于報(bào)告模板是根據(jù) 不同部位及癥狀預(yù)先輸入的一段內(nèi)容,這就要求醫(yī)生必須先要根據(jù)影像做出了很正確的診 斷,然后再根據(jù)診斷的結(jié)果找到相應(yīng)的報(bào)告模板,再將報(bào)告模板中的文字復(fù)制到編輯工具 中。由于報(bào)告模板都是預(yù)先錄入的一大段文字,其中可能還有跟當(dāng)前檢查影像不相符的內(nèi) 容,這時(shí)診斷醫(yī)生又得重新對(duì)照檢查影像,進(jìn)行相應(yīng)編輯修改,當(dāng)對(duì)來自報(bào)告模板的大段文 字進(jìn)行編輯修改時(shí)就降低了醫(yī)生書寫醫(yī)學(xué)檢查報(bào)告的效率。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是提供一種醫(yī)學(xué)檢查報(bào)告輔助輸入方法,克服現(xiàn)有技術(shù) 利用報(bào)告模板書寫醫(yī)學(xué)檢查報(bào)告,有時(shí)需對(duì)報(bào)告模板大段文字進(jìn)行編輯修改,從而降低書 寫醫(yī)學(xué)檢查報(bào)告效率的缺陷。本發(fā)明為解決上述技術(shù)問題所采用的技術(shù)方案為一種醫(yī)學(xué)檢查報(bào)告輔助輸入方法,包括步驟A1、由輸入內(nèi)容監(jiān)控模塊對(duì)輸入到編輯器輸入窗口中的文字進(jìn)行監(jiān)控;A2、當(dāng)輸入到編輯器輸入窗口中的文字超過一個(gè)時(shí),報(bào)告編輯模塊以輸入到編輯 器輸入窗口中的文字為關(guān)鍵字,在診斷術(shù)語庫中進(jìn)行查詢;A3、報(bào)告編輯模塊將查詢到的包含所述關(guān)鍵字的診斷術(shù)語列表顯示在一界面中;A4、點(diǎn)擊診斷術(shù)語列表中的診斷術(shù)語,報(bào)告編輯模塊將該診斷術(shù)語添加到編輯器 的報(bào)告編輯框中。所述的醫(yī)學(xué)檢查報(bào)告輔助輸入方法,其中報(bào)告編輯模塊將輸入到編輯器輸入窗口 中的文字存儲(chǔ)于數(shù)組中,合并形成關(guān)鍵字。所述的醫(yī)學(xué)檢查報(bào)告輔助輸入方法,其中報(bào)告編輯模塊將報(bào)告內(nèi)容保存到報(bào)告數(shù) 據(jù)庫中。所述的醫(yī)學(xué)檢查報(bào)告輔助輸入方法,其中報(bào)告內(nèi)容提取模塊定時(shí)對(duì)報(bào)告數(shù)據(jù)庫中新增加的報(bào)告內(nèi)容按標(biāo)點(diǎn)符號(hào)進(jìn)行拆分,得到診斷術(shù)語,然后跟診斷術(shù)語庫中的診斷術(shù)語 進(jìn)行對(duì)比,將未包含在診斷術(shù)語庫中的語句加入到診斷術(shù)語庫中。本發(fā)明的有益效果本發(fā)明醫(yī)學(xué)檢查報(bào)告輔助輸入方法在編輯報(bào)告過程中,當(dāng)輸 入超過一個(gè)字符時(shí),自動(dòng)從診斷術(shù)語庫中找出與關(guān)鍵字最匹配的診斷術(shù)語列表供醫(yī)生選 擇,提高了輸入醫(yī)學(xué)檢查報(bào)告內(nèi)容的速度且不影響醫(yī)生思維的連貫性,同時(shí)自動(dòng)對(duì)報(bào)告數(shù) 據(jù)庫中新增加的報(bào)告內(nèi)容進(jìn)行提取分析,自動(dòng)完善診斷術(shù)語庫,提高了數(shù)據(jù)維護(hù)操作的效率。
本發(fā)明包括如下附圖圖1為本發(fā)明醫(yī)學(xué)檢查報(bào)告輔助輸入方法流程圖;圖2為本發(fā)明編輯器輸入窗口與診斷術(shù)語列表顯示界面示意圖;圖3為本發(fā)明輸入四個(gè)字符的編輯器輸入窗口與診斷術(shù)語列表顯示界面示意圖。
具體實(shí)施例方式下面根據(jù)附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步詳細(xì)說明如圖1所示,本發(fā)明通過以下步驟提供醫(yī)學(xué)檢查報(bào)告輔助輸入方法1、輸入內(nèi)容監(jiān)控模塊100監(jiān)控醫(yī)生在報(bào)告編輯模塊200中輸入的文字,記錄醫(yī)生 輸入的所有文字;2、每輸入一個(gè)文字后,輸入內(nèi)容監(jiān)控模塊100都會(huì)根據(jù)報(bào)告醫(yī)生當(dāng)前輸入的文字 和前一個(gè)次輸入文字組合成關(guān)鍵字(如果是剛開始輸入第一個(gè)文字則不處理),再根據(jù)這 兩個(gè)關(guān)鍵字從診斷術(shù)語庫300中查找出所有包含這兩個(gè)關(guān)鍵字的診斷語句,根據(jù)已經(jīng)輸入 的文字進(jìn)行對(duì)比,按匹配程度排序,彈出診斷術(shù)語列表界面供醫(yī)生選擇;3、診斷醫(yī)生選擇對(duì)應(yīng)的術(shù)語到報(bào)告編輯模塊200,繼續(xù)輸入文字重復(fù)步驟1跟步 驟2過程直到報(bào)告內(nèi)容輸入完成。報(bào)告編輯模塊200將報(bào)告內(nèi)容保存到報(bào)告數(shù)據(jù)庫500中。4、報(bào)告內(nèi)容提取模塊400定時(shí)對(duì)報(bào)告數(shù)據(jù)庫中500新增加的報(bào)告內(nèi)容進(jìn)行提取分 析,將報(bào)告內(nèi)容整段文字按標(biāo)點(diǎn)符號(hào)進(jìn)行拆分,得到診斷語句,然后跟診斷術(shù)語庫300中的 診斷術(shù)語進(jìn)行對(duì)比,將未包含在診斷術(shù)語庫300中的語句加入到診斷術(shù)語庫中300。首先用Sqlite數(shù)據(jù)庫來存儲(chǔ)診斷術(shù)語庫的內(nèi)容,在Sqlite中定義一個(gè)表Diet,只 有一個(gè)字段DictContent。所有的診斷術(shù)語都存儲(chǔ)在這個(gè)表的DictContent字段中,每一 診斷術(shù)語為一條記錄。另外,為了實(shí)現(xiàn)輸入內(nèi)容監(jiān)控,對(duì)標(biāo)準(zhǔn)的Richedit控件進(jìn)行改造,對(duì) Richedit的ProcessIMEComposition消息事件進(jìn)行重新編碼,捕獲用戶輸入的文字。通過 截獲 Richedit 的 WM_IME_C0MP0SITI0N 消息,用 ImmGetCompositionString 函數(shù)可以取得 Richedit控件中輸入的文字。procedure TCustomRichEdit. ProcessIMEComposition(var Msg:TMessage);varhIMC:Imm. HIMC ;BufferSize:DWORD ;hstr:Integer ;
lpstr:PChar ;begincase Msg. Msg ofWM_IME_C0MP0SITI0N:beginif (Msg. LParam and GCS_RESULTSTR) <> OthenbeginhIMC: = ImmGetContext(Self. Handle);BufferSize: = ImmGetCompositionString(hIMC,GCS_RESULTSTR, nil,0)+sizeof(wchar);hstr: = GlobalAlloc(GHND, BufferSize);lpstr: = GlobalLock(hstr);ImmGetCompositionString(hIMC, GCS_RESULTSTR,lpstr, BufferSize);ImmReleaseContext(Self. Handle,hIMC);DefaultHandler(Msg);if Assigned(FOnlMEInput)then FOnlMEInput(lpstr);end ;end ;elseDefaultHandler(Msg);end ;end ;當(dāng)醫(yī)生使用帶有輔助輸入功能的醫(yī)學(xué)檢查報(bào)告系統(tǒng)進(jìn)行檢查影像診斷時(shí),醫(yī)生邊
看影像,邊根據(jù)看到的情況開始錄入文字,當(dāng)在帶有改造過的Richedit的報(bào)告編輯器中輸 入文字時(shí),輸入內(nèi)容監(jiān)控模塊自動(dòng)記錄醫(yī)生當(dāng)前輸入的文字并用一個(gè)數(shù)組存儲(chǔ)下來,當(dāng)醫(yī) 生輸入一個(gè)文字后,輸入內(nèi)容監(jiān)控模塊會(huì)判斷在此次輸入之前是否有輸入文字,如果沒有 輸入過則記錄下當(dāng)前輸入的文字并等待下一次輸入,如果之前有輸入文字,則將當(dāng)前文字 與前一次文字進(jìn)行合并形成關(guān)鍵字。具體實(shí)現(xiàn)如下先定義最多記錄多少個(gè)文字StrCount = 10//記錄最后輸入的10個(gè)文字然后定義一個(gè)存儲(chǔ)數(shù)組arrlnputWord:array [1. StrCount]of string ;當(dāng)獲取到用戶輸入的文字,先將已經(jīng)保存的文字?jǐn)?shù)組元素分別向前移一位,然后 將這次輸入的文字保存到數(shù)組的最后。for i: = lto StrCount-1 doarrInputfford[i]: = arrInputfford[i+l];arrlnputfford[StrCount]: = Inputfford ;這樣就可以通過數(shù)組元素合并出最后輸入的StrCount個(gè)文字了。如圖2和圖3所示,報(bào)告編輯模塊會(huì)以輸入的兩個(gè)文字為關(guān)鍵字(假設(shè)關(guān)鍵字是 “胸廓,,),在 Sqlite 數(shù)據(jù)庫中用 SQLi吾句(select*from Dictwhere DictContent like ‘ %胸廓%’ )查找到符合這兩個(gè)關(guān)鍵字的診斷術(shù)語并在提示窗口顯示出來。此時(shí)可繼續(xù)輸入 更多的文字,報(bào)告編輯模塊自動(dòng)將最匹配的內(nèi)容排列到前面。舉例如下當(dāng)用戶輸入“廓” 時(shí),報(bào)告編輯模塊查找到用戶前一次有輸入的文字“胸”,于是自動(dòng)將這兩個(gè)文字組成成關(guān) 鍵字“胸廓”,然后自動(dòng)以“胸廓”為關(guān)鍵字用SQL語句在Sqlite數(shù)據(jù)庫中查找出所有帶“胸 廓”的術(shù)語,然后再對(duì)查詢得到的所有診斷術(shù)語進(jìn)行排序,通過遍歷所有的診斷術(shù)語,將其 中“胸廓”位于起始位置的診斷術(shù)語排先放在最前面,然后用一個(gè)無焦點(diǎn)無標(biāo)題欄并且置頂 顯示的窗口把所有診斷術(shù)語顯示出來,醫(yī)生通過鼠標(biāo)或鍵盤上下鍵及空格進(jìn)行選擇,如果 覺得診斷術(shù)語的匹配程度不夠,還可以繼續(xù)輸入更多內(nèi)容,例如繼續(xù)輸入“對(duì)稱”這時(shí)報(bào)告 編輯模塊自動(dòng)會(huì)重新對(duì)術(shù)語進(jìn)行排序,所有帶“胸廓對(duì)稱”的語句排到最前面供醫(yī)生選擇。 當(dāng)醫(yī)生選擇好診斷術(shù)語后,程序就診斷術(shù)語內(nèi)容自動(dòng)加入到報(bào)告編輯框,然后等待下一次 輸入。報(bào)告內(nèi)容提取模塊實(shí)時(shí)運(yùn)行,定時(shí)查詢報(bào)告數(shù)據(jù)庫中新增加的報(bào)告內(nèi)容,將報(bào)告內(nèi)容 提取出來,對(duì)字符串進(jìn)行處理,先將報(bào)告中的空格及回車換行符去除,然后將報(bào)告內(nèi)容中的 “,”標(biāo)點(diǎn)符號(hào)替換成“?!薄H缓髮⒄麄€(gè)字符按“?!睘榉指罘M(jìn)行分割,得到不同的術(shù)語。然 后對(duì)比Sqlite數(shù)據(jù)庫中的內(nèi)容,看是否已經(jīng)包含在Sqlite數(shù)據(jù)庫中。將Sqlite數(shù)據(jù)庫中 不包含的內(nèi)容添加到Sqlite數(shù)據(jù)庫中,從而實(shí)現(xiàn)診斷術(shù)語庫的自動(dòng)維護(hù)完善。
本領(lǐng)域技術(shù)人員不脫離本發(fā)明的實(shí)質(zhì)和精神,可以有多種變形方案實(shí)現(xiàn)本發(fā)明, 以上所述僅為本發(fā)明較佳可行的實(shí)施例而已,并非因此局限本發(fā)明的權(quán)利范圍,凡運(yùn)用本 發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)變化,均包含于本發(fā)明的權(quán)利范圍之內(nèi)。
權(quán)利要求
一種醫(yī)學(xué)檢查報(bào)告輔助輸入方法,其特征在于,包括步驟A1、由輸入內(nèi)容監(jiān)控模塊對(duì)輸入到編輯器輸入窗口中的文字進(jìn)行監(jiān)控;A2、當(dāng)輸入到編輯器輸入窗口中的文字超過一個(gè)時(shí),報(bào)告編輯模塊以輸入到編輯器輸入窗口中的文字為關(guān)鍵字,在診斷術(shù)語庫中進(jìn)行查詢;A3、報(bào)告編輯模塊將查詢到的包含所述關(guān)鍵字的診斷術(shù)語列表顯示在一界面中;A4、點(diǎn)擊診斷術(shù)語列表中的診斷術(shù)語,報(bào)告編輯模塊將該診斷術(shù)語添加到編輯器的報(bào)告編輯框中。
2.根據(jù)權(quán)利要求1所述的醫(yī)學(xué)檢查報(bào)告輔助輸入方法,其特征在于報(bào)告編輯模塊將 輸入到編輯器輸入窗口中的文字存儲(chǔ)于數(shù)組中,合并形成關(guān)鍵字。
3.根據(jù)權(quán)利要求2所述的醫(yī)學(xué)檢查報(bào)告輔助輸入方法,其特征在于報(bào)告編輯模塊將 報(bào)告內(nèi)容保存到報(bào)告數(shù)據(jù)庫中。
4.根據(jù)權(quán)利要求3所述的醫(yī)學(xué)檢查報(bào)告輔助輸入方法,其特征在于報(bào)告內(nèi)容提取模 塊定時(shí)對(duì)報(bào)告數(shù)據(jù)庫中新增加的報(bào)告內(nèi)容按標(biāo)點(diǎn)符號(hào)進(jìn)行拆分,得到診斷術(shù)語,然后跟診 斷術(shù)語庫中的診斷術(shù)語進(jìn)行對(duì)比,將未包含在診斷術(shù)語庫中的語句加入到診斷術(shù)語庫中。
全文摘要
本發(fā)明公開了一種醫(yī)學(xué)檢查報(bào)告輔助輸入方法,包括步驟A1、由輸入內(nèi)容監(jiān)控模塊對(duì)輸入到編輯器輸入窗口中的文字進(jìn)行監(jiān)控;A2、當(dāng)輸入到編輯器輸入窗口中的文字超過一個(gè)時(shí),報(bào)告編輯模塊以輸入到編輯器輸入窗口中的文字為關(guān)鍵字,在診斷術(shù)語庫中進(jìn)行查詢;A3、報(bào)告編輯模塊將查詢到的包含所述關(guān)鍵字的診斷術(shù)語列表顯示在一界面中;A4、點(diǎn)擊診斷術(shù)語列表中的診斷術(shù)語,報(bào)告編輯模塊將該診斷術(shù)語添加到編輯器的報(bào)告編輯框中。
文檔編號(hào)G06F3/023GK101853089SQ20101018948
公開日2010年10月6日 申請(qǐng)日期2010年6月1日 優(yōu)先權(quán)日2010年6月1日
發(fā)明者曾文, 鄧鹍 申請(qǐng)人:深圳市藍(lán)韻實(shí)業(yè)有限公司