林加論 萬正鑫 李曉玲 劉陽
摘? 要:近年來,國家提出了促進(jìn)“互聯(lián)網(wǎng)+醫(yī)療”發(fā)展的意見指導(dǎo)。特別是新型冠狀病毒肺炎在全球肆虐的背景下,如何為人民群眾提供更加便利的醫(yī)療服務(wù)成為當(dāng)前備受關(guān)注的熱點(diǎn)之一。為了給探索“互聯(lián)網(wǎng)+醫(yī)療”的新模式提供信息技術(shù)平臺(tái),本文采用B/S架構(gòu)設(shè)計(jì)和開發(fā)了基于Android的院外醫(yī)護(hù)服務(wù)預(yù)約平臺(tái),主要由醫(yī)護(hù)服務(wù)預(yù)約、健康咨詢、個(gè)人檔案、病歷助手四大模塊構(gòu)成。系統(tǒng)可支撐醫(yī)院的部分醫(yī)療服務(wù)業(yè)務(wù)延伸至院外,為患者提供更加個(gè)性化的醫(yī)療服務(wù)。
關(guān)鍵詞:互聯(lián)網(wǎng)+醫(yī)療;上門服務(wù);B/S架構(gòu);即時(shí)通信
中圖分類號:TP311? ? ?文獻(xiàn)標(biāo)識(shí)碼:A
Design and Implementation of an Out-of-hospital?Medical Service Appointment Platform
LIN Jialun1, WAN Zhengxin2, LI Xiaoling1, LIU Yang3
(1.College of Biomedical Information and Engineering, Hainan Medical University, Haikou 571199, China;2. HaiNan Function Network Technology Co., Ltd., Haikou 571199, China;3.Haikou People's Hospital, Haikou 570208, China)
Abstract: In recent years, Chinese government has introduced guidelines to promote the development of "Internet +
Medical Care". Especially when COVID-19 is rampaging around the world, how to provide more convenient medical services for people has become one of the current concerns. In order to provide an information technology platform for exploring the new model of "Internet + Medical Care", this paper proposes to design and develop an Android-based out-of-hospital medical service appointment platform with B/S architecture. It is mainly composed of four modules: medical service appointment, health consultation, personal files, and medical record assistant. The platform system can extend part of the hospital's medical service business to society, providing patients with more personalized medical services.
Keywords: Internet + Medical Care; make house call; B/S architecture; instant messaging
1? ?引言(Introduction)
近年來,醫(yī)療資源發(fā)展不平衡、不充分和廣大人民追求更高醫(yī)療服務(wù)質(zhì)量之間的矛盾已經(jīng)達(dá)到了變革的臨界點(diǎn)?!盎ヂ?lián)網(wǎng)+醫(yī)療”概念的出現(xiàn)為市場注入了嶄新的活力,大量資源順勢涌進(jìn),出現(xiàn)了像平安好醫(yī)生、微醫(yī)、騰訊醫(yī)療等一大批新型“互聯(lián)網(wǎng)+醫(yī)療”平臺(tái),獲得了市場的高度信任[1]。從2019 年到2020 年,“互聯(lián)網(wǎng)+醫(yī)療”依然方興未艾,甚至不斷出現(xiàn)新的形式。隨著醫(yī)療政策逐漸明朗,市場對“互聯(lián)網(wǎng)+醫(yī)療”持續(xù)樂觀,出現(xiàn)了護(hù)士上門服務(wù)、護(hù)士送藥、居家體檢等新型醫(yī)療形式[2-3],醫(yī)護(hù)一體化模式院外延伸服務(wù)工作取得令人滿意的效果[4]。2020 年伊始,新型冠狀病毒肺炎在短短幾個(gè)月時(shí)間迅速蔓延至全球,極大地促進(jìn)了國家和人民對醫(yī)療健康的關(guān)注。2020 年12 月14 日,國家衛(wèi)健委發(fā)布的《關(guān)于進(jìn)一步推進(jìn)“互聯(lián)網(wǎng)+護(hù)理服務(wù)”試點(diǎn)工作的通知》更進(jìn)一步推動(dòng)了家庭醫(yī)生和網(wǎng)約護(hù)士等新模式的醫(yī)療服務(wù)發(fā)展。“互聯(lián)網(wǎng)+醫(yī)療”預(yù)約上門服務(wù)的平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)便是從居家護(hù)理服務(wù)需求出發(fā)的。
2? 系統(tǒng)設(shè)計(jì)及相關(guān)技術(shù)(System design and related technology)
為解決患者對個(gè)性化醫(yī)療服務(wù)日益增長的需求,研究開發(fā)一款基于線上預(yù)約、線下上門服務(wù)模式的醫(yī)療服務(wù)預(yù)約平臺(tái)將有助于區(qū)域范圍內(nèi)進(jìn)行精準(zhǔn)化醫(yī)療服務(wù)。為此,本文研究開發(fā)了一款基于“互聯(lián)網(wǎng)+醫(yī)療”的院外醫(yī)護(hù)服務(wù)預(yù)約平臺(tái)——醫(yī)約寶,為基層醫(yī)療公共衛(wèi)生上門服務(wù)及家庭醫(yī)生簽約提供解決方案。通過GPS定位附近所有入駐平臺(tái)的醫(yī)院,系統(tǒng)將可線上預(yù)約的醫(yī)護(hù)服務(wù)列表展示給患者,患者可按區(qū)域定位選擇家庭醫(yī)生簽約及醫(yī)護(hù)上門服務(wù),使患者獲得足不出戶的醫(yī)療服務(wù)體驗(yàn)。系統(tǒng)同時(shí)提供慢性病健康管理咨詢服務(wù)功能,通過線上聊天咨詢,實(shí)現(xiàn)用戶與醫(yī)生之間的溝通交流。
2.1? ?技術(shù)方案和技術(shù)路線
平臺(tái)采取的主要技術(shù)方案和技術(shù)路線如表1所示。
2.2? ?架構(gòu)設(shè)計(jì)
基于Android的院外醫(yī)護(hù)服務(wù)預(yù)約平臺(tái)總體架構(gòu)為B/S架構(gòu),采用前后端分離技術(shù)的MVVC模型[5-6],分為客戶端和服務(wù)端,如圖1所示。同時(shí)客戶端登錄后分兩種模式:醫(yī)護(hù)人員模式和患者模式。醫(yī)護(hù)人員在身份認(rèn)證和資格認(rèn)證后才能進(jìn)行服務(wù)的發(fā)布,患者在身份認(rèn)證后即可通過平臺(tái)享受醫(yī)療服務(wù)。在前后端分離技術(shù)的MVVC模型中,前端視圖(View)用于數(shù)據(jù)展示和處理頁面邏輯,同時(shí)數(shù)據(jù)交互格式為JSON對象格式,采用異步架構(gòu)模式,通過服務(wù)端模型(Model)和數(shù)據(jù)庫進(jìn)行交互[7]。
客戶端采用雙服務(wù)器架構(gòu),Web服務(wù)器作為服務(wù)主題通過與數(shù)據(jù)庫進(jìn)行交互取得數(shù)據(jù)庫數(shù)據(jù)。采用Http協(xié)議提交給客戶端,即時(shí)通信服務(wù)器通過與客戶端及數(shù)據(jù)庫服務(wù)器保持長久聯(lián)系,把數(shù)據(jù)通過Web服務(wù)器回傳到數(shù)據(jù)庫服務(wù)器,通過Websocket協(xié)議與客戶端保持通信;同時(shí)通過即時(shí)通信服務(wù)器把消息保存到數(shù)據(jù)庫,再通過即時(shí)通信服務(wù)器發(fā)送到另一個(gè)客戶端,完成消息數(shù)據(jù)傳遞[8-9],如圖2所示。
3? 平臺(tái)功能模塊設(shè)計(jì)(Platform function module design)
3.1? ?系統(tǒng)功能模塊圖及界面
系統(tǒng)主要由醫(yī)護(hù)服務(wù)預(yù)約模塊、咨詢模塊、病歷助手模塊、個(gè)人系統(tǒng)服務(wù)檔案模塊四大模塊構(gòu)成,形成以區(qū)域范圍內(nèi)進(jìn)行精準(zhǔn)化家庭醫(yī)生服務(wù)預(yù)約為主,以健康咨詢、健康大數(shù)據(jù)為輔的具有共享特色的在線服務(wù)平臺(tái),如圖3所示。
預(yù)約服務(wù):醫(yī)院通過管理后臺(tái)在線上發(fā)布醫(yī)療服務(wù)后,預(yù)約界面將展示服務(wù)內(nèi)容和價(jià)格等信息,患者打開App首頁授權(quán)獲取地址定位后可進(jìn)行區(qū)域內(nèi)的醫(yī)療服務(wù)預(yù)約。預(yù)約時(shí)患者可以選擇服務(wù)地點(diǎn),也可以選擇是在家接受醫(yī)生的上門服務(wù),還是去醫(yī)生指定的醫(yī)院。
預(yù)約訂單:患者選購相應(yīng)服務(wù)項(xiàng)目后,生成服務(wù)記錄并以訂單的形式展現(xiàn)。訂單完成后,系統(tǒng)將調(diào)用支付模塊,患者可對訂單進(jìn)行支付。
簽約服務(wù):患者瀏覽醫(yī)生列表,查看醫(yī)生詳情,與健康管理師進(jìn)行一對一簽約綁定。
健康咨詢:患者可以將自己的病情以圖文資料的方式實(shí)時(shí)向醫(yī)生咨詢,醫(yī)生會(huì)根據(jù)圖文資料進(jìn)行回復(fù),給予幫助。
健康飲食推薦:根據(jù)患者數(shù)據(jù)情況,精準(zhǔn)推送相關(guān)美食資料,可與周圍商家合作進(jìn)行美食推薦。
病歷碼:可通過本平臺(tái)上傳保存患者在醫(yī)院就診的病歷資料和輔助化驗(yàn)單等資料,以方便患者隨時(shí)查看和管理病歷。保存患者每次就診的所有材料后會(huì)生成唯一的病歷二維碼,可以避免患者在多個(gè)醫(yī)院就診的病歷資料混雜的情況。
健康助手:可向醫(yī)生展示病例碼,醫(yī)生掃碼后就可立即查看患者在對應(yīng)醫(yī)院就診時(shí)的病歷資料;也可由患者分享給醫(yī)生查看。健康助手為患者病歷資料的保管和分享提供了便捷。
個(gè)人信息:患者可以查看、填寫、修改、完善個(gè)人的基本信息,之后系統(tǒng)對患者的身份進(jìn)行驗(yàn)證,核定用戶身份為患者還是醫(yī)護(hù)人員后,便可進(jìn)入相應(yīng)身份角色的功能使用模塊。
我的醫(yī)生:管理患者已經(jīng)簽約服務(wù)的醫(yī)生信息,方便患者聯(lián)系醫(yī)生。
健康檔案:對上傳的病歷資料生成的記錄進(jìn)行管理,患者可進(jìn)行查看、修改、添加和刪除操作,更有利于資料管理。
健康數(shù)據(jù):幫助患者對每次測量的體征數(shù)據(jù)如血糖、血壓等進(jìn)行記錄保存,方便患者查看,也可提供給醫(yī)生。
3.2? ?主要功能代碼實(shí)現(xiàn)
(1)預(yù)約功能的實(shí)現(xiàn)
預(yù)約功能的實(shí)現(xiàn)是系統(tǒng)的難點(diǎn)和重點(diǎn),需要配合服務(wù)開通表?;颊叽蜷_客戶端,通過GPS功能獲取具體位置后,客戶端JS腳本將傳入患者的位置,服務(wù)端獲取信息與數(shù)據(jù)庫交互查詢出符合位置信息的所有服務(wù)列表,再返回給客戶端展示成列表信息?;颊唿c(diǎn)擊列表時(shí),將發(fā)送服務(wù)唯一編號到服務(wù)端,服務(wù)端查詢數(shù)據(jù)庫服務(wù)具體內(nèi)容和價(jià)格,患者完善個(gè)人信息和地址。確認(rèn)支付訂單后,生成支付信息,保存到數(shù)據(jù)庫并通知醫(yī)院客戶端。
服務(wù)端代碼如下:
//獲取服務(wù)列表
public function getLocalServers(Request $request)
{
$req=$request->param();
$res=Db::table('servers')
->alias(['servers'=>'s','server_list'=>"sl",'organization'=>'h'])
->join('server_list','s.s_id=sl.s_id')
->join('organization','h.o_id=sl.o_id')
->where('h.address','like','%'.$req['address'].'%')
->field([
's.s_id','s.buy_count','s.begin_time','s.end_time',
's.date','sl.server_name','sl.describe',
'sl.tips','sl.attention','sl.server_img','sl.price',
'h.h_name'
])
->select();
return $res;
}
// 小程序支付
public function smallapp(Request $request)
{
$data=$request->param();
$params=[
'body'=> '方克鑫科技',
'out_trade_no'=> mt_rand().time(),
'total_fee'=> $data['money']*100,
];
$openId=$data['onpenid'];
$result=\wxpay\JsapiPay::getParams($params, $openId);
return $result;
}
public function huidiao()
{
//接受微信回調(diào)的參數(shù)
$xmlData=file_get_contents('php://input');
libxml_disable_entity_loader(true);
$data=json_decode(json_encode(simplexml_load_string($xmlData, 'SimpleXMLElement', LIBXML_NOCDATA)), true);
var_dump($data);
}
public function ordersuccess(Request $request)
{
$data=$request->param();
$res=new BuyModel();
$d=[
'buy_u_id'=>$data["buy_u_id"],
'order_u_id'=>$data["order_u_id"],
'money'=>$data["money"]*0.95,
'p_id'=>$data["p_id"]
];
$res->save($d);
$p=Db::table('push')->where('g_id',$data["p_id"])->setDec('num');
return 1;
}
(2)咨詢功能的實(shí)現(xiàn)
咨詢功能的實(shí)現(xiàn)需要用到PHP的Socket框架Workman開發(fā)即時(shí)通信服務(wù)器。醫(yī)護(hù)人員認(rèn)證后登錄即可與即時(shí)通信服務(wù)器保持聯(lián)系;患者進(jìn)入咨詢界面,查看在線狀態(tài)的醫(yī)護(hù)人員并付費(fèi)后,也與即時(shí)通信服務(wù)器進(jìn)行聯(lián)系。通過服務(wù)端編程可進(jìn)行一對一聯(lián)通,讓患者和醫(yī)生之間保持TCP/IP心跳連接,直到患者退出咨詢界面。
服務(wù)端代碼如下:
use \GatewayWorker\Lib\Gateway;
/**
* 主邏輯
* 主要是處理 onConnect、onMessage、onClose 三個(gè)方法
* onConnect 和 onClose 如果不需要可以不用實(shí)現(xiàn)并刪除
*/
class Events
{
/**
* 當(dāng)客戶端連接時(shí)觸發(fā)
* 如果業(yè)務(wù)不需此回調(diào)可以刪除onConnect
*
* @param int $client_id 連接id
*/
public static function onConnect($client_id)
{
// 向當(dāng)前client_id發(fā)送數(shù)據(jù)
Gateway::sendToClient($client_id, json_encode(array(
'type'=> 'init',
'client_id'=> $client_id
)));
}
/**
* 當(dāng)客戶端發(fā)來消息時(shí)觸發(fā)
* @param int $client_id 連接id
* @param mixed $message 具體消息
*/
public static function onMessage($client_id, $message)
{
$req_data=json_decode($message,true);
Gateway::sendToAll($req_data['content']);
// // 如果是向某個(gè)客戶端發(fā)送消息
// if($req_data['type']=='say_to_one')
// {
//? ? ?// 轉(zhuǎn)發(fā)消息給對應(yīng)的客戶端
//? ? ?Gateway::sendToClient($req_data['to_client_id'], $req_data['content']);
// }
}
/**
* 當(dāng)用戶斷開連接時(shí)觸發(fā)
* @param int $client_id 連接id
*/
public static function onClose($client_id)
{
// 向所有人發(fā)送
GateWay::sendToAll("$client_id logout\r\n");
}
}
(3)病歷助手
患者在醫(yī)院的就診病歷資料通過拍照全部上傳儲(chǔ)存為電子文檔,生成唯一的病歷二維碼,方便患者保管并高效地分享給醫(yī)生查看,實(shí)現(xiàn)了無紙化電子病歷文檔,給患者提供了便捷服務(wù),如圖4所示。
病例助手代碼如下:
<template>
<view class="page">
<view class="card">
<view class="a">
<view class="a1">點(diǎn)擊查看當(dāng)前病歷內(nèi)容
</view>
<view class="a2"@click="emrinfo()">
<image class="a2":src="emr"mode=""></image>
</view>
<view class="a3"><image class="a3":src="img" mode="" ></image></view>
<view class="a4" @click="scan()" hover-class="hover">掃描上傳</view>
</view>
<navigator url="../emrlist/emrlist">
<view class="b">
<view class="b1"><uni-icon type="contact" size="60" color="#FFFFFF"></uni-icon></view>
<view class="b2">
<view class="bb1">某某</view>
<view class="bb2">生成時(shí)間:2020年3月1日</view>
</view>
<view class="b3"><uni-icon type="arrowright" size="40" color="#FFFFFF"></uni-icon></view>
</view>
</navigator>
</view>
</view>
</template>
<script>
import uniIcon from "@/components/uni-icon/uni-icon.vue"
var dateUtils=require('../../common/util.js')
.dateUtils;
export default {
components: {
uniIcon,
},
data() {
return {
emr:"../../static/emr/emr.png",
img:'../../static/emr/a.PNG',
} },
computed:{
},
onLoad() {
},
methods: {
search:function(a){
console.log(a)
},
scan:function(){
uni.navigateTo({
url: '../emrinfo/emrinfo',
success: res=> {},
fail: ()=> {},
complete: ()=> {}
});
},
emrinfo:function(){
uni.navigateTo({
url: '../addemr/addemr',
success: res=> {},
fail: ()=> {},
complete: ()=> {}
});
}
}
}
</script>
4? ?應(yīng)用場景(Application scenario)
平臺(tái)主要適用于醫(yī)院延續(xù)護(hù)理服務(wù)上,目前主要聚焦在慢性病管理、術(shù)后康復(fù)、中醫(yī)診療、母嬰護(hù)理四個(gè)方面,例如,母嬰行業(yè)的上門催乳、上門更換胃管等都是典型的護(hù)理延續(xù)上門服務(wù)的場景。除此之外,也可適用于護(hù)理的上門隨訪工作。目前,大量的慢性病患者需要護(hù)理人員進(jìn)行上門隨訪,了解患者的病情發(fā)展?fàn)顩r,例如糖尿病患者,需要定期上門檢查是否有可能發(fā)生病變。
5? ?結(jié)論(Conclusion)
近年來,國家提出了促進(jìn)“互聯(lián)網(wǎng)+醫(yī)療”發(fā)展的意見指導(dǎo),特別是新型冠狀病毒肺炎在全球肆虐的背景下,如何為人民群眾提供更加便利的醫(yī)療服務(wù)成為當(dāng)前備受關(guān)注的熱點(diǎn)之一?!盎ヂ?lián)網(wǎng)+”院外醫(yī)護(hù)服務(wù)平臺(tái)的研發(fā)旨在為探索“互聯(lián)網(wǎng)+”院外醫(yī)療服務(wù)的發(fā)展模式提供信息技術(shù)支持,更好地為患者提供醫(yī)護(hù)服務(wù)。平臺(tái)為B/S架構(gòu),基于流行的H5混合開發(fā)原生Android系統(tǒng),采用Vue.js實(shí)現(xiàn)數(shù)據(jù)雙向綁定,后臺(tái)采用MySQL數(shù)據(jù)庫存儲(chǔ)數(shù)據(jù),實(shí)現(xiàn)了醫(yī)護(hù)服務(wù)預(yù)約、健康咨詢、個(gè)人檔案、病歷助手四大功能模塊。目前主要聚焦在慢性病管理、術(shù)后康復(fù)、中醫(yī)診療、母嬰護(hù)理的應(yīng)用上,并在醫(yī)療服務(wù)機(jī)構(gòu)進(jìn)行小規(guī)模試點(diǎn)運(yùn)行,今后還需結(jié)合用戶體驗(yàn)和改進(jìn)建議,不斷完善平臺(tái)的性能和人性化的界面設(shè)計(jì)。
參考文獻(xiàn)(References)
[1] 肖霞.我國“互聯(lián)網(wǎng)+護(hù)理服務(wù)”的政策研究[J].當(dāng)代護(hù)士(下旬刊),2019,26(09):182-184.
[2] 李詠陽,劉世晴,徐靜仙,等.互聯(lián)網(wǎng)+居家上門照護(hù)服務(wù)的探索與實(shí)踐——以南京市江寧區(qū)為例[J].醫(yī)藥高職教育與現(xiàn)代護(hù)理,2021,4(04):362-365.
[3] 孫昌赫,翟鐵民,王榮榮,等.基于政策工具的我國“互聯(lián)網(wǎng)+醫(yī)療健康”政策內(nèi)容分析[J].中國衛(wèi)生經(jīng)濟(jì),2020,39(01):13-17.
[4] 楊麗華,徐晨曦,董林萍,等.醫(yī)護(hù)一體化模式院外延伸服務(wù)對出院后慢性阻塞性肺疾病患者肺康復(fù)效果的影響[J].齊魯護(hù)理雜志,2020,26(01):115-117.
[5] 霍福華.Web前端MVC框架的發(fā)展方向以及意義[J].軟件工程,2019,22(04):44-46.
[6] 巢晟盛.基于SpringBoot微服務(wù)架構(gòu)下前后端分離的MVVM模型淺析[J].電腦知識(shí)與技術(shù),2021,17(23):128-129,141.
[7] MAURICIO A, GABRIELE B, CHRISTOPH T, et al. Code smells for Model-View-Controller architectures[J]. Empirical Software Engineering, 2018, 23(4):2121-2157.
[8] 葛福鴻,劉曉瑩,張麗萍.基于Socket技術(shù)的即時(shí)通信軟件的設(shè)計(jì)與實(shí)現(xiàn)[J].電腦開發(fā)與應(yīng)用,2011,24(05):63-65.
[9] 吳紹衛(wèi).WebSocket在實(shí)時(shí)消息推送中的應(yīng)用設(shè)計(jì)與實(shí)現(xiàn)[J].福建電腦,2021,37(11):80-83.
作者簡介:
林加論(1972-),女,碩士,教授.研究領(lǐng)域:軟件開發(fā),計(jì)算機(jī)應(yīng)用.
萬正鑫(1997-),男,本科,工程師.研究領(lǐng)域:軟件開發(fā).
李曉玲(1981-),女,碩士,副教授.研究領(lǐng)域:信息處理.
劉? 陽(1973-),男,碩士,高級工程師.研究領(lǐng)域:軟件開發(fā),計(jì)算機(jī)應(yīng)用.