屈華炎 戴金華
摘 ?要: 隨著現(xiàn)在醫(yī)院檢驗科儀器不斷增多,為了實現(xiàn)儀器的自動化管理,LIS系統(tǒng)必須重新開發(fā)通信軟件來連接新儀器,非常不方便。對此,提出在TCP/IP通信模式下通過修改參數(shù)實現(xiàn)不同儀器的通信軟件設計。因此,分別從數(shù)據(jù)交互、字段分析、結果處理三個方面分析通信數(shù)據(jù)處理過程。利用軟件讀取配置參數(shù)來截取數(shù)據(jù),從而實現(xiàn)TCP/IP通信模式下不同儀器通信接口問題。最終減少重新開發(fā)軟件的工作量,簡化通信接口程序,增加通信接口的靈活程度,方便軟件的實施。
關鍵詞:?TCP/IP通信;數(shù)據(jù)交互;結構分析;通信接口
中圖分類號: TP311????文獻標識碼:?A????DOI:10.3969/j.issn.1003-6970.2019.09.002
本文著錄格式:屈華炎,戴金華. TCP/IP模式下檢驗儀器通信軟件的設計與實現(xiàn)[J]. 軟件,2019,40(9):08-12
Design and Implementation of Communication Software for Test Instrument Based on TCP/IP Mode
QU Hua-yan1,?DAI Jin-hua2*
(1.?School of Intelligent Electronics Zhejiang Business Technology Institute, Ningbo 315012, China;2.?Clinical Laboratory Hwa Mei Hospital University of Chinese Academy of Sciences, Ningbo 315012,?China)
【Abstract】: With the increasing number of instruments in hospital laboratory, in order to realize the automatic management of instruments, LIS system must redevelop communication software to connect new instruments, which is very inconvenient. In view of this, the design of communication software for different instruments is proposed by modifying parameters in TCP/IP communication mode. Therefore, the communication data processing process is analyzed from three aspects: data interaction, field analysis and result processing. Using software to read configuration parameters to intercept data, so as to achieve different instrument communication interface problems under TCP/IP communication mode. Finally, it reduces the workload of redeveloping the software, simplifies the communication interface program, increases the flexibility of the communication interface, and facilitates the implementation of the software.
【Key words】: TCP/IP communication; Data interaction; Structural analysis; Communication interface
隨著現(xiàn)在醫(yī)院建設向大型化、綜合化方向不斷發(fā)展,醫(yī)院檢驗標本量較之以前有著明顯的提升,使得一些具有高度自動化和集成化的檢驗儀器不斷的投入使用[1]。現(xiàn)階段越來越多的檢驗儀器使用TCP/IP的數(shù)據(jù)通信模式。針對這種通信模式對比傳統(tǒng)的串口通信模式具有傳輸速率高,操作簡單,使用方便等優(yōu)勢。近年來越來越多的中外廠商注重對網(wǎng)絡接口檢驗儀器的生產開發(fā)。
因此要把儀器加入到整個LIS系統(tǒng)中,必須根據(jù)TCP/IP模式下通信交互原理以及計算機軟硬件知識,對數(shù)據(jù)交互與數(shù)據(jù)結構進行分析,編寫通信接口,通過接口進行數(shù)據(jù)交互,分析提取化驗結果并傳送到LIS系統(tǒng)[2]。整個過程無需人工干預,利用接口實現(xiàn)儀器的高度自動化和集成化,避免手工模式下的數(shù)據(jù)差錯,有利于檢驗工作效率的提高[3]。
但是每增加一臺儀器就必須開發(fā)新的接口,為了實現(xiàn)儀器的自動化管理,LIS系統(tǒng)必須重新開發(fā)
通信接口來連接新儀器,非常不方便。同時,軟件開發(fā)周期長、通信接口靈活程度不高等問題困擾著軟件實施。因此,以邁瑞公司所生產的BC5500血液細胞分析儀為例,分別從數(shù)據(jù)交互、字段分析、結果處理三個方面分析通信數(shù)據(jù)處理過程。利用軟件讀取配置參數(shù)來截取數(shù)據(jù),實現(xiàn)TCP/IP通信模式下不同儀器通信接口問題,從而設計通用的通信接口,通過修改參數(shù)來達到不同儀器使用的目的。
LIS系統(tǒng)標本檢驗流程如圖1所示,主要包括化驗數(shù)據(jù)交互、結構分析、數(shù)據(jù)處理三個過程。從標本接收開始到最終結果保存都是全自動化進行,通過編寫好的接口進行數(shù)據(jù)通信和分析[4]。標本在處理過程中不需要人員的干預和設置,這樣檢驗人員可以投入更多的精力在質量控制以及標本管理等方面。根據(jù)化驗標本處理流程,可以清楚的了解整個數(shù)據(jù)的通信過程,數(shù)據(jù)通信過程中主要是儀器、通信接口、LIS數(shù)據(jù)庫、HIS數(shù)據(jù)庫三者之間的數(shù)據(jù)交互[5]。其中儀器與通信接口的數(shù)據(jù)交互最為關鍵,也是數(shù)據(jù)處理的重點和難點。
由于要針對儀器接口進行數(shù)據(jù)交互,就必須根據(jù)不同的交互模式進行軟件架構。由于每個儀器公司對自家儀器通信的交互定義各不相同,因此接口在設計的時候必須具有可擴展性。例如BC5500血液細胞分析儀的化驗數(shù)據(jù)是通過TCP/IP進行傳輸?shù)?,TCP/IP協(xié)議在通信前需要進行連接,數(shù)據(jù)通過通用的網(wǎng)絡接口傳送給外部計算機[6]。
BC5500血液細胞分析儀是通過5500端口進行數(shù)據(jù)傳送的,在和軟件進行通信過程前,需要完成軟硬件的配置。由于檢驗儀器電腦一方面需要和LIS服務器進行數(shù)據(jù)交互,另一方面要和化驗儀器進行數(shù)據(jù)通信,因此,在計算機上要配有2塊網(wǎng)卡,一塊連接LIS服務器,與LIS系統(tǒng)進行數(shù)據(jù)通信,另一塊連接化驗儀器,和儀器進行數(shù)據(jù)通信[7]。用網(wǎng)線連接化驗儀器時,具體接線方式要參考儀器通信手冊,嚴格按照通信手冊連接網(wǎng)線,化驗儀器在數(shù)據(jù)傳輸時有一定的規(guī)則,否則數(shù)據(jù)傳輸會報錯或者亂碼。然后根據(jù)儀器通信技術說明,在儀器和軟件上設置相應參數(shù),包括對應的端口號、IP地址,開啟端口,檢驗方式,響應方式等等,使得儀器和軟件建立起通信接連[8]。
化驗儀器收到網(wǎng)絡連接之后,表明已經(jīng)和LIS通信接口建立通信,創(chuàng)建專用數(shù)據(jù)傳輸線程進行數(shù)據(jù)通信,在此過程中要進行數(shù)據(jù)交互,如果缺少必要的應答信號,數(shù)據(jù)通信建立會斷開,導致通信失敗。儀器給通信接口發(fā)送信號,接口軟件根據(jù)收到的信息發(fā)送應答。儀器接收標本后,首先向接口軟件發(fā)送一個請求,具體該標本需要做哪些項目。接口軟件去數(shù)據(jù)庫中查詢該標本的檢驗醫(yī)囑信息,根據(jù)醫(yī)囑發(fā)送給儀器該條碼包含的項目信息,包括項目命令頭、患者信息、項目通道、應答信息等等,這樣儀器就知道該標本具體做哪些項目。儀器等檢驗完成后進行數(shù)據(jù)傳輸,通信接口接收數(shù)據(jù)后針對數(shù)據(jù)再做進一步的結構分析和處理,并把結果保存到數(shù)據(jù)庫中[9]。最后數(shù)據(jù)傳輸結束,通信接口等待下一個標本的數(shù)據(jù)。
首先,結合TCP/IP通信的原理以及傳輸流程分析數(shù)據(jù)交互過程。其次通過儀器數(shù)據(jù)交互情況來分析儀器的數(shù)據(jù)格式,了解儀器申請、應答數(shù)據(jù)的各部分含義,最后編寫數(shù)據(jù)交互程序。因此,在編程時要結合TCP/IP的數(shù)據(jù)傳輸編寫接收代碼,經(jīng)過代碼調試和軟件測試,形成最終的交互程序。等儀器化驗完成后,儀器將化驗結果信息發(fā)送給接口軟件,最后在分析數(shù)據(jù)[10]。
通信接口接收到標本數(shù)據(jù)之后,對數(shù)據(jù)進行格式分析,根據(jù)儀器通信說明書進行軟件架構,對于檢驗項目根據(jù)通道號進行數(shù)據(jù)提取,最后解析儀器傳輸來的數(shù)據(jù),再把數(shù)據(jù)保存到LIS中,得出該病人的化驗結果。圖2是分析軟件設計過程。
2.1數(shù)據(jù)包結構分析
接收的數(shù)據(jù)中以協(xié)議數(shù)據(jù)包的格式存放。協(xié)議數(shù)據(jù)包是單個協(xié)議傳輸?shù)淖钚卧看蝹鬏敓o論數(shù)據(jù)量的多少,都要滿足完整協(xié)議數(shù)據(jù)包的格式要求[11]。完整的一個數(shù)據(jù)包有三個層次的數(shù)據(jù)信息組成如圖3所示。
Message消息段,包括MS起始字段、MD描述字段、ME結束字段。MD描述字段中包括若干個Segment數(shù)據(jù)段,一個完整的Segment數(shù)據(jù)段包括SD描述字段、SE結束字段。其中SD描述字段包括若干個Field屬性段,一個Field屬性段包括FD描述字段、V值域、FE結束字段。除顯示傳輸?shù)亩M制數(shù)據(jù)以及協(xié)議描述字段中的MS、ME、SE、FE以外,數(shù)據(jù)傳送通過ASCII文本編碼方式傳送。其中MD、SD、FD部分傳送的是直接描述其含義的字符串,表1是對應的字段名含義。
2.2化驗標本數(shù)據(jù)分析
完整的一個標本數(shù)據(jù)是以ENQ起始,NL結束。具體有三部分組成,包括基礎信息、化驗項目數(shù)據(jù)信息、圖像信息。
基礎信息包括儀器參數(shù)信息、病人信息等。儀器參數(shù)主要是儀器的基本信息,包括儀器型號、公司名稱、生產日期、軟件版本等信息。病人信息包括病人基本信息、樣本檢測模式、傳遞參數(shù)等。詳細基礎信息含義如表2所示。
化驗項目數(shù)據(jù)信息包括具體的化驗項目名稱、項目結果、范圍、單位、高低標志。詳細項目數(shù)據(jù)段字段含義如表3所示,其中數(shù)據(jù)段對應LIS系統(tǒng)中的項目通道號。當數(shù)據(jù)交互時,儀器從數(shù)據(jù)庫獲取該條碼的檢驗醫(yī)囑,從而通過醫(yī)囑獲取具體檢驗項目的通道號,具體過程全部由軟件完成,完全實現(xiàn)自動化。
圖像信息包含相關的圖形數(shù)據(jù),具體包括BASO 散點圖、DIFF 散點圖、RBC 直方圖和?PLT直方圖。圖形信息的目的是針對重要數(shù)據(jù)進行散點圖、直方圖展示,以便醫(yī)生了解詳細數(shù)據(jù)分布情況。醫(yī)生通過對散點圖、直方圖和正常圖形比較,結合細胞參數(shù)、報警提示進行綜合分析。
3.1數(shù)據(jù)處理
儀器檢驗完成后,把標本的結果傳送給通信接口,去除交互過程后最終獲取到基礎信息如圖4所示,化驗項目數(shù)據(jù)信息如圖5所示。根據(jù)BC5500的數(shù)據(jù)字段格式,利用編寫的解析軟件對獲取到的化驗數(shù)據(jù)進行解析。對化驗結果進行分析后,把最終的結果保存到數(shù)據(jù)庫中,以便病人、醫(yī)生查詢。
最后,針對數(shù)據(jù)編寫接口程序,根據(jù)數(shù)據(jù)結構完成代碼設計與數(shù)據(jù)處理[12]。表4是通信接口程序的主要功能函數(shù),利用功能函數(shù)調用通信接口配置信息來實現(xiàn)各部分數(shù)據(jù)的采集和歸類。
因此,整個流程是根據(jù)對應的儀器數(shù)據(jù)格式查看數(shù)據(jù)說明文檔,編寫相應的分析程序對數(shù)據(jù)進行分析。同時,通過不斷的調試和測試形成最終通信接口,利用接口進行數(shù)據(jù)通信交互、數(shù)據(jù)結構分析、數(shù)據(jù)處理,最后保存到LIS數(shù)據(jù)庫中。LIS系統(tǒng)獲取項目信息后再傳送給HIS系統(tǒng),使得兩者信息共享、數(shù)據(jù)互通。其目的是方便醫(yī)生、病人等在網(wǎng)上實時查看檢驗結果,縮短了數(shù)據(jù)傳遞的效率以及簡化整個標本處理流程。圖6是經(jīng)過通信接口解析之后的化驗結果。
3.2軟件接口設計
根據(jù)BC5500儀器的數(shù)據(jù)交互與結構分析以及其他TCP/IP通信模式儀器數(shù)據(jù)結構的對比,設計針對TCP/IP通信模式的通信接口,構建接口配置文件[13]。對于此類儀器,只需要修改參數(shù)配置就可以建立起通信并進行數(shù)據(jù)交互處理。具體參數(shù)中需要配置的主要信息如表5所示,包括儀器信息配置、基本信息配置、化驗結果信息配置。
一方面,對于通信接口和儀器的連接,只需要根據(jù)儀器通信參數(shù),配置相關的IP地址和對應的端口號,就可以使兩者建立連接[14]。對于需要實時雙向通信的儀器,每當儀器發(fā)出請求信號,配置文件中可以設置特定的應答信號給予回應,并保持通信連接。另一方面,對于檢驗結果分析可以根據(jù)不同儀器設置不同的分析類型,自由調整分隔符標志和分隔位置。同時,可以調整信息數(shù)據(jù)段截取方式和方法,設置數(shù)據(jù)間隔、數(shù)據(jù)段的判斷標志等等。這樣的設計可以增加通信接口的靈活程度,針對不同的儀器只需要修改相應的參數(shù),免去再次開發(fā)通信接口的煩惱。這種模式的構建既可以節(jié)省時間,避免針對不同儀器進行通信接口的開發(fā),又可以簡化通信接口,增加接口的靈活程度,方便軟件的實施。圖7是最終所設計的通信接口軟件界面。
通過對通信接口軟件的設計,針對不同儀器修改參數(shù)配置來實現(xiàn)數(shù)據(jù)通信和數(shù)據(jù)處理,利用通信接口分析TCP/IP模式下儀器的檢驗數(shù)據(jù),簡化開發(fā)流程。最終針對通信接口修改參數(shù)配置后,已經(jīng)在BC5200、BC5300、BC5380、BC5500、BC5800、BC6800、BS400、XS1000I、XS800I、XT1800I、UF500I等TCP/IP傳輸模式下的檢驗儀器上使用,運行效果良好。
本文通過對化驗儀器TCP/IP通信軟件的設計與實現(xiàn)解決數(shù)據(jù)交互、結構分析、數(shù)據(jù)處理等一系列問題,來實現(xiàn)化驗信息的自動化管理,減少人為原因的誤差,提高工作效率?;瀮x器TCP/IP的通信模式其主要是利用網(wǎng)線進行連接,舍去了串口傳輸效率低下、串口接線方式不同的特點。通過與醫(yī)院信息化系統(tǒng)對接,實現(xiàn)數(shù)據(jù)的共享共通,保證了整個醫(yī)院信息系統(tǒng)的高度集成化。
由于數(shù)據(jù)傳輸時要遵循特定的規(guī)則,每次傳輸無論數(shù)據(jù)量的大小,都要滿足交互格式的要求。因此,通過對儀器通信模式下的數(shù)據(jù)交互與結構分析,了解數(shù)據(jù)交互的原理,編寫交互程序。最后,根據(jù)儀器數(shù)據(jù)格式設計通信接口,通過修改配置參數(shù)運
用到不同型號的儀器當中,簡化通信軟件的開發(fā),增加接口的靈活程度,方便軟件的實施。
參考文獻