• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于iOS平臺(tái)的遠(yuǎn)程驗(yàn)光管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

      2018-11-30 01:46:52方路平林玨偉姚家慶盛邱煬
      關(guān)鍵詞:單元格技師藍(lán)牙

      方路平 林玨偉 姚家慶 盛邱煬

      1(浙江工業(yè)大學(xué) 浙江 杭州 310023)2(寧波明星科技發(fā)展有限公司 浙江 寧波 315100)

      0 引 言

      隨著移動(dòng)應(yīng)用的日益流行[1],互聯(lián)網(wǎng)基本完成了從傳統(tǒng)模式向移動(dòng)設(shè)備接入模式轉(zhuǎn)變的過程。各種各樣的移動(dòng)應(yīng)用覆蓋了人們生活的各個(gè)方面,給人們的生活提供了許多便利。在此背景下,遠(yuǎn)程醫(yī)療[2]和移動(dòng)醫(yī)療[3]也得到了極大的發(fā)展,眾多基于iOS的交互式遠(yuǎn)程醫(yī)療平臺(tái)也應(yīng)運(yùn)而生[4-5]。

      在眼視光學(xué)中,驗(yàn)光可以測(cè)出受檢眼與正視眼間的聚散差異程度,是最基礎(chǔ)又最重要的工作之一[6]。目前的驗(yàn)光設(shè)備,需要驗(yàn)光技師在旁操作,對(duì)于驗(yàn)光技師造成了很大不便。據(jù)統(tǒng)計(jì),在目前的驗(yàn)光場(chǎng)所尤其是眼鏡店中,優(yōu)質(zhì)的驗(yàn)光技師十分稀缺,很多時(shí)候亟需優(yōu)質(zhì)眼光服務(wù)的患者難以得到滿足。另外,在患者資料整理歸檔的方面,并沒有一個(gè)統(tǒng)一完善的管理系統(tǒng),大大降低了驗(yàn)光的效率,阻礙了眼視光治療的發(fā)展。

      本文提出了一套行之有效的遠(yuǎn)程驗(yàn)光管理系統(tǒng),主要包括了遠(yuǎn)程驗(yàn)光和患者醫(yī)療檔案管理兩大功能。前者使得一位驗(yàn)光技師可以通過網(wǎng)絡(luò)或藍(lán)牙等信息手段自由控制不同方位的多臺(tái)驗(yàn)光儀;后者則將每位患者的診療檔案,包括既往史、驗(yàn)光記錄、治療習(xí)慣等信息整理保存到統(tǒng)一的數(shù)據(jù)庫中。系統(tǒng)在操作界面與操作流程上做了一定程度的設(shè)計(jì)與優(yōu)化,與患者檔案相結(jié)合,極大提升了驗(yàn)光技師的工作效率與驗(yàn)光質(zhì)量。

      1 設(shè)計(jì)方案

      總體的設(shè)計(jì)框圖如圖1所示。整個(gè)系統(tǒng)由客戶端(平板電腦)、驗(yàn)光設(shè)備(CV-7600,寧波明星科技)和服務(wù)器組成。圖中虛線代表互聯(lián)網(wǎng)連接,實(shí)線代表藍(lán)牙連接。驗(yàn)光技師使用客戶端軟件,通過藍(lán)牙控制驗(yàn)光設(shè)備,或者通過互聯(lián)網(wǎng)與服務(wù)器建立連接[7],訪問服務(wù)器接口。通過接口可以訪問患者檔案,了解患者信息,也可以自由控制驗(yàn)光設(shè)備。驗(yàn)光過程中所有儀器的反饋都會(huì)實(shí)時(shí)地顯示在客戶端上,方便驗(yàn)光技師操作診斷。

      本系統(tǒng)支持兩種驗(yàn)光模式:本地驗(yàn)光和遠(yuǎn)程驗(yàn)光。驗(yàn)光技師使用客戶端進(jìn)行本地驗(yàn)光操作的流程如圖2所示。驗(yàn)光技師在打開客戶端軟件后,先登錄到本地的驗(yàn)光技師賬號(hào),如果還沒有賬號(hào),可以通過管理員創(chuàng)建賬號(hào)。同時(shí),管理員也有權(quán)限刪除或修改驗(yàn)光技師的信息。登錄賬號(hào)后,進(jìn)行系統(tǒng)設(shè)置(非必須,默認(rèn)加載上次設(shè)置)、選擇或編輯當(dāng)前患者,再通過藍(lán)牙連接設(shè)備,即可在客戶端上對(duì)設(shè)備進(jìn)行操作并且獲取反饋數(shù)據(jù)。如果是新患者,驗(yàn)光技師可以使用客戶端添加患者資料,并且上傳至服務(wù)器;如果是老患者,驗(yàn)光技師可以通過客戶端查看患者的資料,包括既往病史、驗(yàn)光歷史、用眼習(xí)慣、遺傳史等。在了解了患者的詳細(xì)資料后,驗(yàn)光技師可以根據(jù)患者的特點(diǎn),進(jìn)行更有針對(duì)性的驗(yàn)光診斷。在驗(yàn)光過程中,驗(yàn)光技師可以手動(dòng)控制每一步的操作流程,也可以加載自定義的自動(dòng)化操作流程。驗(yàn)光完成后,驗(yàn)光技師可以直接在客戶端上確認(rèn)并打印處方。

      圖2 軟件使用流程圖

      驗(yàn)光技師在進(jìn)行遠(yuǎn)程驗(yàn)光時(shí)的操作如圖3所示。驗(yàn)光技師可以在任何有網(wǎng)絡(luò)的環(huán)境下,使用客戶端,與服務(wù)器建立socket連接。在連接成功后,登錄驗(yàn)光技師賬號(hào),并且保持心跳連接,進(jìn)入排隊(duì)取號(hào)狀態(tài)。如此時(shí)有患者在門店要求該驗(yàn)光技師驗(yàn)光,客戶端會(huì)接到叫號(hào)請(qǐng)求,驗(yàn)光技師在確認(rèn)后即可遠(yuǎn)程控制驗(yàn)光設(shè)備。在網(wǎng)絡(luò)狀況良好的情況下,驗(yàn)光技師可以像本地驗(yàn)光時(shí)一樣進(jìn)行驗(yàn)光操作,并且得到實(shí)時(shí)的數(shù)據(jù)。在完成驗(yàn)光后,驗(yàn)光技師隨時(shí)可以選擇是否結(jié)束等待叫號(hào),如果選擇結(jié)束,則發(fā)送結(jié)束遠(yuǎn)程請(qǐng)求和注銷登錄請(qǐng)求,然后關(guān)閉socket連接,結(jié)束遠(yuǎn)程驗(yàn)光。如此,一名優(yōu)秀的驗(yàn)光技師,就可以在任意地點(diǎn),同時(shí)給多個(gè)驗(yàn)光室以及驗(yàn)光設(shè)備提供驗(yàn)光服務(wù),很好地解決了優(yōu)秀驗(yàn)光人員不足的問題。

      圖3 遠(yuǎn)程驗(yàn)光服務(wù)執(zhí)行流程

      2 系統(tǒng)實(shí)現(xiàn)與關(guān)鍵技術(shù)

      系統(tǒng)采用了C/S架構(gòu),服務(wù)端使用了ThinkPHP[8]框架和MySQL數(shù)據(jù)庫,使用PHP語言進(jìn)行開發(fā),連接遵循h(huán)ttp協(xié)議??蛻舳耸褂昧薓VC架構(gòu)[9]和SQLite數(shù)據(jù)庫,在Xcode環(huán)境下,使用Objective-C語言進(jìn)行開發(fā)。測(cè)試環(huán)境為iPhone simulator和iPad air 2真機(jī)。本文主要介紹客戶端程序的實(shí)現(xiàn)。

      客戶端程序采用模塊化開發(fā)理念,實(shí)現(xiàn)多模塊獨(dú)立運(yùn)作,又相互融合的設(shè)計(jì)結(jié)構(gòu),共包含登錄模塊、管理員模塊、驗(yàn)光模塊、患者模塊、驗(yàn)光數(shù)據(jù)模塊、通信模塊、遠(yuǎn)程模塊、打印模塊、設(shè)置模塊等9個(gè)模塊。模塊設(shè)計(jì)如表1所示。其中,患者模塊中的患者信息和驗(yàn)光數(shù)據(jù)模塊中的驗(yàn)光數(shù)據(jù),會(huì)使用本地?cái)?shù)據(jù)庫進(jìn)行儲(chǔ)存和讀取。

      表1 模塊功能設(shè)計(jì)表

      2.1 患者管理模塊

      患者模塊主要實(shí)現(xiàn)了本地和遠(yuǎn)程患者的增改查,患者驗(yàn)光記錄的查看和當(dāng)前患者的選擇。包括:

      (1) 本地患者的增改查,遠(yuǎn)程患者的查詢。

      (2) 本地患者和遠(yuǎn)程患者的選定。

      (3) 本地患者和遠(yuǎn)程患者的最近驗(yàn)光記錄查詢。

      (4) 查找支持姓名和電話。

      患者信息將被存儲(chǔ)在SQLite數(shù)據(jù)庫中,使用JKDBModel框架進(jìn)行存取。每一個(gè)記錄包括了云id、姓名、性別、年齡、聯(lián)系方式、門店信息、既往史等86個(gè)字段,其中以云id為主鍵。由于字段數(shù)量大,且每個(gè)字段的屬性不同,為了規(guī)范化,需要在UI上對(duì)于每個(gè)單元格的操作作限制。包括文本輸入、單選、多選、日期格式、是否是必填等,使得存入數(shù)據(jù)庫的數(shù)據(jù)規(guī)范,同時(shí)也是基礎(chǔ)的防SQL注入處理[10]。如果使用固定單元格,不僅開發(fā)效率極低,維護(hù)難度較大,也非常不利于后期的功能擴(kuò)展,所以在患者信息輸入模塊的設(shè)計(jì)上使用了MVVM架構(gòu)[11],即模型(model)、視圖(view)、視圖模型(view model)。

      建立單元格模型文件DM_Cell,模型結(jié)構(gòu)見表2。其中,type為枚舉類型,枚舉列表見表3,由type控制單元格的輸入類型。對(duì)于不同類型的單元格,制作不同的單元格視圖模型,包括不同類型單元格的點(diǎn)擊方法。然后在一個(gè)Plist文件中,以字典的形式儲(chǔ)存每一個(gè)單元格的模型信息。在控制器的viewWillLoad方法中加載Plist文件,讓控制器在加載頁面之前讀取每個(gè)單元格對(duì)應(yīng)的字典,根據(jù)字典加載不同的單元格模型。在cellForRowAtIndexPath方法中,根據(jù)索引號(hào)對(duì)應(yīng)的單元格模型,讀取模型中的type屬性,加載對(duì)應(yīng)的單元格視圖模型,并且根據(jù)模型初始化視圖中的一些屬性來進(jìn)行顯示。不同類型的單元格對(duì)應(yīng)的點(diǎn)擊方法或者跳轉(zhuǎn)動(dòng)作都在視圖模型中實(shí)現(xiàn)完畢,如有額外需要,也可重寫此類方法。當(dāng)患者確認(rèn)個(gè)人信息時(shí),控制器先判斷isNecessary屬性為YES的單元格是否都有信息,然后根據(jù)tagStr屬性來存入數(shù)據(jù)庫。若是后期需要更新數(shù)據(jù)庫,只需要修改Plist文件就可以更新UI界面;若是后期需要修改表格的樣式或者點(diǎn)擊功能,只需要修改相應(yīng)的單元格視圖模型就可以實(shí)現(xiàn)。利用這種方式,可以極大地提升開發(fā)效率,并且利于后期維護(hù)和擴(kuò)展。

      表2 DM_Cell單元格模型結(jié)構(gòu)表

      表3 type枚舉列表

      2.2 驗(yàn)光模塊

      驗(yàn)光模塊包含數(shù)值區(qū)、操作區(qū)、視標(biāo)選擇區(qū)、視標(biāo)預(yù)覽區(qū)、側(cè)邊欄5個(gè)部分。程序中的其他模塊大部分皆在本模塊被調(diào)用。本模塊的大多數(shù)功能通過Objective-C實(shí)現(xiàn),但部分底層操作邏輯和數(shù)據(jù)通過C語言編寫,經(jīng)Objective-C封裝后調(diào)用。驗(yàn)光模塊的界面如圖4所示。其中,操作區(qū)UI完全模仿真實(shí)驗(yàn)光儀的操作臺(tái)樣式,讓驗(yàn)光技師不會(huì)太生疏。數(shù)值區(qū)體現(xiàn)了驗(yàn)光過程中檢測(cè)的實(shí)時(shí)數(shù)據(jù)。

      圖4 驗(yàn)光模塊界面

      2.3 通信模塊

      通信模塊包括藍(lán)牙和網(wǎng)絡(luò)兩部分。網(wǎng)絡(luò)部分用于全程序的網(wǎng)絡(luò)連接管理,主要為患者檔案同步、驗(yàn)光數(shù)據(jù)同步、 云視光驗(yàn)光技師登錄與注銷、遠(yuǎn)程驗(yàn)光服務(wù)等功能提供支持。本模塊HTTP請(qǐng)求功能基于AFNetworking框架實(shí)現(xiàn),socket基于 GCDAsyncSocket框架實(shí)現(xiàn),XML基于KissXML框架實(shí)現(xiàn)。遠(yuǎn)程驗(yàn)光中,網(wǎng)絡(luò)連接使用自定義的協(xié)議,協(xié)議格式如圖5所示。

      圖5 協(xié)議格式

      藍(lán)牙部分用于App 與電腦驗(yàn)光儀、綜合驗(yàn)光儀、查片儀、液晶視力表等藍(lán)牙設(shè)備的連接與數(shù)據(jù)傳輸。藍(lán)牙部分的底層代碼,包括藍(lán)牙數(shù)據(jù)的解析等,用C語言編寫,用Objective-C對(duì)其封裝后使用。

      2.4 驗(yàn)光數(shù)據(jù)模塊

      驗(yàn)光數(shù)據(jù)模塊用于處理、同步和展示驗(yàn)光數(shù)據(jù),在驗(yàn)光模塊、患者模塊和管理員模塊中皆有調(diào)用??稍谠O(shè)置中定制本模塊樣式。驗(yàn)光數(shù)據(jù)存儲(chǔ)于SQLite數(shù)據(jù)庫中,基于JKDBModel框架開發(fā)。驗(yàn)光數(shù)據(jù)模塊界面見圖6。數(shù)據(jù)包括電腦驗(yàn)光儀(RM)的球鏡(SPH)、柱鏡(CYL)、軸位(AXS)數(shù)值,查片儀(TL)的球鏡、柱鏡、軸位、添加值(ADD)、瞳距(PD),還有綜合驗(yàn)光儀近用數(shù)據(jù)(CV-NEAR)和遠(yuǎn)用數(shù)據(jù)(CV-FAR)和最終數(shù)據(jù)(FINAL-NEAR/FINAL-FAR),包括球鏡、柱鏡、軸位、水平棱角(H)、垂直棱角(V)、瞳距、添加值。

      圖6 驗(yàn)光數(shù)據(jù)模塊界面

      2.5 打印模塊

      打印模塊用于打印機(jī)的連接、相關(guān)數(shù)據(jù)傳輸與驗(yàn)光數(shù)據(jù)的打印。本模塊基于UartLib框架開發(fā)。診斷處方的確認(rèn)和打印都在打印模塊中實(shí)現(xiàn),模塊界面見圖7。

      圖7 打印模塊界面

      2.6 遠(yuǎn)程模塊

      遠(yuǎn)程模塊用于完成遠(yuǎn)程驗(yàn)光的相關(guān)操作,驗(yàn)光技師可以通過PC端或者移動(dòng)端遠(yuǎn)程控制驗(yàn)光設(shè)備進(jìn)行驗(yàn)光。

      (1) 進(jìn)入后顯示當(dāng)前賬號(hào)驗(yàn)光技師信息。

      (2) 點(diǎn)擊驗(yàn)光室后,點(diǎn)擊右側(cè)驗(yàn)光室確認(rèn)驗(yàn)光室。

      (3) 點(diǎn)擊患者后,查看當(dāng)前患者信息。

      (4) 點(diǎn)擊排隊(duì)后,可在右側(cè)查看當(dāng)前在線專家名單。點(diǎn)擊專家后開始取號(hào)排隊(duì),等待專家叫號(hào)。

      (5) 點(diǎn)擊左欄左上角“返回”鍵可返回主界面。點(diǎn)擊右上角“結(jié)束”,結(jié)束當(dāng)前遠(yuǎn)程驗(yàn)光。

      不同于使用藍(lán)牙進(jìn)行控制,遠(yuǎn)程驗(yàn)光時(shí),移動(dòng)端的操作指令并不是直接發(fā)送給驗(yàn)光設(shè)備,而是要通過服務(wù)器轉(zhuǎn)發(fā)給驗(yàn)光設(shè)備。數(shù)據(jù)發(fā)送流程如圖8所示,當(dāng)移動(dòng)端接受驗(yàn)光請(qǐng)求后,服務(wù)端會(huì)給移動(dòng)端和驗(yàn)光設(shè)備分配一對(duì)id號(hào)。驗(yàn)光開始后,驗(yàn)光技師在移動(dòng)端進(jìn)行操作,移動(dòng)端將包含了操作命令的XML格式數(shù)據(jù)包發(fā)送給服務(wù)器。數(shù)據(jù)包包括排隊(duì)號(hào)、專家號(hào)、請(qǐng)求實(shí)體,請(qǐng)求實(shí)體包括請(qǐng)求碼、操作類型、操作值。請(qǐng)求碼表示的是請(qǐng)求類型,包括登錄認(rèn)證、登錄應(yīng)答、心跳應(yīng)答、取號(hào)、叫號(hào)、開始控制、結(jié)束控制、數(shù)據(jù)同步等類型。操作類型包括加減度數(shù)、切換鏡片、旋轉(zhuǎn)角度等。操作值代表了操作的具體數(shù)值或者鏡片對(duì)應(yīng)的序號(hào)。服務(wù)器根據(jù)移動(dòng)端的id號(hào),找到對(duì)應(yīng)的設(shè)備id,并且將數(shù)據(jù)包轉(zhuǎn)發(fā)給驗(yàn)光設(shè)備。驗(yàn)光設(shè)備收到數(shù)據(jù)包后,解析XML數(shù)據(jù),根據(jù)指令執(zhí)行操作,并且將操作后的反饋數(shù)據(jù)發(fā)送回服務(wù)器。服務(wù)器再根據(jù)id號(hào)轉(zhuǎn)發(fā)給移動(dòng)端,在移動(dòng)端上進(jìn)行顯示。如此循環(huán),完成整個(gè)驗(yàn)光操作。

      圖8 遠(yuǎn)程模塊數(shù)據(jù)發(fā)送流程圖

      3 結(jié) 語

      本系統(tǒng)結(jié)合寧波明星科技CV7600電腦驗(yàn)光儀,在基于iOS平臺(tái)的移動(dòng)智能終端上實(shí)現(xiàn)了遠(yuǎn)程驗(yàn)光的完整流程。僅通過iPad,驗(yàn)光技師就可以很好地完成遠(yuǎn)程控制驗(yàn)光設(shè)備、實(shí)時(shí)接收驗(yàn)光數(shù)據(jù)、遠(yuǎn)程眼科診斷、患者信息整理歸檔等工作。目前應(yīng)用已通過測(cè)試,在蘋果應(yīng)用商店中上架,并在多家驗(yàn)光室和眼科醫(yī)院中推廣使用,使用情況良好,反響甚佳。利用智能移動(dòng)終端完成遠(yuǎn)程驗(yàn)光操作,可以優(yōu)化驗(yàn)光流程,提升自動(dòng)化程度,降低人工成本,大大提高驗(yàn)光效率與質(zhì)量。如能在更多驗(yàn)光室中推廣,對(duì)于提高驗(yàn)光服務(wù)的質(zhì)量,有著很好的促進(jìn)作用。

      猜你喜歡
      單元格技師藍(lán)牙
      藍(lán)牙音箱的直線之美
      《汽車維修技師》雜志社
      《汽車維修技師》雜志社
      《汽車維修技師》雜志社
      玩轉(zhuǎn)方格
      玩轉(zhuǎn)方格
      空中雜技師
      簡(jiǎn)單、易用,可玩性強(qiáng)Q AcousticsBT3藍(lán)牙音箱
      適合自己的才是最好的 德生(TECSUN) BT-50藍(lán)牙耳機(jī)放大器
      淺談Excel中常見統(tǒng)計(jì)個(gè)數(shù)函數(shù)的用法
      西部皮革(2018年6期)2018-05-07 06:41:07
      鄂托克旗| 怀远县| 嘉义市| 自贡市| 本溪| 平遥县| 淅川县| 屯留县| 凤山县| 镇赉县| 凤山市| 漠河县| 江口县| 黑山县| 肇东市| 平武县| 津南区| 安顺市| 福清市| 阿克| 盐源县| 双辽市| 阳泉市| 嘉峪关市| 广安市| 冀州市| 突泉县| 阿荣旗| 南京市| 大竹县| 云南省| 布拖县| 青州市| 张掖市| 博兴县| 织金县| 珠海市| 濮阳县| 罗源县| 伊通| 本溪|