基于超声病历的数据库管理与分析系统
2020-08-04张勇鲁晓罗燕
张勇,鲁晓,罗燕
四川大学华西医院超声医学科,四川成都610041
前言
目前国内外主流的医学影像技术大体包括超声成像、CT成像、MRI成像和X光射线成像。超声在医学中的重要作用在于它不但可以穿透人体,而且可以与身体组织相互作用。X 射线通过人体时只发生衰减,而超声波穿过人体则还可以经过折射和反射作用。这可发生在超声波经过的任何界面上,就如同光束经过一个非均匀物质一样。在医学应用中的超声波是一种纵波,它的传播速度比X 光要慢很多,从而使传播时间容易测量,如脉冲回波法的应用。超声波的波长很短,非常有利于窄脉冲波束的实现,因此声源可以做得小而紧凑。超声波的这些特性,以及现代电子技术的发展,使得超声成为最常用的医学诊断设备之一。与其他成像技术相比,超声成像具有无创、无痛、无放射线损伤、快速、准确、便捷、经济等特点,是临床最常用的检查方式之一,是现代医学影像技术的主要组成部分之一,为临床诊断提供重要依据。随着超声就诊量的增加,超声病历数据的有效管理显得尤为重要[1‐4]。同时,单纯的超声诊断结果还不能全面地反映病人情况,还需与电子病历、实验室检查结果、其他影像诊断、病理检查结果等相关信息结合起来整体评估,这对于超声科医生的临床工作和科研工作具有重大意义,也增加了超声病历数据管理的难度[5‐6]。部分超声病历管理系统没有提供数据分析功能,还需借助其他数据分析软件进行数据分析[7‐8]。目前大多数医学统计多采用专业化的SPSS、SAS软件,应用时需要把相关数据导入,且这些专业化软件很难掌握,操作流程复杂,而实际超声常用的数据统计方法并不多,因此,一套适用于超声病历数据库管理和分析的综合系统能满足超声科医生的实际工作需要。
1 系统构架
超声病历数据库管理与分析系统主要由安装有病历管理系统与分析软件的计算机、医生和各个学生组构成。配备科室服务器,则可以实现系统资源共享,能实现多个用户终端的病历数据共享[9‐10]。同时,目前医院的HIS系统通常配备有各类数据的检索及调用接口,可以设计相应数据调用接口,从医院HIS 系统中直接调取病人的相关就诊信息及各类检查结果信息并导入超声病历管理系统[11‐13]。这样就能实现从多个方面评估病人。通常能导出的相关数据包括基本信息、实验室检查结果、其他影像数据、手术信息、病理检查结果等。超声病历管理及分析系统框图如图1所示。
图1 超声病历管理与分析系统框图Fig.1 Ultrasonic medical record management and analysis system block diagram
医生及各学生组把日常工作中所感兴趣的病历信息提取下来,录入超声病历数据库管理系统进行统一管理,通过系统管理软件实现对历史存入病历信息的查询、统计分析等相关操作,充分利用数据库的优势,极大地提高病历研究及科研的效率。
1.1 数据库选择
由于医院的超声系统以及医院其他临床应用系统的各类数据的类别都有精确的标准,这种类别的数据特别吻合关系型数据库的使用场景。关系数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。现实世界中的各种实体之间的联系均用关系模型来表示。关系模型就是指二维表格模型,因此一个关系型数据库就是由二维表及其之间的联系组成的一个数据组织。当前主流的关系型数据库有Microsoft SQL Server、MySQL、Oracle 等。超声病历数据库管理与分析系统采用关系型数据库。关系型数据库相比于非关系型数据库拥有众多优势:易用性、适合分布式组织的可伸缩性、可用于决策支持的数据仓库功能、与许多其他服务器软件紧密关联的集成性、保持数据的一致性、可进行复杂查询、通用化、技术成熟、良好的性价比。系统同时支持Microsoft 开发的SQL Server和Oracle 旗下的MySQL 两种典型的关系型数据库[14‐16],充分利用两种数据库分别在数据管理、开源方面的优势。
1.2 系统环境
本系统软件主要基于C#语言来进行开发设计。C#的身上集成了C++、Ⅴisual Basic、Delphi、Java 等语言的优点[17‐18]。C#具有多个特点:完全面向对象语言、强大的.NET 类库支持、对Web 开发的支持、对泛型的支持等。C#的窗体应用程序大量运用在可视化应用程序开发方面。Ⅴisual C#编译完成后可生成可执行文件,直接拷贝可执行文件到其他电脑即可运行。软件支持常见Win7、Win10 等系统。同时系统只需要有2G 及以上的内存,以及数据库相关环境的配置即可实现软件运行。
2 系统设计与测试验证
超声病历管理与分析系统的主要功能框图如图2所示。系统主要包含3 部分:系统设置、基础查询、统计分析。
2.1 系统设置
图2 系统功能框图Fig.2 System function block diagram
“系统设置”部分包含添加病历、数据库选择、帮助文档。“添加病历”可以通过“单个病历添加”和“批量导入病历”两种方式。“单个病历添加”可实现对目前已有字段的数据进行编辑输入。例如,病人的“姓名”、“性别”、“年龄”、“检查号”、“住院号”、“超声诊断”、“病理”的直接数据输入。如果需要新增数据字段,则可通过“添加数据类”功能新增字段及相应数据。“批量导入病历”则可实现对病历数据通过Excel表格的方式批量导入,只需要保证表格的列名与数据库的字段名一致,这样能方便多个数据收集端的多个病历数据一次性导入。“单个病历添加”的软件界面如图3所示。“数据库选择”是计算机安装的数据库的选择,包括“SQL Server”和“MySQL”两种数据库,可进行灵活选择。“帮助文档”为系统的使用说明书,包含系统各部分的使用操作说明。
图3 病历导入界面Fig.3 Medical record import interface
2.2 基础查询
“基础查询”部分是对数据库中的感兴趣病历的查询及编辑。主要包括“查询条件设置”和“病历显示及编辑”两个部分。“查询条件设置”部分会列出病历数据库中所有的数据字段名作为“查询项目”,“查询条件”中列出“=”、“>”、“>=”、“<”、“<=”、“like”、“not like”等查询条件,能满足所有的查询需求。通过“逻辑与”和“逻辑或”的逻辑关系,能组成多个查询条件的逻辑组合,实现较为复杂的查询。“病历显示及编辑”区域显示查询到的病例数及各自的数据。在数据库右键可以查看该病历的超声检查图库,也可以对病历进行更新、删除等操作。通过“病历导出”功能,可实现查询结果区域的病历导出到Excel,可用于其他病历研究。右键菜单和“基础查询”软件界面如图4所示。
图4 基础查询软件界面Fig.4 Basic query software interface
2.3 统计分析
“统计分析”部分可对数据库中的病历数据直接实现统计分析,从而避免在数据库管理软件拷贝数据出来再使用其他数据分析软件(如SAS、SPSS)进行数据分析,同时也简化了使用流程。“统计分析”的查询条件编辑、查看图库、导出数据功能与“基础查询”类似。“统计分析”还包括“定性数据分析”、“定量数据分析”、“相关性分析”、“逻辑回归分析”几大部分[19‐20]。
“定性数据分析”主要对文字描述类数据进行关键词统计分类查询。在查询结果界面选择感兴趣的列数据后点击右键,选择“定性数据分析”,可配置多个关键词,配置完成后点击“确定”即可实现对该数据列包含各关键词的病历数统计和百分比计算,并通过饼图的方式进行直观显示。例如,选择“肝脏背景”为待分析的列数据,总共设置“均匀”、“肝损害”、“肝硬化”、“其他”4 个关键词,软件在完成该列数据的统计分析后,列出了各个关键词的病历数,百分比、饼图同时显示。定性数据分析便于直观地显示列数据中包含各关键词的病历数情况,如图5所示。
“定量数据分析”主要对数字类数据进行定量计算分析。在查询结果界面选择感兴趣的列数据后点击右键,选择“定量数据分析”。软件会自动计算出该列数据的定量计算结果。包括均值、中位数、方差、标准差、变异系数、极差、偏度、峰度以及原始数据和递增数据的直观显示。均值:所有数据之和除以数据个数(数学性质优良);中位数:把数据按从小到大排列后处于中间位置的数据,如果数据总数为奇数n,则中位数是第(n+1)/2 个观测值,如果数据总数为偶数n,则中位数是第n/2 和第(n+2)/2 的平均值,可见均值有着不受极端值影响的优点;方差:是一组数据离散程度的度量,用该组数据中各数据值与其算术平均数离差平方的平均数,反映的是各数据量与算术平均值的偏离程度;标准差:方差的平方根;变异系数(离散系数):标准差与其相应的均值之比;极差:数据的最大值与最小值之差;偏度:描述数据分布对称性的统计量,如果偏度等于0,则其数据分布的对称性与正态分布相同,如果偏度大于0,则其分布为正偏或右偏,即在峰的右边有大的偏差值,使右边出现一个拖得较远的尾巴,如果偏度小于0,则为负偏或左偏,即在峰的左边有较大的偏差值,使左边出现一个拖得较远的尾巴;峰度:描述某变量所有取值的分布形态陡缓程度的统计量,如果峰度等于0,其数据分布的陡缓程度与正态分布相同,峰度大于0,其数据分布比正态分布更陡峭,峰度小于0,其数据分布比正态分布更平坦。定量数据分析的软件界面如图6所示。
图5 定性数据分析Fig.5 Qualitative data analysis
图6 定量数据分析Fig.6 Quantitative data analysis
“相关性分析”:对两个或多个具备相关性的变量元素进行分析,从而衡量两个变量因素的相关密切程度。在查询结果界面点击右键,选择“相关性分析”,分别配置自变量(X)与应变量(Y)后,软件会自动计算出两个变量之间的相关系数、列出回归方程并绘制回归曲线。相关系数越接近1 表示变量之间的相关性越大。“相关性分析”的软件界面如图7所示。
“逻辑回归分析”:逻辑回归常用于研究应变量为二分类的概率型非线性回归方法。逻辑回归又称logistic 回归分析,是一种广义的线性回归分析模型,常用于数据挖掘、疾病自动诊断、经济预测等领域。逻辑回归从本质来说属于二分类问题。在查询结果界面点击右键,选择“逻辑回归分析”,分别配置应变量(Y)、自变量(X1),若选择三元逻辑回归,则还有自变量(X2),并各自分配其0和1两种状态,通常0代表阴性,1 代表阳性,配置完成后,软件会自动计算出截距、回归系数等结果,并对结果做出简要解释。逻辑回归分析的软件界面,如图8所示。
图7 相关性分析Fig.7 Correlation analysis
图8 逻辑回归分析Fig.8 Logistic regression analysis
3 结论
超声病历数据具有数据种类众多、数据量大、数据分散等特点,病人病情的评估还需综合医院的电子病历、实验室检查、病理检查等系统的数据,这使得传统的病历管理方式不太适用。通过系统设计和验证,超声病历数据库管理与分析系统具有几个主要特点:(1)可视化:系统采用C#窗体应用程序进行设计,软件界面操作简单易懂,对统计分析结果采用饼图、曲线图等显示方式,直观可读。(2)通用性:系统支持多种电脑系统,对于电脑配置要求低,同时支持SQL Server和MySQL两种数据库,具有通用性。(3)可编辑性:对于病历数据的字段可增加、删除;对于病历数据的内容可增加、更新、删除;对于查询条件可复杂组合。(4)综合性:系统把数据的管理与数据的统计分析结合到一起,避免了医生在数据库系统与其他数据分析软件来回拷贝数据,也简化了数据分析的使用流程,是一个综合性系统。
超声病历数据库管理与分析系统基于超声病历数据,提供了实验室检查、病理检查等其他系统数据的扩展接口,运用SQL Server、MySQL 关系型数据库技术以及Ⅴisual C#窗体应用技术,结合了SAS 和SPSS 中的常用数据分析功能,实现了对超声病历数据的存储管理与数据分析,使得超声科医生对于病历数据库的管理分析及相关课题研究效率提升50%以上。本系统有助于提升医生在医学、科研、教学等方面的工作效率,具有较高的实际应用价值。