陈志云 赵 昆 白 玥 谢 翔 安炜杰
(华东师范大学计算机科学与软件工程学院 上海 200062)
基于iOS平台的手卫生监测与管理系统的设计与实现
陈志云 赵 昆 白 玥*谢 翔 安炜杰
(华东师范大学计算机科学与软件工程学院 上海 200062)
手卫生安全监管是世卫组织要求医疗机构采取的重要医疗监管环节,但目前我国大部分的医疗机构在进行手卫生的过程监管时,仍采用纸张记录、人工录入的传统方式,整个过程耗时费力、缺乏及时反馈,导致干预措施落实滞后。针对这一问题,提出一种基于iOS移动平台和C/S模式的手卫生数据监测与管理系统。该系统实现了准确记录、实时汇总、速成报表以及后台管理等功能,可极大地提高医疗机构的监管效率。
手卫生监测 iOS移动平台 MVC框架
医院感染是医疗安全中的重要问题。美国每年发生医院感染病例200万例,同时产生超过40亿美元额外医疗费用。然而,至少30%~40%的医院感染可以通过加强手卫生措施预防[1],Larson[2]早在1988年便提出手卫生对于医院感染的控制有重要意义,是预防医院感染最有效、最方便、最廉价的干预措施。根据世界卫生组织(WHO)的建议:手卫生依从性提高可以明显减少医院感染。美国一些专业机构建议医疗机构医务人员的洗手依从率要达到90%以上,甚至部分医院要求达到97%以上。我国目前医疗机构中医务人员手卫生依从率仅为40%左右。如何提高医务人员手卫生依从率是各家医院面临的主要问题。WHO发布的《医疗活动中的手卫生指南》建议使用手卫生监测表进行现场调查分析手卫生依从性并及时反馈,可以有效提高依从率。但目前在我国的大多数医疗机构中,医务人员的手卫生数据的采集和依从率计算还处于传统的手工方式,即由观察者将观察对象的手卫生执行情况记录在纸张表格上,然后再手工录入到Excel中进行依从率计算。这种传统方式的过程繁琐、耗时费力,且容易出错,并且因为以及缺乏及时反馈,导致干预措施落实滞后的状况。如果是大型医疗机构,上述监管方法严重影响监管效率和监管治疗,导致医疗安全问题突出。
为了改进上述情况,我们设计并实现了一种基于移动终端的手卫生数据监测与管理系统。
本系统把世卫组织统一发布的手卫生依从性观察表(中文版)[3]的纸张形式转化到智能移动设备,手卫生观察者通过智能移动设备记录观察结果,并将数据提交至服务器后台,再在服务器端实现手卫生依从率的统计,统计结果可以显示在服务器页面,也可以直接以电子表格的形式打印输出。
该系统由两部分组成,分别是手卫生移动监测APP和手卫生数据统计后台服务器。由于iPad属于医疗机构允许使用的、不影响其他医疗设备运行的医疗器械,所以本系统的移动端搭载在基于iOS平台的iPad设备上,手卫生数据统计后台则以Web服务形式实现。iPad上观察表截屏如图1所示。
图1 iPad上观察表截图
1.1 系统体系框架
系统体系框架如图2 所示。系统主要由Web服务端(简称Web端)、数据库和iOS客户端(简称iOS端)组成。数据库利用SQL Server 2008建立;iOS端主要将观察数据实时上传至服务器,其与数据库的信息交互通过基于ASP.NET Web API[4-5]的组件完成;Web端主要提供数据的查询与管理,其基于ASP.NET MVC[6]框架搭建而成;并且整个系统采用IIS(Internet Information Services,互联网信息服务)作为应用服务器。
图2 系统体系架构
1.2 功能模块设计
根据实际需求,本系统分为两个终端,iOS客户端的手卫生监测APP和以Web形式开放的手卫生数据统计平台,各终端模块分类如图3所示。手卫生监测APP(简称监测客户端)分为观察者登录、观察设置、观察记录以及提交结果模块;手卫生数据统计平台(简称统计平台)分为用户登录、依从率查看、依从率报表下载以及后台管理模块。
图3 各终端模块分类
(1) 监测客户端的功能主要是为依从率的计算提供数据来源,其主要使用对象是手卫生观察者。原来的纸张记录方式是在观察者观察之前,需填写观察表的基本信息(如观察者信息、医院、科室、病房、日期等)后才能开始执行观察。为了对原有方式实现最大限度相似而又相应简化的操作,监测客户端将整个过程主要分为如下四个模块:
① 观察者登录:观察者填写账号和密码,登录成功可继续使用其他功能。
② 观察设置:观察者登录成功后,填写观察表基本信息。
③ 观察记录:观察者记录手卫生执行情况,记录开始后系统会自动记录观察所用时间,根据WHO观察表文件规定,当观察超过40分钟后,系统会自动给观察者记录超时的提示,这样观察者可将精力全部集中在重要的手卫生观察环节上。
④ 提交结果:观察结束,将结果直接提交至服务器。
(2) 统计平台主要是依从率的展示、报表下载和各类信息的查询与管理,面向医院科室管理者和整个系统的管理员两类用户。其中系统管理员拥有最高权限,可访问平台所有模块的功能。统计平台主要分为以下五个模块:
① 登录:用户根据用户名密码登录到平台,否则无法使用平台其他功能,平台根据用户权限提供不同的访问功能。
② 依从率查看:平台根据用户选择的时间段展示依从率以及相关柱状图。
③ 报表下载:将统计的依从率以电子表格的形式打印输出并根据用户意愿是否下载报表。
④ 后台管理:包括观察者信息管理、手卫生数据信息管理、统计平台用户信息管理、医院信息管理。由于平台功能的特殊性,统计平台用户信息管理和医院信息管理两个模块只有系统管理员权限才能访问。
1.3 数据库设计
根据需求,本系统需要建立6张表:手卫生数据表、观察者表、用户表、医院表、专业表、专业所属类别表,各表的设计分别如表1-表6所示。其中手卫生数据表是核心表,该系统的核心功能均与此表相关,比如iOS端手卫生数据的提交以及Web端依从率的查看和报表下载;观察者表主要存储iOS端用户的相关 信息;用户表存放的是Web端用户的信息,由于Web端用户分为普通用户和系统管理员,所以利用Authority字段来区分权限,若是系统管理员权限则不需要所属医院属性;医院表用来存储使用本系统医院的信息;专业表是存放被调出的医务人员属于哪个主业的信息;专业类别表用来存放区分专业所属类别的信息。表间关系可用实体数据模型图表示。
表1 手卫生数据表(Detail)
表2 观察者表(Checker)
表3 用户表(User)
表4 医院表(Hosp)
表5 专业表(Major)
表6 专业类别表(MajorCategory)
根据前面的数据库设计,使用SQL Server 2008 Management studio建立所需的数据表格并采用对应的数据库来存储应用程序数据,数据库建立在远程服务器上面。整个系统中,无论是iOS端还是Web端均要与数据库进行数据交互,并且由于终端类型的不同,Web端使用ASP.NET MVC框架搭建,而服务端采用ASP.NET Web API技术为iOS端提供数据交互接口。
2.1 MVC模式简介
MVC设计模式将一般的应用程序根据功能的不同分为三个主要部分Model(模型)、View(视图)、Controller(控制器)[7]。模型是应用程序中某事物的定义,将事物抽象为对象并负责相关逻辑计算,比如利用getter和setter可实现传递数据的功能;视图是应用程序中对某事物进行展示,它把从模型传递来的数据根据需求进行显示并接受用户的操作;控制器是模型与视图之间传递信息的部分, 负责将用户的请求联系相关模型进行处理最终将处理结果返回到视图上面。MVC模式使这三部分的每个部分之间都不必卷入其他部分的状态表示和实现方法的细节中去[8],从而减少了程序间的依赖性和代码的冗余,提高了系统的后期维护性。模型、视图、控制器三者间的关系如图4所示。
图4 模型、视图、控制器三者关系图
2.2 数据建模
为了给后面的开发搭建基础,首先需要为整个系统构建数据模型。由于ASP.NET Web API与ASP.NET MVC同样都是基于MVC(模型-视图-控制器)架构的,因此两者可以共用同一套数据模型。
本系统选择ADO.NET Entity Framework6.0[9-10]作为模型层设计方式,并以Database First(从数据库生成)开发模式生成实体数据模型(EDM)。实体数据模型会自动生成一个继承自DbContext的类,并将各数据表映射为相应的模型类且将表中字段映射为类中的属性。除此之外还完美地映射了数据库中各个表之间的关系,本系统的实体数据模型截图如图5所示。这样在程序中可声明相关的DbContext对象,通过该对象的操作来完成与数据库的数据交互。
图5 实体数据模型截图
2.3 监测客户端的实现
监测客户端基于iOS 8.0平台使用Object-C语言开发,运行设备硬件要求为iPad。APP的核心功能是观察者将所观察到的手卫生数据提交到远程服务器上面,为后面服务器统计依从率提供数据源。为了达到iOS平台与服务器通信的目的,本系统采用ASP.NET Web API技术为iOS端提供交互接口。该技术可用于创建连接浏览器、移动设备等多种客户端的HTTP 服务[11],iOS端利用HTTPS请求方式中的GET或者POST方法实现对数据库资源的读写操作,服务器最终把数据以JSON格式返回作为响应。
1) ASP.NET Web API接口实现
系统主要创建了两个用于连接iOS客户端的接口,分别为GetCheckerLogin和PostDetail方法,前者用于响应iOS端观察者的登录验证,后者用于将观察者提交的数据写入数据库。
2) iOS端请求接口
iOS端采用GET方法请求观察者的登录验证以及采用POST方法请求提交观察的记录。实现的代码分别如下所示:
① GET方法请求观察者的登录验证:首先声明了请求的统一资源定位符(URL)变量urlRequest,然后通过调用NSURLConnection sendSynchronousRequest发起请求,并将服务器响应结果存放在NSData类型的dataResponse中。
NSString *urlString = [[NSString alloc] initWithFormat:@″https://clyhands.com/api/checker/?name=%@&pass=%@″, name, passWord];
urlString = [urlString stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding];
NSURLRequest *urlRequest = [NSURLRequest requestWithURL:[NSURL URLWithString: urlString]];
NSData *dataResponse = [NSURLConnection sendSynchronousRequest: urlRequest returningResponse: nil error: nil];
② POST方法请求提交观察的记录:首先将JSON格式的观察数据转换成可用于POST请求的字节数据,然后声明请求的URL,最后设置请求的头部消息。
postData = [NSData dataWithBytes:[jsonRequest UTF8String] length:strlen([jsonRequest UTF8String])];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL : [NSURL URLWithString: @″https://clyhands.com/api/detail″]];
//本次请求为POST请求
[request setHTTPMethod:@″POST″];
//请求内容为JSON格式
[request setValue: @″application/json″ forHTTPHeaderField:@″Content-Type″];
//请求体内容为postData
[request setHTTPBody:postData];
2.4 统计平台的实现
统计平台基于ASP.NET MVC 5.0版本并使用C#语言开发,并且利用Razor[12]引擎完成界面的展示。
对于普通用户来说,统计平台最重要的作用是将网页上展示的依从率表格以电子表格的形式导出,本系统利用JavaScript和C#结合的方式实现此功能,实现方法描述如下:
(1) 网页上生成一个“导出”按钮,点击该按钮触发编写的exportExcel(f,tablehtml)方法,并同时传入两个参数,f代表要提交的表单,tablehtml代表网页上依从率表格标签的id值。该方法以SelfExportExcel.js文件的形式存放在Scripts文件夹下,调用前需要以的形式导入网站中。
(2) exportExcel方法将表格内容进行编码后,将编码内容写入f表单内的隐藏控件,最后以POST的形式提交f表单。
(3) 表单提交至后端相应的控制器上,控制器首先获取传入的HTML内容,对其进行解码后并转换成byte阵列,最后通过File( )方法将数据输出给Web端,控制器代码如下所示:
[HttpPost]
public FileResult SaveExcel(FormCollection form)
{
string strHtml = form[″hHtml″];
strHtml = HttpUtility.HtmlDecode(strHtml);//Html解码
//字串转byte阵列
byte[] b=System.Text.Encoding.UTF8.GetBytes(strHtml);
string FileName = DateTime.Today;
//输出给Client端
return File(b, ″application/vnd.ms-excel″, FileName + ″.xls″);
}
本系统以上海中医药大学附属曙光医院医疗安全监管体系为基础,在iOS平台的移动智能终端上实现了手卫生观察信息的实时输入和统计,通过iPad完成手卫生监测信息的输入、利用后台数据统计功能实时展现、定时汇总手卫生监测的相关信息结果。
利用智能移动终端完成监测数据的采集、分析以及实时反馈,可以优化监管流程,缩短中间环节,减少不必要的重复劳动,大大提高监管效率。如能在大型医疗机构中推广,对于提高医疗机构医疗安全管理水平,具有极大的社会意义和经济意义。
[1] 李六亿,刘玉村.医院感染管理学[M].北京:北京大学医学出版社,2010:252-253.
[2] Larson E.A causal link between handwashing and risk of infection? Examination of the evidence[J].Infection Control & Hospital Epidemiology:the Official Journal of the Society of Hospital Epidemiologists of America,1988,9(1):28-36.
[3] 世界卫生组织.Observation_Form_Chinese[DB/OL].http://www.who.int/entity/gpsc/5may/tools/Observation_Form_Chinese.doc?ua=1.
[4] MSDN Library.ASP.NET Web API参考[DB/OL].http://msdn.microsoft.com/zh-cn/library/hh833994(v=vs.108).aspx.
[5] Nair N,Bhandari R K.移动应用程序开发:基于Kendo UI Mobile和ASP.NET[M].吴骅,王学昌,译.北京:清华大学出版社,2015:36-66.
[6] Esposito D.Programming Microsoft ASP.NET MVC[M].Washington,DC,USA:Microsoft Press,2010.
[7] Gao L.An intensive MVC design pattern based on ASP.NET[C]//2010 Second International Conference on Computer Engineering and Applications,2010:679-682.
[8] 章其康.MVC模式在Web应用中的研究与实现[J].网络安全技术与应用,2007(7):84-86.
[9] Blakeley J A,Campbell D,Muralidhar S,et al.The ADO.NET entity framework: making the conceptual level real[N].ACM SIGMOD Record,2006,35(4):32-39.
[10] Data Access and Storage.实体框架(EF)入门[DB/OL].https://msdn.microsoft.com/zh-cn/data/ee712907.aspx.
[11] 韩立峰.基于ASP.NET Web API框架的校园一卡通手机客户端研究[J].计算机与现代化,2014(9):128-131,136.
[12] W3School.ASP.NET Razor-标记[OL].http://www.w3sch ool.com.cn/aspnet/razor_intro.asp.
DESIGN AND IMPLEMENTATION OF MONITORING AND MANAGEMENT SYSTEM OF HAND HYGIENE BASED ON iOS PLATFORM
Chen Zhiyun Zhao Kun Bai Yue*Xie Xiang An Weijie
(SchoolofComputerScienceandSoftwareEngineering,EastChinaNormalUniversity,Shanghai200062,China)
The supervision of hand hygiene and safety is an important medical supervision link for medical institutions, which is required by WHO. However, most of the medical institutions in our country still adopt the traditional way of paper record and manual input during the process of hand hygiene supervision. The whole process is time consuming and laborious, and lacks timely feedback, leading to the delay of implementation of intervention measures. Aiming at these problems, a hand hygiene data monitoring and management system based on iOS mobile platform and C / S mode is proposed. The system realizes accurate recording, real-time summary, quick report and background management and so on, which can greatly improve the supervision efficiency of medical institutions.
Hand hygiene monitoring iOS mobile platform MVC framework
2016-04-13。陈志云,副教授,主研领域:多媒体应用与教育技术。赵昆,硕士生。白玥,讲师。谢翔,硕士生。安炜杰,硕士生。
TP3
A
10.3969/j.issn.1000-386x.2017.05.017