APP下载

基于WPF的中医电子病历系统设计与实现*

2015-03-14金玉琴周金海

医学信息学杂志 2015年12期
关键词:控件病案病历

王 琦 金玉琴 周金海 周 明

(南京中医药大学信息技术学院 南京 210023) (南京体育学院运动康复医院 南京 210041)



基于WPF的中医电子病历系统设计与实现*

王 琦 金玉琴 周金海 周 明

(南京中医药大学信息技术学院 南京 210023) (南京体育学院运动康复医院 南京 210041)

基于中医病历较西医病历的特殊性,基于WPF设计面向中医专业人员的电子病历系统。从数据库设计、WPF与MVVM模式、XAML与数据绑定、界面设计与自定义控件等方面,详细介绍系统的设计与实现,阐述系统的功能模块及数据挖掘,指出系统的创新之处。

中医电子病历;WPF;XAML;数据挖掘

1 引言

病历是指医务人员在医疗活动过程中形成的文字、符号、图表、影像、切片等资料的总和,是病人在医院诊断治疗全过程的原始记录,包含病人个人信息、病程记录、检查结果、医嘱、处方用药等。近年来,随着计算机技术、信息处理及网络技术的迅猛发展及其应用的不断普及,电子病历(Electronic Medical Record,EMR)的研究受到越来越广泛的关注。电子病历是信息技术在医疗领域应用的必然产物,是医院管理现代化的必然趋势,其临床应用极大提高了医院的医疗服务质量和管理效率。但是,目前医院使用的电子病历系统绝大多数是为西医设计,不能体现中医“辨证论治”的诊疗特点;同时,中医及西医在检查、诊断、处方、用药等多方面的差异[1]使得中医在使用医院提供的电子病历系统时也存在极大不便。

中医具有鲜明的民族风格、独特的理论体系、丰富的医疗实践,在我国医学中扮演着非常重要的角色,作为世界上迄今为止唯一保持不衰的传统医学屹立于世界医学之林。因此,开发一款能够体现中医“辨证论治”特点、符合中医实际诊疗过程、便于中医专家实际使用,有效实现中医诊疗经验的收集整理与学术思想的归纳总结的软件具有较大的理论和现实意义。本文基于WPF设计中医电子病历系统,该系统针对诊疗过程中产生的病案信息进行结构化存储,有效实现对诊疗经验的收集和整理,同时为临床知识和经验的传承与创新提供帮助,可有效实现中医的现代化、国际化[2]。

2 系统设计与实现

2.1 数据库设计

中医电子病历系统设计的首要问题是医学语言的标准化进度缓慢[3],如何将复杂的中医药信息进行结构化存储是设计的难点。本系统数据库设计参考数据存储与数据工程(Data Storage and Data Engineering,DSDE)的设计方式,对中医病案信息进行结构化处理,通过DSDE方法根据中医辨证论治的诊疗特点确定结构化原则,即以症-证-治为要素对病历信息进行结构化[4]。病历信息的结构化应尽可能符合临床诊疗术语规范,以便形成标准化的中医病案信息,为进一步经验整理和数据挖掘提供支持。数据库中证型诊断,见表1,同一病历号由于证、病性和病机的原因可以对应多个证型号。

表1 证型诊断

2.2 WPF与MVVM模式

(1)Windows Presentation Foundation (WPF)是微软推出的基于.NET平台、构建于Dir-ectX接口上的下一代用户界面框架,它提供了统一的编程模型、语言和框架,实现了用户界面设计代码与程序逻辑代码的分离,真正做到了分离界面设计人员与开发人员的工作[5]。(2)Model-View-View-Model (MVVM)中医电子病历系统对结构化、规范化的中医药数据要求较高,所以高效、可控、便于管理的设计模式显得格外重要。本系统使用WPF的新设计模式MVVM进行架构管理,见图1,立足于原有MVP框架并且把WPF的新特性揉合进去[6]。

图1 MVVM架构

MVVM模式的主要目的是分离视图(View)和模型(Model),具有低耦合、可重用性、独立开发和可测试等优点。本系统使用MVVM模式,通过View绑定到ViewModel然后执行命令请求动作,ViewModel再与Model通讯,更新来响应用户界面,从而实现View独立于Model进行变化和修改,同时一个ViewModel可以绑定到不同的View上。采用MVVM模式使得系统的用户界面设计代码与程序逻辑代码完全分离,可以在不影响功能实现的前提下充分发挥WPF的新特性,将Sliverlight、音频、视频、3D、动画等引入软件的用户界面层,使界面既人性化又美观;同时,MVVM模式的使用可以让难以测试的界面测试变得便捷,只要针对ViewModel层就可以简单地完成界面的测试环节。

2.3 XAML与数据绑定

可扩展应用程序标记语言(eXtensible Application Markup Language,XAML),引用使得WPF下用户界面设计代码与程序逻辑代码的分离得以实现。对于结构化、规范化要求较高的中医药数据,选取XAML绑定方式可以显著提高存储及管理效率。实现了数据源及界面的双向绑定,数据源变化时界面自动跟随数据源一起发生改变;反之,界面的变化同样会引起数据源的变化。以下为系统XAML绑定数据库字段的部分代码:

但不可否认的是XAML 绑定与路由事件的大量使用会导致软件架构不稳定,从而加大了系统的后期维护难度,传统的MVC及MVP模式已经渐渐不能满足系统开发的要求,因此,XAML数据绑定配合前文阐述的MVVM模式可以有效避免架构不稳定的问题,实现对中医药数据高效、可控的管理。

2.4 界面设计与自定义控件

XAML作为可扩展应用程序标记语言,可以完成与后台数据源的数据绑定,其最大的优势是设计与逻辑分离,通过XAML的编写可以在不影响逻辑代码的前提下完成复杂的用户界面设计,兼具友好性与美观性。Expression Blend作为一款功能齐全的专业设计工具,可用来针对基于Microsoft Windows的应用程序制作精美复杂的用户界面。本系统通过Expression Blend对XAML进行编写,重新设计了包括Button、Textbox、DataGrid在内的多项控件,通过修改控件的形状、颜色、图案以及事件响应时的触发器变化设计出了更符合中医特色的系统控件,在保证贴合使用者习惯的同时更加美观。同时,充分利用WPF自带的“用户控制(UserControl)”重新设计符合系统要求的自定义控件,诸如为方便中医专家文字输入而引入的首字母下拉选择框与数据库相连,用户只要输入拼音首字母,控件下拉框可以从数据库中选出所有对应中药材以供用户选择(如用户输入BS,下拉框显示白芍和北沙参);为解决中药材过多导致显示不便而引入的分页控件,向用户提供分页数量的选择,更好地呈现大量的中药材数据。

2.5 图像与声音采集

中医与西医差异性的体现之一就是方式诊断依据的差异。与西医重视各种生化检查不同,中医主要通过“四诊”,即望、闻、问、切来获取患者有关疾病的各项数据[7]。因此,能否储存四诊过程中患者的面像、脉象、舌象等图像数据以及咳嗽等声音数据对中医电子病历病案的完整性至关重要。本系统编写自定义类cVideo.cs和cVoice.cs来调取摄像头和声卡进行诊疗过程中图像及声音的采集,通过完善的数据库进行图像和声音数据的存储。医生在患者复诊时,可以轻松调出相关资料,包括图像和声音资料,极大提升了中医病案数据的完整性,为中医专家病案研究和诊疗经验的整理总结奠定了基础。

2.6 处方设计与打印

中医与西医差异的另一点体现在处方与用药。中医处方用药多为方剂,需要在辨证审因确定治法后,选择适当药物、遵循组方原则、斟酌用量用法,进行妥善配伍。因此,本系统中医处方的设计结构遵循“主病之谓君、佐君之谓臣、应臣之谓使”的君臣佐使规则[8],不仅支持经验方的直接调用,而且还可以根据中医医师个人的诊疗经验对其进行药物及计量的修改,提供药物、剂量、煎法、温度、用法等多方面的支持,为减少处方信息记录复杂度提供最大限度的支持。系统通过CrystalReport.rpt提供报表解决方案,预设多份处方样式,用户可以选择自身需要的样式,预留打印接口,在开方结束后可以直接进行打印。

2.7 数据导出与还原

考虑到中医专家往往因坐诊场所不同而导致病案数据的更新不同步的问题,本系统提供了数据的备份与还原功能,支持多种格式的数据导出,比如.bak和.mdf数据库文件,以及.xls和.csv报表文件。通过数据的备份与还原有效提高了用户对病案数据的管理;同时,选择.xls和.csv的数据格式导出为中医专家提供了对收集的病案数据进一步处理的功能,支持中医专家的经验总结与医案研究。

3 系统功能模块(图2)

图2 中医电子病历系统功能

3.1 前台处理

前台处理是系统的主要功能模块,用户使用的功能主要集中在前台处理,本系统完全模拟中医实际诊疗从录入初诊病人信息、诊断检查信息,到开出处方用药信息并打印的全过程,确保中医病案的数据录入具有完整性。

3.2 后台管理

系统的后台管理主要为前台处理提供数据支持,其中最重要的中药和常用方数据参考《中药学》和《方剂学》(新世纪第2版全国高等中医药院校规划教材,供中医药类专业用)录入,提供增、删、改、查功能,为用户根据自身情况修改中药及常用方数据提供支持。

3.3 接口管理

随着医疗卫生机构信息化的普及,不仅仅是病历电子化,挂号、药房管理等环节同样电子化。本系统为未来用户使用过程中可能发生的多系统链接提供必要的接口,如和挂号系统链接后可以直接调用挂号时收集的病历号及病人信息;与药房管理相连,在开方时遇到库房方药不足时能够实时提示等,极大提高了系统的可用性和扩展性。

4 系统与数据挖掘

4.1 数据挖掘过程

在大数据时代下,数据已经渗透到生活的方方面面,成为重要的生产要素[9];同时,数据挖掘(Data Mining)技术已成为许多领域研究处理数据的有效手段。数据挖掘是指从大量的数据中通过算法搜索隐藏于其中信息的过程,即从海量、不完全、随机、有噪声的数据中提取隐含的、未知的但却有价值的知识和规律的过程[10]。数据挖掘过程,见图3[11]。

图3 数据挖掘过程

4.2 中医药数据挖掘

中医药数据具有维度高、复杂性强、数据量大等特点,在中医药知识体系中存在着大量的隐性知识,中医历来有“医者意也”的说法,很多隐性知识无法通过文字或语言进行表达,这就是很多高明的医生却很难把医术传承下来的原因。在中医药领域引入数据挖掘技术就是为了从大量中医病案中提取隐性知识,为理论研究和临床实施提供科学依据。中医药数据可供挖掘的方向有很多,如杨涛等[12]应用人工神经网络算法探讨心系病证与基础证的相关性研究;张承江等[13]应用关联规则对中医肾病方剂配伍规律的研究;郭捷婷等[14]应用聚类分析研究急性缺血性中风的证型分布等。本系统集成了聚类分析和关联规则等多项数据挖掘算法,可以对数据库中预处理后的数据进行挖掘。

5 系统创新

5.1 针对性强,体现中医辨证论治的诊疗特点

不同于目前各医院使用的西医电子病历的系统,本系统完全基于中医诊疗特点,从数据库到界面设计充分考虑中医实际使用需求,模拟实际中医诊断流程,体现了中医辨证论治的诊疗特点。

5.2 简单实用,符合中医专家的使用习惯

由于中医专家通常年纪较大,缺乏过多的计算机使用技巧,系统的开发在保证功能的基础上简化操作过程,用户在使用过程中甚至可以脱离鼠标,完全使用键盘操作,极大缩短了不必要的诊疗时间。

5.3 简洁美观,系统界面表现形式丰富多彩

基于WPF新的用户体验,系统界面开发运用了丰富的图片、自定义控件和3D素材,在不影响功能使用的前提下,尽可能提高美观性。

5.4 可扩展性强,便于与相关医疗电子软件结合

预留接口,为未来用户使用过程中可能发生的多系统链接提供必要的接口,极大提高了系统的兼容性和实用性。

5.5 集成算法,辅助数据挖掘分析

系统集成聚类分析、关联规则、决策树等多种经典数据挖掘算法,辅助中医专家对收集的病案进行数据挖掘分析,提供诊疗数据的增值空间,为中医专家的经验总结与医案研究提供支持。

6 结语

中医电子病历系统作为传统医学与现代科学的结合,顺应了当前大数据大健康的发展潮流,推进了中医现代化的步伐,为中医药大健康的相关产业和服务奠定基础。本系统还具有很好的发展性,在移动端设备极为发达、移动医疗快速发展的今天,可以开发电子病历系统的手机端APP,侧重于挂号系统,在医疗资源紧张的时间段可以通过手机远程挂号,直接生成病历号,入院诊疗时医生可以直接调用手机挂号时的病历号。还可与时下流行的云端技术相结合,将医生的病案信息存入云端,在保证安全性的同时减少了病案信息更新不及时、更换繁琐、容易丢失等问题;与快速发展的物联网技术相结合,建立公民个人诊疗信息卡片,公民所有的诊疗信息都存在本人的卡片内,既方便了医生第一时间了解病人相关信息,也便于公民个人及时了解自身的身体状况。

1 沈绍武,肖勇,陈伟.我国中医药信息化建设与发展的思考[J].医学信息学杂志,2010,31(7):1-4,8.

2 刘保延,张红,倪皖东.试论中医电子病历系统及其特殊性[J].医学信息,2004,17(1):9-11.

3 孙沂振,沈云学,唐贺云.电子病历概述[J].医学信息学杂志,2009,30(3):1-5.

4 张润顺,王映辉,姚乃礼,等.名老中医电子病历中病史动态结构化数据录入规范[J].中国医药信息杂志,2007,14(3):100-101.

5 戴伯乐.Windows Presentation Foundations的项目部署和性能优化[J].电脑知识与技术,2010,6(1):227-228,249.

6 黄建岗.浅谈WPF设计模式[J].中小企业管理与科技:上旬刊,2009,(10):286.

7 岳琳哲,施诚.病历、电子病历与中医电子病历[J].医学信息,2006,19(7):1121-1124.

8 沈宁乔,张伟威,余春兰,等.论中医电子病历的中医方向[J].江苏中医药,2011,(6):83-84.

9 刘保延.中医药迎来大数据时代[N].健康报,2013-8-21(005).

10 吴丽,周良.数据挖掘方法在中医药领域的应用浅析[J].医学信息,2009,22(5):576-578.

11 王惠中,彭安群.数据挖掘研究现状及发展趋势[J].工矿自动化,2011,(2):29-32.

12 杨涛,吴承玉.基于人工神经网络的心系基础证诊断模型构建[J].中国中医基础医学杂志,2013,19(9):765-766.

13 张承江,闫朝升,宋立群.中医肾病治疗信息中关联规则的挖掘算法[J].黑龙江大学自然科学学报,2005,22(6):842-845.

14 郭捷婷,黄燕,蔡业峰,等.急性缺血性中风的证型分布研究[J].中医学报,2015,30(1):130-132.

Design and Implementation of WPF-based Electronic Medical Record System for Traditional Chinese Medicine

WANG Qi,JIN Yu-qin,ZHOU Jin-hai,

College of Information Technology, Nanjing University of Chinese Medicine, Nanjing 210023,China;ZHOU Ming, Exercise Rehabilitation Hospital of Nanjing Sport Institute, Nanjing 210041,China

Based on the particularity of traditional Chinese medical records as compared with western medical records, the paper designs an Electronic Medical Record (EMR) system for traditional Chinese medical personnel based on WPF. It elaborates the system design and implementation from database design, WPF and MVVM mode, XAML and data binding, interfacial design and custom controls, etc. It also explains the system′s functional modules and data mining and points out its innovation.

Electronic Chinese medical record;WPF;XAML;Data mining

2015-10-25

王琦,在读硕士研究生;通讯作者:金玉琴。

江苏省高校大学生实践创新训练计划—省级一般项目“基于WPF的中医专家门诊电子病历系统的构建”(项目编号:201310315073Y);国家中医药管理局重点学科(中医药信息学)开放课题“面向数据挖掘的中医电子处方系统构建”(项目编号:ZYYXXX-16)。

R-056

A 〔DOI〕10.3969/j.issn.1673-6036.2015.12.006

猜你喜欢

控件病案病历
基于二维码的病案示踪系统开发与应用
强迫症病历簿
试析病案管理中预防病案错位发生的方法
基于.net的用户定义验证控件的应用分析
“大数的认识”的诊断病历
关于.net控件数组的探讨
为何要公开全部病历?
试论病案管理在防范医疗纠纷中的作用
PDCA循环改进对病案首页中主要诊断正确选择的影响分析
村医未写病历,谁之过?