背景
随着信息化技术的不断发展,医疗体系越来越完善,健康一体机从理论到方法、从内容到载体都有所改变。人口老龄化加速、慢性非传染性疾病肆虐等社会趋势使得高质量的长期医疗护理逐渐成为全社会关注的焦点。传统医疗系统背景下的医疗资源日渐紧缺,每年的与之相关的医疗费用居高不下,成为现代经济与社会发展面临的巨大挑战之一 [1]。远程医疗能大大减少对医疗资源的需求,但是目前大多数医院信息系统还是采用有线网络方式访问数据库 , 这就使得记录病人的病况不太便利。基于 Android 系统的健康一体机 APP 构造了一个在 WIFI 或数据流量环境下 , 实时测量各项生理参数并同步保存数据的移动化医疗系统 , 极大的便利了人们的生活。
医疗数据表的逻辑设计
简介
健康一体机 app 存取数据采用的是一种开源嵌入式数据库,即 SQLite,SQLite 是以 C 语言作为开发语言,其源代码具有开放性。由于 SQLite 生成的数据库文件为普通的磁盘文件,因此可放置在任何目录下,具有跨平台性,应用范围广泛。在 Android 系统中集成了 SQLite 数据库,所以
健康一体机 app 采用 SQLite 来存储数据。在 Android 系统中主要由和 SQLiteOpenHelper 类对 SQLite 数据库进行管理和操作 [2]。
需求分析
健康一体机共可以测量十二个医疗指标,每个测量指标都是当今医疗中测量最普遍的生理参数,通过这十二项医疗指标可以反应一个人的健康状况。本数据库需要记录用户的身份信息和
健康一体机测量出来的相关医疗数据。其中用户的信息包括身份证号码,姓名、性别、身份证头像等信息,医疗数据包括心率,血氧,血压,血糖,尿酸,总胆固醇,尿常规,健康指数,体温,血红蛋白,中医体质,血脂等十二项指标。
概念结构设计
通过对需求分析进行归纳总结,根据
健康一体机数据表中实体的各种属性及其之间的联系,可得到具体的 DBMS 概念模型,其图如图 1 所示。
中用户实体包含四个属性,分别为用户 ID,姓名、性别、身份照片。医疗数据实体包含十二个属性,如心率、血压、血糖等普通生理参数。这些用户信息与医疗数据为个人健康档案数据提供了基础。
数据库逻辑设计
本数据库包含 user_info 和 data_info 两张表,用以存储用户身份信息,data_info 用以存储医疗数据。
具体如表 1 及表 2 所示:
数据库基本操作
在建立好数据库以及表之后,引用由
提供的操作数据库的方法,对医疗数据记录进行增删改查等操作。增删改查均用到 SQLite Database 对象中的方法,具体为:新增对应 insert()方法,删除记录对应 delete()方法,修改记录对应 update() 方法,查询记录对应 query() 方法。
医疗数据的同步
在
健康一体机中,当用户完成身体指标的测量之后,医疗数据会同步到服务器。这里的同步即按照了服务器端的数据接收协议,采用 Socket 通讯方式来实现。
简介
所谓 Socket, 通常也称作“套接字”, 实现服务器和客户端之间的物理连接 , 并进行数据传输 , 主要有 UDP 和两个协议 , 处于网络协议的传输层 [3]。这里主要针对 TCP 协议的,在实现数据传输的过程中,Socket 分为了两端,其中一端为 Client 端;另一端为 Sever 端。当 Client 端发起连接的请求之后,Sever 端会做出反应,与此同时返回一个对象,在之后的数据通信中,两端的通信便可通过这个 Socket 对象进行。
基于 TCP 协议的 Socket 通信
若要进行通信,首先必须要有运行服务器端的主机地址(就像是打电话的时候要知道对方的电话号码),再通过指定的端口和服务器建立连接,进行通信。
协议提出了协议端口的概念,
健康一体机用于标识通信的进程。当进程与某个端口绑定后,操作系统会将收到的给该端口的数据发往该进程 [4]。
客户端可通过两种途径连接到服务器: