屈華炎 戴金華



摘 ?要: 隨著現在醫院檢驗科儀器不斷增多,為了實現儀器的自動化管理,LIS系統必須重新開發通信軟件來連接新儀器,非常不方便。對此,提出在TCP/IP通信模式下通過修改參數實現不同儀器的通信軟件設計。因此,分別從數據交互、字段分析、結果處理三個方面分析通信數據處理過程。利用軟件讀取配置參數來截取數據,從而實現TCP/IP通信模式下不同儀器通信接口問題。最終減少重新開發軟件的工作量,簡化通信接口程序,增加通信接口的靈活程度,方便軟件的實施。
關鍵詞:?TCP/IP通信;數據交互;結構分析;通信接口
中圖分類號: TP311????文獻標識碼:?A????DOI:10.3969/j.issn.1003-6970.2019.09.002
本文著錄格式:屈華炎,戴金華. TCP/IP模式下檢驗儀器通信軟件的設計與實現[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
隨著現在醫院建設向大型化、綜合化方向不斷發展,醫院檢驗標本量較之以前有著明顯的提升,使得一些具有高度自動化和集成化的檢驗儀器不斷的投入使用[1]。現階段越來越多的檢驗儀器使用TCP/IP的數據通信模式。針對這種通信模式對比傳統的串口通信模式具有傳輸速率高,操作簡單,使用方便等優勢。近年來越來越多的中外廠商注重對網絡接口檢驗儀器的生產開發。
因此要把儀器加入到整個LIS系統中,必須根據TCP/IP模式下通信交互原理以及計算機軟硬件知識,對數據交互與數據結構進行分析,編寫通信接口,通過接口進行數據交互,分析提取化驗結果并傳送到LIS系統[2]。整個過程無需人工干預,利用接口實現儀器的高度自動化和集成化,避免手工模式下的數據差錯,有利于檢驗工作效率的提高[3]。
但是每增加一臺儀器就必須開發新的接口,為了實現儀器的自動化管理,LIS系統必須重新開發
通信接口來連接新儀器,非常不方便。同時,軟件開發周期長、通信接口靈活程度不高等問題困擾著軟件實施。因此,以邁瑞公司所生產的BC5500血液細胞分析儀為例,分別從數據交互、字段分析、結果處理三個方面分析通信數據處理過程。利用軟件讀取配置參數來截取數據,實現TCP/IP通信模式下不同儀器通信接口問題,從而設計通用的通信接口,通過修改參數來達到不同儀器使用的目的。
LIS系統標本檢驗流程如圖1所示,主要包括化驗數據交互、結構分析、數據處理三個過程。從標本接收開始到最終結果保存都是全自動化進行,通過編寫好的接口進行數據通信和分析[4]。標本在處理過程中不需要人員的干預和設置,這樣檢驗人員可以投入更多的精力在質量控制以及標本管理等方面。根據化驗標本處理流程,可以清楚的了解整個數據的通信過程,數據通信過程中主要是儀器、通信接口、LIS數據庫、HIS數據庫三者之間的數據交互[5]。其中儀器與通信接口的數據交互最為關鍵,也是數據處理的重點和難點。
由于要針對儀器接口進行數據交互,就必須根據不同的交互模式進行軟件架構。由于每個儀器公司對自家儀器通信的交互定義各不相同,因此接口在設計的時候必須具有可擴展性。例如BC5500血液細胞分析儀的化驗數據是通過TCP/IP進行傳輸的,TCP/IP協議在通信前需要進行連接,數據通過通用的網絡接口傳送給外部計算機[6]。
BC5500血液細胞分析儀是通過5500端口進行數據傳送的,在和軟件進行通信過程前,需要完成軟硬件的配置。由于檢驗儀器電腦一方面需要和LIS服務器進行數據交互,另一方面要和化驗儀器進行數據通信,因此,在計算機上要配有2塊網卡,一塊連接LIS服務器,與LIS系統進行數據通信,另一塊連接化驗儀器,和儀器進行數據通信[7]。用網線連接化驗儀器時,具體接線方式要參考儀器通信手冊,嚴格按照通信手冊連接網線,化驗儀器在數據傳輸時有一定的規則,否則數據傳輸會報錯或者亂碼。然后根據儀器通信技術說明,在儀器和軟件上設置相應參數,包括對應的端口號、IP地址,開啟端口,檢驗方式,響應方式等等,使得儀器和軟件建立起通信接連[8]。
化驗儀器收到網絡連接之后,表明已經和LIS通信接口建立通信,創建專用數據傳輸線程進行數據通信,在此過程中要進行數據交互,如果缺少必要的應答信號,數據通信建立會斷開,導致通信失敗。儀器給通信接口發送信號,接口軟件根據收到的信息發送應答。儀器接收標本后,首先向接口軟件發送一個請求,具體該標本需要做哪些項目。接口軟件去數據庫中查詢該標本的檢驗醫囑信息,根據醫囑發送給儀器該條碼包含的項目信息,包括項目命令頭、患者信息、項目通道、應答信息等等,這樣儀器就知道該標本具體做哪些項目。儀器等檢驗完成后進行數據傳輸,通信接口接收數據后針對數據再做進一步的結構分析和處理,并把結果保存到數據庫中[9]。最后數據傳輸結束,通信接口等待下一個標本的數據。
首先,結合TCP/IP通信的原理以及傳輸流程分析數據交互過程。其次通過儀器數據交互情況來分析儀器的數據格式,了解儀器申請、應答數據的各部分含義,最后編寫數據交互程序。因此,在編程時要結合TCP/IP的數據傳輸編寫接收代碼,經過代碼調試和軟件測試,形成最終的交互程序。等儀器化驗完成后,儀器將化驗結果信息發送給接口軟件,最后在分析數據[10]。
通信接口接收到標本數據之后,對數據進行格式分析,根據儀器通信說明書進行軟件架構,對于檢驗項目根據通道號進行數據提取,最后解析儀器傳輸來的數據,再把數據保存到LIS中,得出該病人的化驗結果。圖2是分析軟件設計過程。
2.1數據包結構分析
接收的數據中以協議數據包的格式存放。協議數據包是單個協議傳輸的最小單元,每次傳輸無論數據量的多少,都要滿足完整協議數據包的格式要求[11]。完整的一個數據包有三個層次的數據信息組成如圖3所示。
Message消息段,包括MS起始字段、MD描述字段、ME結束字段。MD描述字段中包括若干個Segment數據段,一個完整的Segment數據段包括SD描述字段、SE結束字段。其中SD描述字段包括若干個Field屬性段,一個Field屬性段包括FD描述字段、V值域、FE結束字段。除顯示傳輸的二進制數據以及協議描述字段中的MS、ME、SE、FE以外,數據傳送通過ASCII文本編碼方式傳送。其中MD、SD、FD部分傳送的是直接描述其含義的字符串,表1是對應的字段名含義。
2.2化驗標本數據分析
完整的一個標本數據是以ENQ起始,NL結束。具體有三部分組成,包括基礎信息、化驗項目數據信息、圖像信息。
基礎信息包括儀器參數信息、病人信息等。儀器參數主要是儀器的基本信息,包括儀器型號、公司名稱、生產日期、軟件版本等信息。病人信息包括病人基本信息、樣本檢測模式、傳遞參數等。詳細基礎信息含義如表2所示。
化驗項目數據信息包括具體的化驗項目名稱、項目結果、范圍、單位、高低標志。詳細項目數據段字段含義如表3所示,其中數據段對應LIS系統中的項目通道號。當數據交互時,儀器從數據庫獲取該條碼的檢驗醫囑,從而通過醫囑獲取具體檢驗項目的通道號,具體過程全部由軟件完成,完全實現自動化。
圖像信息包含相關的圖形數據,具體包括BASO 散點圖、DIFF 散點圖、RBC 直方圖和?PLT直方圖。圖形信息的目的是針對重要數據進行散點圖、直方圖展示,以便醫生了解詳細數據分布情況。醫生通過對散點圖、直方圖和正常圖形比較,結合細胞參數、報警提示進行綜合分析。
3.1數據處理
儀器檢驗完成后,把標本的結果傳送給通信接口,去除交互過程后最終獲取到基礎信息如圖4所示,化驗項目數據信息如圖5所示。根據BC5500的數據字段格式,利用編寫的解析軟件對獲取到的化驗數據進行解析。對化驗結果進行分析后,把最終的結果保存到數據庫中,以便病人、醫生查詢。
最后,針對數據編寫接口程序,根據數據結構完成代碼設計與數據處理[12]。表4是通信接口程序的主要功能函數,利用功能函數調用通信接口配置信息來實現各部分數據的采集和歸類。
因此,整個流程是根據對應的儀器數據格式查看數據說明文檔,編寫相應的分析程序對數據進行分析。同時,通過不斷的調試和測試形成最終通信接口,利用接口進行數據通信交互、數據結構分析、數據處理,最后保存到LIS數據庫中。LIS系統獲取項目信息后再傳送給HIS系統,使得兩者信息共享、數據互通。其目的是方便醫生、病人等在網上實時查看檢驗結果,縮短了數據傳遞的效率以及簡化整個標本處理流程。圖6是經過通信接口解析之后的化驗結果。
3.2軟件接口設計
根據BC5500儀器的數據交互與結構分析以及其他TCP/IP通信模式儀器數據結構的對比,設計針對TCP/IP通信模式的通信接口,構建接口配置文件[13]。對于此類儀器,只需要修改參數配置就可以建立起通信并進行數據交互處理。具體參數中需要配置的主要信息如表5所示,包括儀器信息配置、基本信息配置、化驗結果信息配置。
一方面,對于通信接口和儀器的連接,只需要根據儀器通信參數,配置相關的IP地址和對應的端口號,就可以使兩者建立連接[14]。對于需要實時雙向通信的儀器,每當儀器發出請求信號,配置文件中可以設置特定的應答信號給予回應,并保持通信連接。另一方面,對于檢驗結果分析可以根據不同儀器設置不同的分析類型,自由調整分隔符標志和分隔位置。同時,可以調整信息數據段截取方式和方法,設置數據間隔、數據段的判斷標志等等。這樣的設計可以增加通信接口的靈活程度,針對不同的儀器只需要修改相應的參數,免去再次開發通信接口的煩惱。這種模式的構建既可以節省時間,避免針對不同儀器進行通信接口的開發,又可以簡化通信接口,增加接口的靈活程度,方便軟件的實施。圖7是最終所設計的通信接口軟件界面。
通過對通信接口軟件的設計,針對不同儀器修改參數配置來實現數據通信和數據處理,利用通信接口分析TCP/IP模式下儀器的檢驗數據,簡化開發流程。最終針對通信接口修改參數配置后,已經在BC5200、BC5300、BC5380、BC5500、BC5800、BC6800、BS400、XS1000I、XS800I、XT1800I、UF500I等TCP/IP傳輸模式下的檢驗儀器上使用,運行效果良好。
本文通過對化驗儀器TCP/IP通信軟件的設計與實現解決數據交互、結構分析、數據處理等一系列問題,來實現化驗信息的自動化管理,減少人為原因的誤差,提高工作效率?;瀮x器TCP/IP的通信模式其主要是利用網線進行連接,舍去了串口傳輸效率低下、串口接線方式不同的特點。通過與醫院信息化系統對接,實現數據的共享共通,保證了整個醫院信息系統的高度集成化。
由于數據傳輸時要遵循特定的規則,每次傳輸無論數據量的大小,都要滿足交互格式的要求。因此,通過對儀器通信模式下的數據交互與結構分析,了解數據交互的原理,編寫交互程序。最后,根據儀器數據格式設計通信接口,通過修改配置參數運
用到不同型號的儀器當中,簡化通信軟件的開發,增加接口的靈活程度,方便軟件的實施。
參考文獻