1. 引言
血吸虫病是一种严重危害人类健康、阻碍疫区社会经济发展、具有传染性、地方性和自然疫源性的疾病。我国长江流域及其以南地区的7个省是血吸虫病流行的主要地区,如何有效防治这一地区的血吸虫病成为我国乃至世界血防领域亟待解决的重大难题。现今血吸虫病研究专家们讨论出多种针对血吸虫病传播风险监测预警的指标体系,但仅在理论上实现了对血吸虫病的有效监测,并没有实现数字化管理。在互联网高速发展的今天,本文在监测预警指标体系理论基础上,基于B/S结构设计整套监测预警数字化系统,将预警系统在指标体系的基础上进行可视化监控,使此系统成为一项有针对性、实时性的数字化疾病监控系统 [1] 。
2. 系统需求分析
2.1. 指标体系介绍
沿江血吸虫病预警指标体系数字化系统是一套能有效控制血吸虫病传播的理论研究成果。研究采用专家咨询及多维综合评价等方法,建立一级指标3项、二级指标12项、三级指标48项 [2] 。通过确定一系列的计算方法,得出综合风险指数R,由评判标准以红、橙、黄、白色表示不同风险等级,实现沿江血吸虫病的有效监测预警。
(1) 计算流程
指标体系按照多位综合评价法原理建立,以一级指标为基准分为三大指标模块:钉螺指标、感染因素指标、影响因素指标。每个一级指标下有4组二级指标,如钉螺一级指标下的钉螺感染率、感染螺密度、钉螺面积、活螺密度四组二级指标。每个二级指标下有4个三级指标,形式为选项值或范围值,4个三级指标以二级指标的计算值或由人员输入的选项值选取1个参与计算。指标模块以Zi(i = 1,2,3)表示第i指标综合指数,每个指标模块以二级指标为基准以Yj(i = 1,2,3,4)表示第j组指标权重,分别以二级指标名命名。
所有指标由专家按0~1确定权重,一、二级指标权重是固定的。由录入数据确定三级指标权重指数,将同组的一、二、三级指标权重指数相乘得出本组指标值Yj,将Yj相加得到本指标模块的Zi。
以沿江滩块为单位,3个指标综合指数Zi之和乘高危系数K(有急性血吸虫感染和疫水测定阳性为3,感染性钉螺和野粪阳性为2,其它指标为1)作为各滩块血吸虫病传播综合风险指数R [2] 。计算公式如下:
(2.1)
以确定第1指标综合指数钉螺的第1组指标权重钉螺感染率为例。指标情况如表1。
查螺人员对沿江滩块进行现场查螺,使用手机客户端录入查螺数据后传入服务器。在服务器中由计算公式算出二级指标钉螺感染率。若算出为3.2%,得出符合三级指标编号项112,又由表2,则三级指标权重指数为0.58。将Y1组一、二、三级指标权重指数相乘,即得出Y1等于0.42。
同理可求出每个模块的4个Yj。不同Yj的二级指标计算方式不同。求出钉螺指标的4组Yj后,相加得出钉螺指标模块的指标综合指数Z1。
(2) 指标类型分析
指标体系中,一级指标为分类作用,分为三大模块;二级指标指定指标的计算/选取方式类型;三级指标作为二级指标值的选项值和判断标准。由此可将一级指标作为本类模块根节点,其下的二级指标为子结点,二级指标中存放根据三级指标所得出的本类综合指数值。一级指标及二级指标的权重指数是固定的,因三级指标的不同而产生不同的同级综合指数。
二级指标按产生形式可分为计算型指标5项和逻辑型指标7项。计算型指标由相应的计算公式得出,交由下级三级指标范围判定后得到三级指标的权重指数。逻辑型指标由三级指标规定选项,不同选项的权重指数不同。指标体系计算流程如图1。
2.2. 整体系统设计
指标体系作为一个理论研究,其目的是计算出综合风险指数R,对R进行范围判断从而达到检测预

Table 1. The schistosomiasis risk warning indicator of the beach
表1. 沿江滩块血吸虫病传播风险预警指标

Table 2. The schistosomiasis transmission risk index value of the beach
表2. 沿江滩块血吸虫病传播风险指标值

Figure 1. Flowchart: calculation of Index System diagram
图1. 指标体系计算流程图
警作用。将指标体系数字化实质是设计一个系统并将指标体系作为一个数据处理依据。
选定沿江滩块为系统研究对象,按功能将系统分为数据存储、数据处理、数据呈现三个模块。沿江滩块负责数据存储,指标体系作为数据处理理论依据,综合风险指数R作为原始被判断内容负责数据呈现标准。
综合分析沿江血吸虫病传播风险监测预警指标体系的系统特点和性能要求,本文设计实现一套基于B/S的检测预警系统,主要实现模块为数据库模块、Web服务器模块、前端网页模块。数据库实现数据存储;Web服务器实现数据处理即指标体系的计算及数据的传输;前端网页实现沿江滩块及其综合风险指数R的显示。系统整体结构框图如图2所示。
3. 系统实现
3.1. 数据库搭建
本文系统数据库基于关系型数据库MySQL搭建,将数据保存在不同表中,采用数据库标准化语言进行访问,增加系统的查询速度并提高了灵活性。通过对系统进行需求分析后,确定数据库中需要存储下面两类数据信息:(1) 沿江滩块信息:包括滩块编号、地理位置信息和综合风险指数;(2) 指标体系信息:钉螺信息、感染因素、影响因素等。概念设计后得到系统的E-R模型如图3,共四个实体:沿江滩块信息、钉螺信息、感染因素信息、影响因素信息。将概念设计得出的E-R图转化成关系模型,然后对
得到的关系模型进行优化使其满足范式要求 [3] 。分析得出系统的关系模式,创建数据库存储表。系统仅存在实体表,各表之间用外键链接,外键集中在沿江滩块信息表中。
3.2. Web服务器实现
Web服务器实现数据的接收、处理和存放,指标体系数据的计算处理都在服务器中实现,最重要的是综合指数和综合风险指数的计算。
服务器使用JAVA语言开发,基于JAVA Web的结构型开发框架Spring MVC,定制本地化和主题解析,并提供多种视图技术,实现了控制器、模型对象、分派器以及处理程序对象的多角色分离 [4] [5] 。同时,使用功能强大的ORM开源框架工具Hibernate,将关系型数据库中表的关系映射为数据访问对象之间的关系,对JDBC进行轻量级的对象封装,不仅提供ORM映射服务,还提供数据查询和数据缓存功能,实现了广义的业务数据持久化,即数据的保存、更新、删除、加载和查询 [3] 。服务器工作流程如图4。
(1)综合指数计算
同组指标值Yj(j ≤ 4)需将同组一、二、三级指标权重指数连乘求取。对于同组指标,主要需求取三级指标的权重指数。
对于计算型二级指标,确定三级指标的权重指数时需要从数据库不同的表中取出对应数据,通过公式计算得到二级指标后再求出三级指标。根据前端页面发送的数据中取出相应参数,建立实体对象,或从由Hibernate生成的表单对象取出所需参数,由公式算出二级指标值后经由三级指标进行范围判断,得出权重指数。
对于逻辑型二级指标,此类指标可分为选择型和直接型,对应前端信息录入界面的select和text控件所获取的信息。select控件为下拉选项,用户选择一项后,对应的value传到服务器,服务器为对应指标建立特定数组,以value为索引,对应三级指标选项值,即得到权重指数。text控件为直接填入形式,服务器对传入值进行大小判断即可得到三级指标权重指数。
(2) 综合风险指数计算
以沿江滩块为单位,指标综合指数Zi之和乘高危系数作为各滩块血吸虫病传播综合风险指数R。
高危系数K可能有三个值,二级指标中急性感染和疫水测定阳性两项不为空则K为3,钉螺感染率和野粪阳性率大于0则K为2,否则1。需对Hibernate生成的表单对象及前端传入数据进行全局检索。
将指标综合指数Zi之和与高危系数K相乘,即得到综合风险指数R。将R传给前端,前端经过判断后显示出不同颜色的滩块(R ≥ 2.0红色,1.5 ≤ R < 2.0橙色,0.9 ≤ R < 1.5黄色,R < 0.9 白色),实现沿江滩块的检测预警。
3.3. 前端网页设计
前端网页负责沿江滩块的地图显示、指标体系风险等级(颜色)显示及基础数据录入等功能实现。系统网页界面主要运用jQuery框架搭建,运用HTML+CSS实现网页的构建,采用基于jQuery的bootstrap框架样式,通过JavaScript处理复杂的逻辑运算和交互。同时,使用AJAX技术实现异步刷新,创建与桌面应用相似的交互体验 [6] 。
(1) GIS设计
系统通过GIS实现沿江滩块的显示和指标体系的风险等级显示。GIS以Baidu Map电子地图作为参考平台,监控沿江滩块的位置、风险状态和形状。
Baidu Map JavaScript API是一套由JavaScript语言编写的应用程序接口,申请密钥后为开发者所使用,http://api.map.baidu.com/api?v=2.0&ak=key指向JavaScript文件所在的位置,引入该文件会加载使用
Baidu Map API所需的全部符号和定义。在HTML文件适当的位置创建一个div元素,用于显示地图及其相应控件。创建JavaScript代码区,用于存放相应代码。加载地图的同时需设置地图中心点,缩放级别及显示类型。同时需添加定位、缩放及城市控件。
在实现定位功能时,涉及到对精确定位技术即对地球坐标(WGS84)、火星坐标即国测局坐标系(GCJ-02)和百度坐标(BD-09)的转换,采用二分极限算法可实现坐标的相应转换,实现从设备获取经纬度(GPS)坐标,从而使任务围栏信息更加准确。
(2) 沿江滩块异步显示
使用AJAX技术实现地图上沿江滩块的异步显示。使用POST将参数作为HTTP消息的实体内容发送给服务器。服务器从数据库中取得滩块地理位置信息和综合风险指数,在AJAX中对滩块类别进行判断分类后,再循环输出显示。此时,滩块编号是滩块及其对应指标体系的唯一标识。
(3) 数据录入页设计
本页主要实现信息录入功能。使用Bootstrap框架,基于其栅格系统,使用如form、text、select、button等控件实现响应式信息录入与提交 [7] 。
4. 系统测试
在前端网页写入沿江滩块若干个,分别为它们录入滩块编号、地理位置信息。在信息录入界面,对每个滩块录入不同三级指标值。
登陆前端GIS显示页面,地图界面上显示出每个沿江滩块的地理位置和形状,且其边框的颜色不同。根据录入的指标数据不同,呈现出红、橙、黄、白四种颜色,从高到低代表综合风险指数R的数字范围,实现沿江滩块血吸虫病感染情况的可视化监控。同时可说明后台服务器中指标体系的计算成功,可正常监测沿江滩块的血吸虫病感染情况,实现数字化预警。
5. 结束语
血吸虫病是一种危害严重的寄生虫病,因此建立有效的血吸虫病疫情监测预警系统非常重要,而基于指标体系的算法是监测预警系统的重要判定部分。本文建立指标体系数学模型,在后台设计实现其算法。基于B/S网络结构模式建立预警数字化系统,采用MySQL建立数据库,综合前端网页开发技术、WebGIS技术和指标体系研究理论算法,实现了以沿江滩块为研究对象,同时依据指标体系理论算法进行风险判断的B/S数字化管理系统,系统具有数据存储、数据实时录入、数据分析显示的功能,是典型的多功能任务管理系统。
血吸虫病疫情预警数字化系统具有重要的研究意义与应用前景,在医疗研究日益重要的当今时代,其商业潜力极大,具有深远的意义。本文成功搭建的预警系统虽然能够满足对沿江滩块指标体系的监控和管理,但它的功能还不够完善,需要进一步的优化和改善,如对指标体系中各指标获得途径的不同应设计不同的输入页面等。