張靈光
(新疆農(nóng)業(yè)職業(yè)技術(shù)學(xué)院,新疆昌吉,831100)
安康電子病歷編輯器系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
張靈光
(新疆農(nóng)業(yè)職業(yè)技術(shù)學(xué)院,新疆昌吉,831100)
電子病歷系統(tǒng)實(shí)現(xiàn)病歷信息的采集、傳遞、表現(xiàn)、存儲(chǔ)和加工利用,其中病歷書寫編輯器是其關(guān)鍵技術(shù)之一。病歷書寫系統(tǒng)面向臨床醫(yī)生,實(shí)現(xiàn)了醫(yī)生日常按照《病歷書寫規(guī)范》來(lái)完成病歷的書寫,將病人在院期間的所有醫(yī)療信息通過(guò)計(jì)算機(jī)管理,并給醫(yī)生的臨床工作提供許多有益幫助。
電子病歷;編輯器;病歷書寫;醫(yī)院管理
醫(yī)院信息系統(tǒng)的發(fā)展趨勢(shì)將是以病人為中心的醫(yī)院信息管理,醫(yī)院內(nèi)所有的信息都將以無(wú)紙化為目標(biāo),并以數(shù)字化形式存儲(chǔ),醫(yī)院內(nèi)的所有終端及醫(yī)學(xué)檢查設(shè)備均與計(jì)算機(jī)相連通,各種醫(yī)囑和檢查結(jié)果均由網(wǎng)絡(luò)相互傳送,從而達(dá)到充分利用和共享豐富的信息資源。
安康電子病歷系統(tǒng)的開(kāi)發(fā),是醫(yī)療衛(wèi)生行業(yè)政策的導(dǎo)向,也是公司客戶的迫切需求。公司在開(kāi)發(fā)安康電子病歷管理系統(tǒng)的過(guò)程中,將病歷書寫系統(tǒng)作為一個(gè)獨(dú)立的功能模塊,其中病歷書寫編輯器是其關(guān)鍵技術(shù)之一。因此,項(xiàng)目組在電子病歷系統(tǒng)開(kāi)發(fā)過(guò)程中,將電子病歷編輯器產(chǎn)品化,使其單獨(dú)成為公司的一個(gè)軟件產(chǎn)品。
電子病歷編輯器可以制作出盡可能適用和方便的病歷文件模板,使醫(yī)生可以流暢的使用書寫病歷。顧名思義,編輯器需要具備類WORD的編輯功能,可以設(shè)置結(jié)構(gòu)化及痕跡保留。設(shè)置結(jié)構(gòu)化的需要,我們引入了“元素”,這個(gè)是知識(shí)點(diǎn)語(yǔ)法,它只在編輯狀態(tài)下顯示,在閱讀和狀態(tài)下不顯示,用于語(yǔ)義內(nèi)容的分界。固定元素:對(duì)于病歷中不允許隨意刪除的內(nèi)容,稱之為固定元素,固定元素由“保留標(biāo)題”和所有“靜態(tài)屬性元素”組成。選擇元素:對(duì)于病歷編輯過(guò)程中具有已知條目可供選擇的元素,稱之為選擇元素,選擇元素包括:?jiǎn)芜x、多選、有無(wú)選、行選。
根據(jù)病歷書寫中關(guān)于電子病歷編輯器的功能需求,電子病歷編輯器系統(tǒng)的編輯功能分析如下。
(1)文檔操作:包括新建、打開(kāi)、保存、另存為、剪切、復(fù)制、粘帖、選擇性粘帖、撤銷、重做、單選、全選、刪除、清除格式、格式刷、查找和替換、OLE拖拽等。
(2)頁(yè)面設(shè)置:支持多種常用紙張大小設(shè)置,也可自定義設(shè)置紙張大小??稍O(shè)置頁(yè)面的頁(yè)邊距、X/Y方向偏移量、頁(yè)眉/頁(yè)腳位置??稍O(shè)置打印份數(shù)、縱向打印或橫向打印??芍付ù蛴C(jī)、指定紙張來(lái)源??稍O(shè)置整體縮放適應(yīng)紙張大小、可自動(dòng)選擇最佳紙張大小。支持設(shè)置頁(yè)面背景圖片。支持設(shè)置頁(yè)面邊框和底紋。支持設(shè)置圖片水印和文字水印,文字水印可設(shè)置文字的顏色、字體、斜式或水平版式。支持頁(yè)面設(shè)置的快捷操作,包含:使用IE默認(rèn)設(shè)置、使用MS Word默認(rèn)設(shè)置、保存設(shè)置到文件和從文件加載設(shè)置。
(3)打印:支持所見(jiàn)即所得的打印和打印預(yù)覽,包含續(xù)打、套打、整潔打印、留痕打印、區(qū)域選擇打印。支持多個(gè)文檔在一個(gè)界面中預(yù)覽和打印。
(4)視圖:支持多種視圖模式,包含頁(yè)面視圖模式、普通視圖模式、普通居中視圖模式、自動(dòng)換行視圖模式、閱讀視圖模式。支持放大和縮小顯示比例操作,支持自動(dòng)適應(yīng)頁(yè)面的視圖設(shè)置。支持標(biāo)尺功能。
(5)文字編輯:可自由輸入文字,可設(shè)置文字的字體名稱、大小、粗體、斜體、下劃線、刪除線樣式??稍O(shè)置文字的顏色和背景色。可設(shè)置文字的字符集。支持文字套圈。支持設(shè)置文字的邊框和底紋。支持設(shè)置文檔默認(rèn)字體。支持上下標(biāo)文字。支持插入特殊字符。
(6)段落:可設(shè)置段落的行間距、段前間距、段后間距??稍O(shè)置段落的首行縮進(jìn)和整體縮進(jìn)量??稍O(shè)置段落的對(duì)齊方式。可設(shè)置多種段落列表頭顯示樣式??稍O(shè)置標(biāo)題層次,實(shí)現(xiàn)文檔結(jié)構(gòu)圖功能。
(7)頁(yè)眉頁(yè)腳:支持設(shè)置頁(yè)眉頁(yè)腳,其內(nèi)容和正文一樣編輯和排版。能插入頁(yè)碼元素,支持設(shè)置頁(yè)碼的格式化字符串??稍O(shè)置頁(yè)面隱藏頁(yè)眉頁(yè)腳。
(8)表格:支持單元格的橫向合并和縱向合并。支持表格單元格內(nèi)部的圖文混排,支持單元格內(nèi)自動(dòng)縮小字體,支持表格套嵌表格,支持設(shè)置單元格內(nèi)邊距、支持設(shè)置單元格內(nèi)容對(duì)齊方式。支持鼠標(biāo)拖拽表格線來(lái)設(shè)置表格列的寬度和表格行的高度。支持設(shè)置每頁(yè)都顯示的標(biāo)題行,支持設(shè)置同行是否可以跨頁(yè)。支持表格單元格邊框線的設(shè)置和背景顏色的設(shè)置。支持單元格斜線。支持單元格網(wǎng)格線??稍O(shè)置單元格邊框線、背景是否可以打印輸出。支持突出顯示單元格邊框線。支持表格行的多種復(fù)制模式。支持增加行/列、刪除行/列操作,包括在當(dāng)前行的上邊/下邊插入表格行、在當(dāng)前列的左邊/右邊插入表格列。
(9)圖片和圖形:可插入圖片,圖文混排,能手動(dòng)拖拽設(shè)置圖片的寬度和高度,能保持圖片的寬度高度比例。圖片的圖像數(shù)據(jù)可保持在文檔中,也可鏈接引用其他地方的圖像數(shù)據(jù)。能設(shè)置文字圍繞模式。支持替換文字、平滑縮放。支持圖形的編輯操作,包括選擇、插入矩形、插入線段、插入折線、插入橢圓、插入多邊形、刪除、左對(duì)齊、右對(duì)齊、居中對(duì)齊、字體設(shè)置、文字背景、文本顏色、線條顏色、設(shè)置邊框、設(shè)置背景。
(10)快捷輔助錄入:根據(jù)輸入內(nèi)容,把提示或關(guān)聯(lián)內(nèi)容快速填充到下拉框,實(shí)現(xiàn)快捷輔助錄入。支持首字輔助和自定義篩選輔助錄入。支持回車輔助錄入。
(11)表達(dá)式:支持類似EXCEL的表達(dá)式,表達(dá)式包含多種內(nèi)置函數(shù),可以實(shí)現(xiàn)邏輯運(yùn)算和數(shù)學(xué)運(yùn)算。表達(dá)式支持變量。
(12)審閱:支持批注操作。
(13)工具:支持常用快捷工具,包含:字?jǐn)?shù)統(tǒng)計(jì)、截屏、內(nèi)容校驗(yàn)、文檔參數(shù)、文檔選項(xiàng)。
(14)條形碼:支持多種一維條形碼和常用二維條形碼。
(15)VBA宏:支持在文檔中嵌入VBA宏代碼,實(shí)現(xiàn)VBA腳本功能。才有VB.NET語(yǔ)法,調(diào)用MS.NET框架中的標(biāo)準(zhǔn)類庫(kù),在發(fā)生文檔事件時(shí)運(yùn)行宏代碼。
(16)DOM:提供可開(kāi)發(fā)和擴(kuò)展的文檔內(nèi)容DOM開(kāi)發(fā)模型,支持自定義文檔元素類型。
本系統(tǒng)主要用于醫(yī)院醫(yī)生書寫電子病歷,可以任意程度結(jié)構(gòu)化醫(yī)療記錄;用戶可以實(shí)時(shí)在病歷編輯器界面中編輯排版各類醫(yī)療記錄。主要實(shí)現(xiàn)新建病歷文件、打開(kāi)病歷文件、保存、打印預(yù)覽、打印、整潔病歷、自動(dòng)排版、刪除未使用元素、清除注釋和關(guān)鍵詞語(yǔ)法、撤銷鍵入和恢復(fù)鍵入、復(fù)制、粘貼、剪切、查找、替換查找、特殊字符輸入框、插入圖片、插入橫線、插入表格、退出。類WORD編輯功能要求如下:設(shè)置字體、字號(hào)、加粗、斜體、下劃線、左對(duì)齊、居中、右對(duì)齊、行距、指數(shù)和腳數(shù)等功能。
系統(tǒng)運(yùn)行在Windows平臺(tái)上,不依賴其他任何第三方組件,不直接關(guān)聯(lián)數(shù)據(jù)庫(kù),對(duì)電子病歷軟件的系統(tǒng)結(jié)構(gòu)和數(shù)據(jù)庫(kù)沒(méi)有要求。系統(tǒng)開(kāi)發(fā)采用組件化設(shè)計(jì),保證系統(tǒng)可維護(hù)性和可擴(kuò)展性,支持W3C XML標(biāo)準(zhǔn),適應(yīng)文檔的長(zhǎng)期存儲(chǔ)要求。符合衛(wèi)生部《電子病歷系統(tǒng)功能規(guī)范(試行)》中對(duì)病歷編輯器的41個(gè)必需功能和推薦功能的要求。編輯器系統(tǒng)可將病歷中的全部或部分內(nèi)容保存為XML文件,也能導(dǎo)出RTF、PDF、HTML、MHT、ODT(非加密)等各種開(kāi)放文檔格式。
本系統(tǒng)使用面向數(shù)據(jù)流的方法對(duì)書寫病歷的處理流程進(jìn)行設(shè)計(jì),分為兩部分:其一、服務(wù)器程序,其二、客戶端程序。以下將分別對(duì)系統(tǒng)的這兩大部分進(jìn)行流程設(shè)計(jì):
將服務(wù)器程序服務(wù)包文件拷貝到服務(wù)器某個(gè)目錄下,推薦為發(fā)布目錄的DCLib子目錄下。在WEB頁(yè)面中插入以下HTML代碼:
其中,ID為web控件的編號(hào),JavaScript代碼通過(guò)ID可以獲取web控件,RegisterCode設(shè)置注冊(cè)碼,codebase為安裝控件使用的CAB文件URL。
由于采用IE嵌控件的形式,對(duì)客戶端有限制,該功能在客戶端中僅支持IE7.0或者更高版本,不支持其他瀏覽器,對(duì)于高版本IE瀏覽器請(qǐng)以兼容視圖模式顯示網(wǎng)頁(yè)。JavaScript代碼可能需要響應(yīng)編輯器事件來(lái)完成一些操作,比如當(dāng)用戶修改了文檔內(nèi)容,則需要更新HTML頁(yè)面的狀態(tài)。
編輯控件具有以下簽名的方法“public string GetLast EventNames( )”。該方法用于獲得收集到的事件名稱列表,各個(gè)事件名稱之間用逗號(hào)分開(kāi)。
當(dāng)編輯器控件嵌入在HTML頁(yè)面中運(yùn)行時(shí),JavaScript可能無(wú)法響應(yīng)控件事件,此時(shí)可以調(diào)用定時(shí)器定期調(diào)用這個(gè)函數(shù)來(lái)獲得已經(jīng)觸發(fā)的事件名稱,然后進(jìn)行事件處理。例如以下JavaScript代碼就模擬實(shí)現(xiàn)了控件事件。
window.setInterval(“UpdateState()” ,500);
function UpdateState()
{ var ctl = document.getElementById(“myWriter”);
var events = ctl.GetLastEventNames();
if (events.indexOf(“SelectionChanged”) >= 0) {
window.status = ctl.PositionInfoText; } }
圖1 接口設(shè)計(jì)
為了更好地在實(shí)現(xiàn)與電子病歷管理系統(tǒng)及HIS系統(tǒng)的完整對(duì)接,以便在電子病歷系統(tǒng)中可以直接使用現(xiàn)有系統(tǒng)中的相關(guān)數(shù)據(jù),同時(shí),又能互動(dòng)地把相關(guān)數(shù)據(jù)反饋給現(xiàn)有HIS系統(tǒng)中,制定本接口方案。
本系統(tǒng)實(shí)現(xiàn)臨床科研一體化的結(jié)構(gòu)化電子病歷,即滿足臨床,又服務(wù)于科研;類WORD動(dòng)能的結(jié)構(gòu)化書寫器,既可以做到結(jié)構(gòu)化,又可以隨意靈活地編輯描述性語(yǔ)言。
圖2 編輯器菜單欄a
編輯模板我們主要使用插入下拉菜單中包含了模板制作過(guò)程中所需的各種元素、符號(hào)等;通過(guò)插入元素,我們可以實(shí)現(xiàn)各種不同的語(yǔ)法。如:?jiǎn)芜x、多選、有無(wú)選擇等。
圖3 編輯器菜單欄b
(1)新建:在編輯器中直接書寫病歷模板,設(shè)置不同的語(yǔ)法和特殊符號(hào)用來(lái)增加模板的方便性和適用性。
(2)打開(kāi):打開(kāi)現(xiàn)有的模板,修改后另存,從而實(shí)現(xiàn)快速設(shè)計(jì)模板。
(3)插入:把一個(gè)純文本文件的內(nèi)容或者圖像插入的編輯器中,當(dāng)作模板。
(4)粘貼:純粹的使用復(fù)制、粘貼,從外部文件中復(fù)制病歷文件數(shù)據(jù),然后粘貼到編輯器中。
經(jīng)測(cè)試,本系統(tǒng)能滿足在需求分析時(shí)期所確立的各項(xiàng)功能需求,已經(jīng)與管理系統(tǒng)正常接口,用戶可正常登錄,登記信息準(zhǔn)確,管理員可順利地進(jìn)行各項(xiàng)操作,整個(gè)功能模塊均能順利完成。
本文闡述了安康電子病歷編輯器系統(tǒng)的設(shè)計(jì)開(kāi)發(fā)。本系統(tǒng)使電子病歷管理工作更快捷、更規(guī)范、更方便;使管理流程得到進(jìn)一步的優(yōu)化,加快醫(yī)院內(nèi)部信息的傳送,改善信息共享狀況,提高了系統(tǒng)開(kāi)發(fā)及擴(kuò)展性的工作效率。
[1]張靈光,王學(xué).安康電子病歷管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)與軟件工程.2014.11.
[2]徐振峰.以掃描儀為硬件核心,以專業(yè)軟件為操作平臺(tái)[J].中國(guó)計(jì)算機(jī)報(bào).2004.05.
[3]劉宗華.醫(yī)院電子病案管理系統(tǒng)應(yīng)用與思考[J].民營(yíng)科技.2014.04.
Design and implementation of Ankang electronic medical record editor system
Zhang Lingguang
(Xinjiang Agricultural Vocational Technical College,Changji Xinjiang,831100)
Electronic medical record system realizes the collection, transmission, performance, storage,processing and utilization of medical record information, in which the medical record writing editor is one of the key technologies. For clinicians in medical record writing system, realizes the doctor daily according to “record writing standard” to complete medical records, the patients in the hospital all medical information through computer management, and give the doctor’s clinical work provides many useful help.
electronic medical record; editor; medical record writing; hospital management
新疆維吾爾自治區(qū)科技廳電子創(chuàng)新基金資助課題(項(xiàng)目編號(hào):2014531075)。
張靈光(1971年4月),男,漢族,北京工業(yè)大學(xué)軟件工程碩士,軟件工程師,研究方向:主要從事軟件設(shè)計(jì)和信息管理系統(tǒng)研究。