国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于EXCEL/VBA的容量式輸液泵準確性檢測系統(tǒng)的開發(fā)

2016-12-16 06:45吳少海樊翔黃慶華
中國醫(yī)療器械信息 2016年9期
關鍵詞:輸液泵控件調(diào)用

吳少海樊翔黃慶華

1 國家食品藥品監(jiān)督管理局廣州醫(yī)療器械質(zhì)量監(jiān)督檢驗中心 (廣州 510663)

2 華南理工大學 (廣州 510000)

基于EXCEL/VBA的容量式輸液泵準確性檢測系統(tǒng)的開發(fā)

吳少海1樊翔1黃慶華2

1 國家食品藥品監(jiān)督管理局廣州醫(yī)療器械質(zhì)量監(jiān)督檢驗中心 (廣州 510663)

2 華南理工大學 (廣州 510000)

本文主要討論基于EXCEL/VBA技術實現(xiàn)容量式輸液泵準確性檢測系統(tǒng)的開發(fā)過程。

容量式輸液泵 Visual Basic for Applications(VBA)

0.引言

容量式輸液泵是指輸液速度由操作者設定并且設備以每單位時間的容量來指示的輸液泵,但不包括注射泵[1]。在IEC 60601-2-24:2012[3]中,準確性被規(guī)定作為容量式輸液泵的基本性能[2],可見啟動后的容量式輸液泵性能準確性數(shù)據(jù)是非常重要的。準確性較差的容量式輸液泵對于患者來說風險較大,因此必須通過明確的方法指示,以便操作者能夠選擇設備來適應臨床的應用。

在GB9706.27-2005[1]標準中可以接受的明確的指示方法為在不同的背景壓情況下對應的輸液泵的喇叭圖及上升曲線。為了繪制這些曲線,需要采集大量的數(shù)據(jù)進行計算,最后生成上升曲線以及喇叭圖。由于數(shù)據(jù)量龐大,若通過人工方式來完成數(shù)據(jù)的采集及處理,會耗費大量的人力物力,而這些單調(diào)的數(shù)據(jù)采集工作及復雜繁瑣的數(shù)據(jù)處理功能如果由計算機來完成則可以盡量節(jié)約成本,提高工作效率。而EXCEL/VBA技術完全可以滿足這些需求。

1.主要技術要點

1.1 EXCEL/VBA

Microsoft office EXCEL是微軟的Microsoft Office中的重要組成部分,具有直觀快捷的數(shù)據(jù)輸入、強大靈活的數(shù)據(jù)處理、豐富多樣的圖表制作、完善快捷的報表設計以及快速完備的統(tǒng)計分析功能;而VBA(Visual Basic for Applications的簡稱),是集成在Office系統(tǒng)中的可視化BASIC語言,它幾乎繼承了VB(Visual Basic的簡稱)的所有功能,因此功能非常強大。[7]

使用EXCEL/VBA開發(fā)容量式輸液泵準確性檢測系統(tǒng)具有以下幾個方面的優(yōu)勢:

(1)Microsoft office EXCEL是由微軟公司開發(fā)的,與安裝WINDOWS操作系統(tǒng)的計算機具有很好的兼容性,它可以直接調(diào)用WINDOWS操作系統(tǒng)中的核心函數(shù)及控件而不需要安裝其他多作的組件或插件。例如,本文中使用的Microsoft Comm Control 6.0控件即是WINDOWS操作系統(tǒng)自身的控件。

(2)Microsoft office EXCEL本身就是使用非常普遍的辦公軟件,通過該軟件開發(fā)完后的系統(tǒng)具有很強的可移植性,只需要一個EXCEL文件即可在安裝有指定版本的Microsoft office EXCEL的計算機上使用,而不需要對計算機進行額外的配置。

(3)Microsoft office EXCEL本身即具有的數(shù)據(jù)處理功能、圖表制作者功能,這些都是我們在開發(fā)系統(tǒng)的過程中所需要的,而集成于內(nèi)部的VBA也是我們所需要的開發(fā)工具,它們具有良好的兼容性。

1.2 Microsoft Comm Control 6.0控件

EXCEL/VBA需要獲取精密電子天平上的數(shù)據(jù)才能實現(xiàn)后續(xù)的數(shù)據(jù)處理及繪制圖表,VBA與接口RS232之間的通信,主要是通過對Microsoft Comm Control 6.0通信控件(簡稱MSComm)的屬性和事件進行相應編程操作來完成系統(tǒng)的控制與通信。[4]在實現(xiàn)的過程中,主要使用到的屬性和事件如下:

Setting:對串口通信的相關參數(shù),包括串口通信的比特率、奇偶校驗、數(shù)據(jù)位長度、停止位等。

InBufferCount:設置輸入寄存器所存儲的字符數(shù),當將其值設為0時,則輸入寄存器將被清空。

RThreshold: 在MSComm控 件 中, 設置CommEvent屬性為comEvReceive并產(chǎn)生OnComm事件之前要接收的字符數(shù)。

OnComm事件:當CommEvent屬性值變化時將發(fā)生OnComm事件,指示發(fā)生一個通信事件或錯誤。當設置Rtheshold屬性為0時,將使得捕獲comEvReceive事件無效。

1.3 API計時器

API是Application Programming Interface(應用程序接口)的簡稱[5],是WINDOWS操作系統(tǒng)提供給應用程序調(diào)用的一組函數(shù)集合,開發(fā)人員編程時直接調(diào)用,可實現(xiàn)VB本身不能實現(xiàn)的特殊功能。API計時器也是API函數(shù)之一,通過聲明就可以直接調(diào)用該函數(shù)。容量式輸液泵準確性檢測系統(tǒng)主要通過調(diào)用API計時器,實現(xiàn)數(shù)據(jù)的定時采集功能。

1.4 正則表達式

正則表達式由美國數(shù)學家Stephen Kleene于1956年提出,主要用于描述正則集代數(shù),它是提供給計算機操作和檢驗所要抽取的字符串數(shù)據(jù)的一種強大的工具,是一串由特定意義的字符組成的字符串,表示某種匹配的規(guī)則。[6]

不同的電子天平,輸出的數(shù)據(jù)格式不一定相同,即使同一臺電子天平,通過MSComm獲取的串口數(shù)據(jù)也并不一定都是完整有效的或者是合法的,因此,需要對每一次獲取的數(shù)據(jù)進行校驗。容量式輸液泵準確性檢測系統(tǒng)使用正則表達式實現(xiàn)對獲得的數(shù)據(jù)的過濾,以確保獲得的數(shù)據(jù)的合法性。

2.開發(fā)過程

2.1 開發(fā)基本思路

根據(jù)GB9706.27-2005[1]的要求,按照圖1所示布置好試驗裝置。通過EXCEL/VBA調(diào)用MSComm通信控件實現(xiàn)從精密電子天平讀取數(shù)據(jù)的過程,再對讀取的數(shù)據(jù)進行校驗,最后把合法的數(shù)據(jù)寫入Microsoft office EXCEL中。通過調(diào)用API計時器進行并行處理,以實現(xiàn)定時循環(huán)上述過程的目的。完成數(shù)據(jù)采集后對存儲在Microsoft office EXCEL中的數(shù)據(jù)進行處理,生成GB9706.27-2005[1]標準要求的喇叭圖及上升曲線圖。

2.2 數(shù)據(jù)采集階段

容量式輸液泵準確性檢測系統(tǒng)分為四個階段進行,分別是數(shù)據(jù)采集階段、數(shù)據(jù)處理階段及繪制喇叭圖和上升曲線階段。完成以上階段后還可以對處理完后的數(shù)據(jù)進行保存。其中,數(shù)據(jù)采集階段的基本流程圖如圖2所示。

步驟一:初始化

在容量式輸液泵準確性檢測系統(tǒng)開始采集數(shù)據(jù)之前,需要對系統(tǒng)進行初始化,初始化的內(nèi)容包括:一是清空excel中原來保存的數(shù)據(jù),以防止對后續(xù)數(shù)據(jù)的處理階段造成影響;二是對串口進行初始設置,該設置主要是調(diào)用MSComm控件的Setting參數(shù),設置串口通信的比特率、奇偶校驗、數(shù)據(jù)位長度、停止位等,并檢查使用的串口的啟動狀態(tài),以確保串口未被占用并可以被本系統(tǒng)使用。整個初始化過程需要消耗一定的時間,在開始數(shù)據(jù)采集之前進行這一步驟能確保獲得的第一個數(shù)據(jù)的實時性,同時也可以確保整個系統(tǒng)后續(xù)的運行有效。

步驟二:開始采集并記錄第一個數(shù)據(jù)

點擊“開始采集”后,系統(tǒng)調(diào)用API計時器開始計時,同時并行調(diào)用MSComm控件實現(xiàn)數(shù)據(jù)的采集功能。首先需要設置MSComm控件的InBufferCount = 0,清空串口的寄存器緩沖區(qū)的數(shù)據(jù),通過設置MSComm控件的RThreshold 的參數(shù)為 1 以觸發(fā)MSComm控件的OnCom事件,開始對串口進行偵聽,當從串口接收字符達到MSComm所設置的接收閥值時,接收串口寄存器中的數(shù)據(jù),通過正則表達式對該數(shù)據(jù)進行合法性驗證。最后把獲得的合法性數(shù)據(jù)保存到Microsoft office EXCEL中,并關閉偵聽狀態(tài)。完成第一個數(shù)據(jù)的采集。

步驟三:采集并記錄下一個數(shù)據(jù)

圖1. 容量式輸液泵試驗裝置

圖2. 基本流程圖

在系統(tǒng)總的運行時間內(nèi),如果下一個數(shù)據(jù)的采集時間未達到時,MSComm控件的OnCom事件一直處于關閉狀態(tài),系統(tǒng)停止對串口的偵聽。一旦計時到達下一個數(shù)據(jù)的采集時間,則重新開始數(shù)據(jù)的采集過程,重復步驟二。

步驟四:停止采集

在容量式輸液泵準確性檢測系統(tǒng)總的運行時間到達時,系統(tǒng)將自動停止采集,關閉串口通信以節(jié)省計算機資源。該系統(tǒng)也可以手動停止采集。

2.3 數(shù)據(jù)處理階段

在完成數(shù)據(jù)采集后,我們需要對記錄在Microsoft office EXCEL中的數(shù)據(jù)進行處理,為繪制圖表做好準備。

數(shù)據(jù)處理包括計算整個周期內(nèi)的各個流量值(見公式1)、最大百分比誤差(見公式2)、最小百分比誤差(見公式3)、試驗周期的第2個小時總的平均百分比誤差A(見公式5)以及試驗周期最后一個小時總的平均百分比流量誤差B(見公式6)。

圖3. 上升曲線

圖4. 喇叭圖

EXCEL/VBA在進行數(shù)據(jù)處理時,由公式1、公式5及公式6可見,對各個流量值、試驗周期的第2個小時總的平均百分比誤差A,以及試驗周期最后一個小時總的平均百分比流量誤差B這三個數(shù)據(jù)的結果,可以按照給定的算法直接通過VBA調(diào)用Microsoft office EXCEL中相應的單元格內(nèi)數(shù)據(jù)進行計算。而對于公式2及公式3可見,該計算結果需要經(jīng)過循環(huán)計算后再對結果進行處理才能獲得。因此在進行最大百分比誤差、最小百分比誤差的計算時,可以先循環(huán)計算出不同大小的觀測窗內(nèi)m個觀測值,再通過比較法獲得最大值及最小值,從而完成試驗周期的第2個小時總的平均百分比誤差A,以及試驗周期最后一個小時總的平均百分比流量誤差B的算法。

式中:

i=1、2……T0/S

Wi——分析周期T0階段第i次取樣量,單位為克(g)(蒸發(fā)損失修正);

T0——分析周期,單位為分鐘(min);

r——速率,單位為毫升每小時;

S——取樣間隔,單位為分鐘(min);

P——觀測窗期間,取值為2、5、11、19和31min;

d——水的密度(20?C時0.998g/mL);

m——觀測窗的最多數(shù)量;

Tx——分析周期,單位為分鐘(min)。

式中:

r——流速,單位為毫升每小時(mL/h);

Wj——分析周期T1階段末的取樣量,單位為克(g)(j=240);

Wk——分析周期T1階段開始的取樣量,單位為克(g)(k=120);

T1——分析周期,單位為分鐘(min);

d——水的密度(20?C時0.998g/mL)。

式中:

r——流速,單位為毫升每小時(mL/h);

Wj——分析周期T2階段末的取樣量,單位為克(g)(蒸發(fā)損失修正);

Wk——分析周期T2階段開始的取樣量,單位為克(g)(蒸發(fā)損失修正);

T2——分析周期,單位為分鐘(min);

d——水的密度(20?C時0.998g/mL)。

2.4 繪制喇叭圖和上升曲線階段

Microsoft office EXCEL具有強大的繪制圖表功能,通過VBA調(diào)用Chart函數(shù),可以完成圖表的繪制功能,繪制完成后上升曲線如圖3所示,喇叭圖如圖4所示。

3.結論

通過EXCEL/VBA技術完全可以實現(xiàn)容量式輸液泵準確性檢測系統(tǒng)的開發(fā),而且通過這種技術開發(fā)的系統(tǒng)具有可移植性高、兼容性好等特點。在實際的使用過程中,該系統(tǒng)還可以根據(jù)需要進行功能擴展,例如實現(xiàn)數(shù)據(jù)導入功能并對導入的數(shù)據(jù)進行處理、實現(xiàn)數(shù)據(jù)的保存及導出功能等。

[1] GB 9706.27-2005,醫(yī)用電氣設備 第2-24部分:輸液泵和輸液控制器安全專用要求 [S] .

[2] IEC 60601-1:2012 Medical electrical equipment –Part 1: General requirements for basic safety and essential performance[S] .

[3] IEC 60601-2-24:2012 Medical electrical equipment –Part 2-24: Particular requirements for the basic safety and essential performance of infusion pumps and controllers [S] .

[4] 車飛,用VB通信控件實現(xiàn)串口通信[J].電腦編程技巧與維護.2009年第16期

[5] 劉炳文,Visual Basic程序設計教程(第二版)[M].北京:清華大學出版社,2005

[6] 沙金,精通正則表達式[M].北京:人民郵電出版社,2008

[7] 韓澤坤,朱瑞亮.Microsoft Excel VBA高效辦公范例應用[M].北京:中國青年電子出版社,2004

The Development Base on EXCEL/VBA of Accuracy Tests System for VOLUMETRIC INFUSION PUMPS

WU Shao-hai1FAN Xiang1HUANG Qing-hua2
1 Guangzhou Medical Devices Quality Surveillance and Test Center of CFDA (Guangzhou 510663)
2 South China University of Technology (Guangzhou 510000)

The development base on EXCEL/VBA of Accuracy tests system for VOLUMETRIC INFUSION PUMPS Key words: VOLUMETRIC INFUSION PUMPS, Visual Basic for Applications(VBA)

1006-6586(2016)05-0053-05

R319

A

2015-04-01

猜你喜歡
輸液泵控件調(diào)用
兩款輸液泵的輸血安全性評估
基于.net的用戶定義驗證控件的應用分析
集束化管理策略在輸液泵安全管理中的應用
核電項目物項調(diào)用管理的應用研究
系統(tǒng)虛擬化環(huán)境下客戶機系統(tǒng)調(diào)用信息捕獲與分析①
醫(yī)院在用輸液泵的質(zhì)量控制與數(shù)據(jù)分析
關于.net控件數(shù)組的探討
輸液泵的校準及常見故障處理
利用RFC技術實現(xiàn)SAP系統(tǒng)接口通信
基于嵌入式MINIGUI控件子類化技術的深入研究與應用