, ,,,
(解放軍總醫(yī)院 南樓心血管內(nèi)科,北京 100853)
心血管病人24 h液體出入量是機體維持水、電解質(zhì)、酸堿平衡,腎功能代償、失代償?shù)臉?biāo)志之一,也是監(jiān)測心血管病人心臟負(fù)荷的一個重要參數(shù)。記錄誤差控制程序設(shè)計是研究心血管病人出入量的先提條件,醫(yī)學(xué)與社會系統(tǒng)日漸融合,醫(yī)生、病人越來越依賴先進的醫(yī)療設(shè)備,同時醫(yī)療設(shè)備的復(fù)雜性也在不斷增加,對于傳統(tǒng)出入量程序設(shè)計方式提出了嚴(yán)峻的挑戰(zhàn)。心血管病人液體出入量程序設(shè)計的主要目的是在臨床上了解心血管病人真實的病情提供準(zhǔn)確信息,幫助主治醫(yī)師對心血管疾病進行及時診斷。心血管疾病發(fā)生的原因有很多種,包括休息時間不足、心臟功能欠佳、孕婦貧血、心力衰竭、呼吸道感染等,該疾病的發(fā)生會使心室進出口血液流動受到阻礙,導(dǎo)致身體活動機能下降,嚴(yán)重情況下可使成年人脈搏停止跳動[1]。該病導(dǎo)致胎兒的心血管發(fā)育異常的現(xiàn)象較為明顯,種類也較為復(fù)雜,雖然現(xiàn)在對于心血管病人出入量的記錄儀器較多,但也存在出入量記錄存在誤差的情況。為了降低記錄誤差的風(fēng)險,需對記錄誤差控制技術(shù)進行設(shè)計。采用傳統(tǒng)誤差控制技術(shù)設(shè)計的程序?qū)π难懿∪顺鋈肓窟M行記錄存在運行誤差較大的問題,已經(jīng)不能滿足臨床工作需求,因此,提出了心血管病人出入量記錄誤差控制技術(shù)。
針對心血管病人出入量記錄誤差控制技術(shù)的研究,需先對語言使用環(huán)境與詞素構(gòu)造進行探討,以C++編程語言為基礎(chǔ)對程序進行編譯,根據(jù)編譯結(jié)果對心血管病人基本信息檔案文件、入量項目檔案文件、出量項目檔案文件、護士病情描述文件、心血管檢測要點出入量記錄結(jié)構(gòu)展開分析,并對數(shù)據(jù)錄入與信息查詢的誤差控制界面進行設(shè)計。
出入量記錄誤差控制程序設(shè)計語言是程序設(shè)計的基礎(chǔ),也是系統(tǒng)設(shè)計中軟件工程的核心內(nèi)容。語言使用環(huán)境與詞素構(gòu)造等因素都影響心血管病人出入量記錄誤差控制程序運行效率,并以該語言編譯出入量記錄誤差控制程序。
1.1.1 語言使用環(huán)境
出入量記錄誤差控制程序語言開發(fā)是以心血管病人液體出入信息處理為基礎(chǔ),使用前端工具作為數(shù)據(jù)庫開發(fā)工具,面向集成開發(fā)環(huán)境,采用Visual Studio系列作為程序語言開發(fā)工具,后臺使用DBMS數(shù)據(jù)庫服務(wù)器來管理數(shù)據(jù)[2]。開發(fā)語言環(huán)境應(yīng)考慮如下幾點:1)心血管病人液體出入量信息;2)開發(fā)主機軟、硬件的設(shè)計和應(yīng)用在相應(yīng)程序上所能實現(xiàn)的功能;3)誤差控制程序具有可維護性。傳統(tǒng)出入量記錄誤差控制程序設(shè)計語言是偽代碼語言,該語言是在隨機存取存儲器QRAM上實現(xiàn)的,記錄誤差較大。為此,在實際程序設(shè)計過程中使用FoxPro數(shù)據(jù)庫編程軟件,尤其是具有強大輔助功能的Visual FoxPro數(shù)據(jù)庫開發(fā)軟件已經(jīng)成為了心血管病人出入量記錄誤差控制程序語言設(shè)計的主要工具,將C++作為程序設(shè)計語言可滿足對心血管病人出入量記錄誤差的要求[3]。
1.1.2 詞素構(gòu)造
根據(jù)語言使用環(huán)境,首先要對出入量記錄誤差控制程序的詞素進行解析。自由構(gòu)造詞素形成的詞典可加重某些詞法特征,通過詞素抽象構(gòu)建新詞典,在實際C++編程語言應(yīng)用環(huán)境中,一個句子的單詞可用動詞、名詞或形容詞等詞進行連接,這種抽象連接方式可突出句子整體結(jié)構(gòu)。比如:C++編譯器中的詞法分析器定義了100種詞素構(gòu)造種類,其中包括同形同義詞和異形同義詞兩種。對詞素構(gòu)造的解析,可以有利于C++編程語言更加快速、準(zhǔn)確的使用。
同形同義詞的詞素內(nèi)容一致,但是編譯效果不同,在C++中,詞素“Harvest”可能是由“C++.utill.Map.Harvest()”調(diào)用獲得的,也可能是由“C++.utill.List.Harvest()”調(diào)用獲得的,在這種情況下,設(shè)定限制名可區(qū)分同形同義詞調(diào)用方式。異形同義詞是通過將不同詞素映射到不同單詞上獲取的,將具有相同執(zhí)行行為的不同詞素進行抽象化處理,轉(zhuǎn)換為相同的單詞,模糊詞法之間的差異。在程序設(shè)計語言環(huán)境分析下,使用變量標(biāo)識的方法可對具體詞素替換。比如:
Private static void bubbleSort (int array[])(
Int length =array.length;
for (int i=0;i< length;i++)(
for (int j=0;j< length-i;j++)(
if(array[j-1]>array[j])(
int temp=array[j-1];
array[j-1]= array[j];
array[j]=temp;
)
)
)
)
將上述bubbleSort方法參數(shù)“array”標(biāo)識為“values”,那么通過抽象處理與映射能夠得到異形同義詞。
1.1.3 誤差控制程序動態(tài)編譯
為了提高C++編程程序編譯效率,根據(jù)上述分析的語言使用環(huán)境以及構(gòu)造的詞素對程序進行動態(tài)編譯。編譯原理主要分為4個階段,如圖1所示。
圖1 編譯原理
心血管病人出入量記錄誤差控制程序編譯在程序設(shè)計中占據(jù)著重要地位,提出一種分層開放式動態(tài)編譯方法,該方法將表示出入量記錄誤差控制程序設(shè)計語言源映射到特定技術(shù)上,充分體現(xiàn)出心血管病人出入量記錄誤差控制程序的基本操作序列[4]。圖1中的出入量算法集、出入量記錄調(diào)整以及出入量記錄構(gòu)造都是在計算機編譯器上進行的,而機器指令是在模擬器上執(zhí)行的。源程序是由高級語言進行編寫的,能夠在復(fù)雜數(shù)據(jù)結(jié)構(gòu)下進行程序編程,其中出入量算法集的編譯是通過源程序映射到出入量中間表示的,中間部分是由出入量子位和酉操作線路進行編碼的;出入量記錄調(diào)整是將源程序映射到等價的、只包含一個出入量等級之上,通常被稱為出入量匯編程序[5]。對電流調(diào)整的目的是為了產(chǎn)生高質(zhì)量的匯編代碼;出入量記錄構(gòu)造是針對具有特定屬性的出入量計算實現(xiàn)技術(shù)優(yōu)化的[6]。
使用C++編程語言,將圖形計算程序轉(zhuǎn)換為直接在目標(biāo)系統(tǒng)上執(zhí)行的程序。在轉(zhuǎn)換過程中需要使用代數(shù)規(guī)則作為編譯的標(biāo)準(zhǔn),例如:對心血管病人出入量記錄誤差控制程序W、心臟收縮a與舒張b變量,如果變量b不在程序W和心臟收縮a中單獨出現(xiàn),那么可將心血管病人中任意一個出入量記錄信息概率編譯成具有隨機性的存儲變量,并跟隨條件選擇語句。該標(biāo)準(zhǔn)能夠保證編譯器正確編譯[7]。
使用C++編程語言對心血管病人出入量記錄誤差控制程序進行動態(tài)編譯,可保證編譯內(nèi)容正確,以該正確內(nèi)容為基礎(chǔ),對程序出入量記錄結(jié)構(gòu)展開設(shè)計。心血管病人原始出入量數(shù)據(jù)采樣點為高度密集形式,能夠聚集成較大規(guī)模的數(shù)據(jù)集,原始數(shù)據(jù)間具有密切的關(guān)聯(lián)性,具體出入量記錄結(jié)構(gòu)設(shè)計規(guī)則為:在心血管病人出入量記錄信息檢索、處理基礎(chǔ)上,為了適應(yīng)不同出入量信息的編譯的動態(tài)行為,以出入量記錄誤差控制系統(tǒng)內(nèi)存為單位集合全部數(shù)據(jù),構(gòu)建關(guān)鍵數(shù)字索引,進而確定各個原始數(shù)據(jù)之間的邏輯關(guān)聯(lián)。以此規(guī)則為基礎(chǔ),將所有心血管病人出入量記錄信息數(shù)據(jù)分別存儲于各自文件夾中,方便檢索[8]。
1.2.1 心血管病人基本信息
病人基本信息檔案文件—Basic information of the patient.DBF與“醫(yī)院心血管病人出入量記錄信息”共享,總機處僅有數(shù)據(jù)查看權(quán),而在心血管病區(qū)護士工作站中具有使用權(quán),病人基本信息檔案文件存儲形式如圖2所示。
圖2 病人基本信息檔案文件
1.2.2 入量項目
入量項目檔案文件—Quantity item.DBF可記錄病人24小時內(nèi)的入量情況,“入量項目”可分為飲水量、食物含水量、液體量、其它量等4種,對于其中任何一個入量項目都要記錄入量時間,并粘貼復(fù)制到具體記錄內(nèi)容當(dāng)中,如液體量記錄內(nèi)容為:主治醫(yī)師囑單輸入計算機中,將輸入結(jié)果復(fù)制到相對藥品瓶上并粘貼到“內(nèi)容”欄內(nèi),等待為病人注射。將該項目內(nèi)容存儲,并放置在入量項目檔案文件之中[9]。
1.2.3 出量項目
出量項目檔案文件—Output item.DBF可記錄病人24小時內(nèi)的出量情況,“出量項目”可分為尿量、大便量、嘔吐量、出血量、汗液量、其它量等5種,對于其中任何一個出量項目都要記錄出量時間,并粘貼復(fù)制到出量項目檔案文件之中。
1.2.4 護士病情描述
護士病情描述文件—Nurse's condition description document可描述病人病情。護士需將主治醫(yī)師對病人的診斷結(jié)果進行記錄,其中包括病人的基本信息,入量項目、時間和出量項目、時間、顏色、形狀等。對于其中任何一個信息都要進行詳細(xì)記錄,方便醫(yī)生或病人家屬對病歷的查詢。
1.2.5 心血管檢測
心血管檢測要點文件—Key document of cardiovascular test是對所有信息的匯總,將選定時間的病人入量和出量自動匯總并記錄,分別設(shè)計24小時、12小時和8小時作為檢測時間點,根據(jù)病人病情選擇不同時間段進行統(tǒng)一匯總。
根據(jù)上述分析的出入量記錄結(jié)構(gòu)研究出入量記錄誤差控制界面包括數(shù)據(jù)錄入、信息查詢和數(shù)據(jù)處理,其中數(shù)據(jù)錄入能夠為心血管病人出入量數(shù)據(jù)的記錄提供快捷界面;信息查詢能夠為錄入行為提供參考信息;數(shù)據(jù)處理能夠為總體程序提供必要圖表。這三部分的組合,可以有效降低記錄誤差,以達(dá)到對誤差進行有效的控制。
由于數(shù)據(jù)采集量非常大,傳統(tǒng)設(shè)計方式使用鍵盤輸入的方式浪費較多時間,并且容易造成人為記錄誤差,需對數(shù)據(jù)錄入提供一個較好的、具有容錯功能的界面,為原始數(shù)據(jù)錄入提供保障,為此設(shè)計頁面表格展示數(shù)據(jù)錄入情況,最大程度減少出入量記錄誤差。
1)表格版式:將心血管病人出入量記錄單設(shè)計為A4紙大小,其中眉欄設(shè)計包括科室、床號、姓名、住院號、頁碼,入量包括飲水量、食物含水量、液體量和其它量,出量包括尿量、大便量、嘔吐量、出血量、汗液量、其它量,詳細(xì)的眉欄設(shè)計,可以減少出入量記錄誤差,表格版式具體設(shè)計如圖3所示。
圖3 表格版式
2)執(zhí)行單粘貼:在表格下方附屬醫(yī)院執(zhí)行單,證明該表格記錄有效,由每日值班的護士打印執(zhí)行單并貼在記錄單上,方便日后對照查詢,如果主治醫(yī)師有臨時囑咐,則需護士將囑咐內(nèi)容記錄在執(zhí)行單上,并貼符在執(zhí)行單下方,方便出現(xiàn)出入量記錄誤差時,及時給予更正。
設(shè)計表格版式和執(zhí)行單粘貼情況,大大節(jié)省了數(shù)據(jù)采集時間,提高了出入量記錄數(shù)據(jù)的運行效率,清晰的表格版式下附屬執(zhí)行單為程序提供容錯處理技術(shù),也為原始數(shù)據(jù)錄入提供保障。
傳統(tǒng)信息查詢是以心血管病人出入量項目為關(guān)鍵詞標(biāo)志,不同病情以病人編號標(biāo)識構(gòu)成,不易護士查詢,為此采用FoxBASE數(shù)據(jù)庫管理系統(tǒng)為信息查詢提供功能鍵陷阱功能,促使護士在任何需要病人病歷的情況下都能利用該功能快速在屏幕上提供相應(yīng)信息,最大程度的減少了出入量信息查詢的時間,減少出入量記錄誤差,如表1所示。
表1 病歷清單
由表1中的病歷清單查詢心血管病人出入量,添加陷阱功能鍵為心血管出入量的錄入行為提供參考信息。
出入量記錄誤差控制程序總體設(shè)計要求包括:單個病人病情曲線、入量統(tǒng)計直方圖、出量統(tǒng)計直方圖。以菜單選擇的主要形式為數(shù)據(jù)輸出結(jié)果,并以人機應(yīng)答方式完成病房的選定、病情選定、床位選定和出入量項目選定。經(jīng)過對數(shù)據(jù)的處理能夠為出入量記錄誤差控制程序提供必要圖表。
根據(jù)上述設(shè)計內(nèi)容可知,心血管病人出入量記錄控制程序設(shè)計需充分考慮語言環(huán)境來選擇系統(tǒng)程序語言,以該語言為基礎(chǔ)對出入量記錄誤差控制程序進行編譯,根據(jù)基本操作序列編譯原理對病人基本信息、出入量項目、護士病情描述、心血管檢測要點等出入量記錄結(jié)構(gòu)展開分析,并設(shè)立陷阱功能鍵節(jié)省了出入量記錄數(shù)據(jù)的錄入時間,為了提供程序設(shè)計必要信息,需對記錄數(shù)據(jù)進行處理,減少心血管病人出入量記錄誤差,由此完成心血管病人出入量記錄誤差控制技術(shù)的分析。
為了驗證心血管病人出入量記錄誤差控制技術(shù)的合理性進行了如下實驗。選擇某醫(yī)院病人24小時的出入量作為實驗數(shù)據(jù),由于傳統(tǒng)程序的設(shè)計需要醫(yī)護人員逐一記錄病人在幾點幾分的出入量情況,而采用心血管病人出入量記錄控制程序設(shè)計可通過一鍵輸入,病人出入量即顯示在記錄單上,為此分別研究兩種出入量記錄誤差控制程序編譯、出入量記錄結(jié)構(gòu)和誤差控制技術(shù)對程序運行效率的影響。
傳統(tǒng)程序采用C語言編譯,而對心血管病人出入量記錄控制程序采用具有特定參數(shù)的C++語言編譯。為了驗證不同編譯語言下兩種程序運行效率,將傳統(tǒng)程序與對心血管病人出入量記錄控制程序進行對比,結(jié)果如圖4所示。
圖4 不同編譯語言下兩種程序運行效率對比結(jié)果
由圖4可知:傳統(tǒng)程序采用C語言對程序進行編譯,運行效率呈曲線狀態(tài),而對心血管病人出入量記錄控制程序采用具有特定參數(shù)的C++語言編譯,運行效率呈折線狀態(tài)。最初運行效率均在60%以上,能夠滿足系統(tǒng)預(yù)備運行需求。一旦開始編譯,兩種程序運行效率均有所下降,當(dāng)編譯時間為10 s時,傳統(tǒng)程序運行效率比心血管病人出入量記錄控制程序運行效率高10%;當(dāng)編譯時間為20 s時,心血管病人出入量記錄控制程序運行效率比傳統(tǒng)程序運行效率高60%;當(dāng)編譯時間為52 s時,心血管病人出入量記錄控制程序運行效率達(dá)到最大,為92%,而傳統(tǒng)程序運行效率低于60%。隨著編譯時間的增加,兩種程序運行狀態(tài)趨近于穩(wěn)定,但均比最初運行效率要低,心血管病人出入量記錄控制程序設(shè)計的最終運行效率為45%,滿足系統(tǒng)正常運行效率的30%標(biāo)準(zhǔn)。因此,使用特定參數(shù)C++語言對程序進行編譯運行效率較高。
心血管病人出入量記錄控制程序出入量記錄結(jié)構(gòu)設(shè)計是以系統(tǒng)內(nèi)存為單位集合全部數(shù)據(jù),根據(jù)基本操作序列編譯原理構(gòu)建關(guān)鍵數(shù)字索引,傳統(tǒng)程序設(shè)計是以護士站工作人員對數(shù)據(jù)進行統(tǒng)計,通過人工方式存儲到系統(tǒng)中。為了統(tǒng)計不同出入量記錄結(jié)構(gòu)下兩種程序出入量記錄情況,將傳統(tǒng)程序與心血管病人出入量記錄誤差控制程序進行對比,結(jié)果如圖5所示。
圖5 不同出入量記錄結(jié)構(gòu)下兩種程序出入量對比結(jié)果
由圖5可知:傳統(tǒng)程序設(shè)計是通過人工方式對數(shù)據(jù)進行統(tǒng)計的,出入量記錄比較粗糙呈折線式,而對心血管病人出入量記錄控制程序是以系統(tǒng)內(nèi)存為單位統(tǒng)計全部數(shù)據(jù)的,出入量記錄較為詳細(xì)呈柱狀,降低了出入量記錄誤差。根據(jù)該記錄結(jié)果對程序運行效率進行對比,結(jié)果如表2所示。
表2 不同出入量記錄結(jié)構(gòu)下兩種程序運行效率
由表2可知:在不同出入量記錄結(jié)構(gòu)下的兩種程序運行效率相差較大,當(dāng)時間為7~14點時,對病人出入量進行統(tǒng)計,采用傳統(tǒng)設(shè)計程序無法準(zhǔn)確獲取病人的出入量數(shù)值,只能查看大致走向,出入量記錄誤差較大,導(dǎo)致程序運行效率降低;而心血管病人出入量記錄控制程序可準(zhǔn)確獲取病人的出入量數(shù)值,出入量記錄誤差較小,程序運行效率較高。當(dāng)時間為15~21點時,傳統(tǒng)設(shè)計程序已經(jīng)沒有統(tǒng)計顯示,而心血管病人出入量記錄控制程序仍然保持高精準(zhǔn)的病人出入量數(shù)據(jù)。當(dāng)時間超過21點時,病人已經(jīng)休息,入量項目較少,對于夜晚的出入量可待第二天早上7點進行統(tǒng)計。因此,以系統(tǒng)內(nèi)存為單位集合全部數(shù)據(jù),根據(jù)基本操作序列設(shè)置檢索關(guān)鍵詞的心血管病人出入量記錄控制程序運行效率較高。
傳統(tǒng)程序僅對病人基本信息進行設(shè)計,而心血管病人出入量記錄控制程序是對數(shù)據(jù)錄入、信息查詢和數(shù)據(jù)處理進行設(shè)計。為了驗證不同誤差控制界面下兩種程序運行效率,將傳統(tǒng)程序與對心血管病人出入量記錄控制程序進行對比,結(jié)果如圖6所示。
圖6 不同誤差控制界面下兩種程序運行效率對比結(jié)果
由圖6可知:在時間相同條件下,采用傳統(tǒng)設(shè)計的程序初始運行效率為0,之后呈上升—平穩(wěn)—下降狀態(tài),而心血管病人出入量記錄控制程序初始運行效率較高,之后呈下降—平穩(wěn)—下降狀態(tài)。正是因為傳統(tǒng)程序缺乏對15~21點的數(shù)據(jù)統(tǒng)計,最初效率需從0開始,中間平穩(wěn)運行狀態(tài)是病人只入不出的量值,當(dāng)統(tǒng)計時間截止時,運行效率下降到0,增大了記錄誤差。由此可看出,心血管病人出入量記錄控制程序統(tǒng)計數(shù)值較多,能夠準(zhǔn)確呈現(xiàn)出入量變化情況。因此,在誤差控制界面較為詳細(xì)的心血管病人出入量記錄控制程序運行效率較高,降低了出入量記錄誤差。
根據(jù)上述實驗內(nèi)容可知,程序編譯、出入量記錄結(jié)構(gòu)和誤差控制界面技術(shù)對程序運行效率具有較大影響,心血管病人出入量記錄控制程序分別采用具有特定參數(shù)的C++語言對程序進行編譯,根據(jù)基本操作序列編譯原理構(gòu)建關(guān)鍵數(shù)字索引,對數(shù)據(jù)錄入、信息查詢和數(shù)據(jù)處理進行設(shè)計可有效提高程序運行效率。
心血管病人出入量記錄控制程序設(shè)計可將出入量表格與粘貼單合二為一,降低護士重復(fù)記錄的次數(shù),提高出入量項目記錄精準(zhǔn)度。在主治醫(yī)師與患者溝通時可通過查詢計算機準(zhǔn)確了解患者病癥信息,使醫(yī)生更加快速、準(zhǔn)確的對患者診治。雖然該程序的設(shè)計提高了運行效率,降低了出入量記錄誤差,但是卻無法保證系統(tǒng)的穩(wěn)定性,因此,在后續(xù)研究中設(shè)計可以保持穩(wěn)定運行的程序,提高心血管病人的治療效果。