基于三维人体模型的临床信息导航系统开发

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

文章编号:1671-7104(2020)06-0471-05
马思然1, 2,杨媛媛1,高杰诚1, 2,谢哲1, 2
1 中国科学院上海技术物理研究所,上海市,200083
2 中国科学院大学,北京市,100049
设计了一套基于三维人体模型的临床信息导航系统。

该系统通过查找历史医疗记录,提取出病人诊疗关键
信息,并将其中的病灶信息存储到一个预定义的结构化病人实例上。

此外,在病人实例和三维人体模型之间建立规则映射,将病灶信息在三维人体模型上进行可视化表达,并能根据病灶的变化情况绘制趋势曲线,同时提供诊疗关键信息和原始报告查阅功能。

该系统可以支持多种类型报告的分析、存储和可视化,提高了医生检索病人信息的效率,节约了就诊时间。

可视化;临床信息;人体模型;医疗信息系统;信息结构化TP311.5;R197.3A
doi: 10.3969/j.issn.1671-7104.2020.06.001
MA Siran 1, 2, YANG Yuanyuan 1, GAO Jiecheng 1, 2, XIE Zhe 1,2
1 Institute of Technical Physics, Chinese Academy of Sciences, Shanghai, 200083
2 University of Chinese Academy of Sciences, Beijing, 100049
A clinical information navigation system based on 3D human body model is designed. The system
extracts the key information of diagnosis and treatment of patients by searching the historical medical records, and stores the focus information in a predefined structured patient instance. In addition, the rule mapping is established between the patient instance and the three-dimensional human body model, the focus information is visualized on the three-dimensional human body model, and the trend curve can be drawn according to the change of the focus, meanwhile, the key diagnosis and treatment information and the original report reference function are provided. The system can support the analysis, storage and visualization of various types of reports, improve the efficiency of doctors' retrieval of patient information, and reduce the treatment time.
visualization, clinical information, model of human body, medical information system, structured
information
基于三维人体模型的临床信息导航系统开发
【作 者】【摘 要】【关 键 词】【中图分类号】【文献标志码】【 Writers 】【 Abstract 】【Key words 】Development of Clinical Information Navigation
System Based on 3D Human Model
基金项目:国家重点研发计划项目(2017YFC0112900)通信作者:杨媛媛,E-mail:**********************
0 引言
病人先前住院的医疗信息能够为临床医生提供更详细、精确的病史,帮助其快速、准确地诊断疾病,并根据医疗信息中的治疗方法及效果制定最佳治疗方案[1]。

随着数字化和云存储等技术的发展,我国大部分三甲医院的医疗数据信息化已经基本成熟。

但在现实情况中,由于日常病人数量大、医生诊断时间短,医生难以对病人已有历次就诊进行全
面调阅对比。

研究发现,我国医疗机构平均门诊诊疗时间为382.46 s [2],以北京市某社区卫生服务中心门诊为例,每位全科医生平均日接诊患者(94±24)人次,与每位患者仅有大约2 min 的沟通时间[3],即便病人有既往各种历史病历资料和影像检查图像储存在EMR 或PACS 中可以浏览查询,医生也难以调阅复核比对,造成漏诊和误诊的比率较高。

除此之外,由于不同临床信息系统之间标准不统一,厂商各自独立,每一个病人来自不同医院、不同科室,而且不同医疗器械的医疗数据是
孤立的[4],医生需要花费大量的时间在不同系统之间逐条阅读病人的历史诊疗信息,才能较为全面地了解病人的病情发展状况。

这无疑加大了医生诊疗的时间成本,并间接降低了历史医疗数据的使用率,使得医疗数据使用寿命短、价值链短、价值难以体现。

同时,传统临床信息系统显示方式较为单一,多以列表形式展示数据库检索结果,记录之间没有关联性,不能直观地展示病人的患病情况。

这使得医生在查阅报告时,容易遗漏信息并且浪费时间。

针对以上问题,研究设计了基于三维人体模型的临床信息导航系统,以病人为导向,将独立存储于各科室信息系统中的内容整合到一起,使病灶信息在三维人体模型上实现可视化表达[5-6],并在此基础上提供医疗信息导航查阅功能,提高了病人历史医疗信息的利用效率,能使医生在较短时间内对病人的历史健康状况有全面、准确地把握,进而提高医疗服务质量。

1 系统设计
1.1 系统架构
系统采用客户端、服务器(Client/Server ,
C/S )设计模式,临床信息导航系统架构如图1所示。

服务器端编程语言为Java/Python ,包括PostgreSQL 数据库和Web 应用服务器glassfish ,负责病人在各个系统中医疗信息的检索、处理与存储。

客户端编程语言为C++/C#,负责实现三维人体模型的绘制和映射,各种医疗信息的显示与导航、病灶变化趋势分析等功能。

图1 临床信息导航系统架构图
Fig.1 Clinical information navigation system architecture diagram
1.2 业务流程
系统通过Windows 桌面应用提供临床信息导航服务,启动该应用后进入初始化界面。

用户在界面左上方搜索栏中输入病人ID ,点击搜索按钮检索病人,若数据库中没有该病人的实例,则在服务器端检索病人的历史医疗记录,提取出诊疗关键信息并生成病人实例。

若病人实例已经存在,则在客户端加载病人实例,刷新三维人体模型,同时在信息显示区显示病人基本信息和历史诊疗关键信息。

用户点击三维人体模型上的病灶部位后,信息显示区的病灶趋势(LesionTrend )选项卡绘制病灶变化曲线,检查列表(StudyList )选项卡列表化显示医学影像缩略图和放射报告诊断结论。

用户双击其中一次诊断结论,将会导航至该次诊断对应的诊疗关键信息。

双击诊疗关键信息,信息显示区跳转至电子病历显示选项卡,通过下拉菜单可以选择查看电子病历文书。

导航系统流程如图2所示。

图2 临床信息导航系统流程图
Fig.2 Clinical information navigation system flowchart
2 系统功能实现和数据库设计
2.1 数据管理
我们在服务器上搭建数据库模型,从其他
系统中直接读取原始医疗信息存入相关表。

通过病人ID 和就诊号整合一个病人每次就诊的多种医疗信息。

原始的医疗报告包含文本数据和图像数据,文本数据又分为结构化文本(如LIS 检验结果)和非结构化的文本(如RIS 诊断报告)。

对于结构化的文本数据,直接根据字段内容抽取关键信息(如LIS 检查异常项)。

对于非结构化的数据,则需要借助自然语言处理技术提取出所需要的内容。

以放射报告为例,通过基于规则的实体分组与排序方法[7],提取出RIS 诊断中的诊断时间、病灶描述、病灶大小等关键信息。

得到历史诊疗关键信息后,启动病人实例生成程序。

病人实例是本系统为了将病灶信息与三维人体模型实现映射所设计的一个结构化JSON 序列,JSON(JavaScript Object Notation) 是一种轻
图3 基于三维人体模型的医学信息导航系统功能模块
Fig.3 Function module of clinical information navigation system based on 3D human model
量级的数据交换格式。

易于人阅读和编写,同时也易于机器解析和生成。

任何支持的类型都可以通过 JSON 来表示,例如字符串、数字、对象、数组等。

病人实例JSON 结构如图4所示。

共有四个层级,由病人(Patient )根节点分出4个子节点,其中三个负责存储病人的基本信息,由身体(EntireBody )节点再分出三个子节点,其中部位(Node )节点存储病灶部位名称,病灶部位名称按照SNOMED-CT (systematized nomenclature of medicine — clinical terms )标准执行,SNOMED-CT 是一部经过系统组织编排的,涵盖大多数方面的临床信息,便于计算机处理的医学术语集[8]。

颜色(Color )节点控制三维人体模型的颜色,病灶信息(illnessInfo )节点负责存储该病灶历史医疗信息,包括就诊号、检查日期、病灶描述、病灶大小、图像ID 与报告来源等信息。

系统各部分功能模块如图3所示。

图4 病人实例结构
Fig.4 Patient instance structure
2.2 三维人体模型管理
模型选用3DBody公司搭建的男性和女性模型,包含皮肤、肌肉、骨骼、器官、血管五个层级,程序可根据病人性别对模型进行显示切换。

本系统使用JSONCPP开源库来解析JSON序列。

通过查询映射词典,将解剖模型与实例中的Node节点对应起来。

实现病灶信息与模型各个部位、器官之间的关联。

映射词典将三维人体模型名称与SNOMED-CT解剖节点一一对应,共包含骨骼、呼吸、消化、生殖、心血管、关节、内分泌与淋巴等9大系统,476个器官及亚器官节点。

词典充分满足了常见疾病在三维人体模型上的映射需求。

我们采用OpenGL(open graphics library)图形应用程序接口规范来实现场景的初始化,模型的绘制,以及交互功能。

OpenGL是一个功能强大的跨语言、跨平台的专业底层图形库,开发人员可利用这些库函数轻松地对整个三维图形进行光色渲染[9]。

其中场景的初始化包括视角、背景色、灯光、绘制模式等参数的设置。

在模型绘制中,为了提高性能,减少频繁调用绘制与状态切换函数,我们使用了显示列表来实现。

显示列表是一组存储在一起的OpenGL函数,可以在创建后多次调用,用以提高绘图效率,节省计算机的处理资源[10]。

交互功能包括平移、放大、缩小以及旋转,通过转换视角位置来实现。

2.3 医疗数据管理模块
该模块负责查询并显示病人的医疗数据。

其中病人的基本信息包括姓名、性别、年龄、婚姻状况及既往病史。

历史诊疗关键信息以多级列表树的形式呈现,列表树的根节点显示就诊的时间及诊断结果,子节点显示该次就诊的LIS 检查异常项、RIS检查关键信息、超声检查关键信息、心电图检查异常信息、PIS检查结论、治疗经过以及治疗结果。

对于内容为空的检查,该节点自动隐藏。

对于医学图像缩略图,根据图像ID查询并以二进制流的形式下载图片并显示在列表中。

根据就诊号在影像报告表中查询放射报告诊断结论,与缩略图显示在同一个列表中。

电子病历文书以HTML格式存储在数据库中,使用WebBrowser控件展示,电子病历包括入院记录、病程记录、查房记录、出院记录等文本,通过下拉菜单进行切换。

2.4 病灶趋势分析模块
该模块对病人实例中记录的病灶进行归类,按照时间顺序对病灶发展情况进行统计,记录病灶的尺寸数据。

采用Zedgraph控件对其进行二维曲线绘制,横坐标为检查时间,纵坐标为病灶大小。

不同病灶之间以颜色作为区分。

2.5 数据库设计
根据系统需要,得到以下几个基本实体:病人(PATIENT)、就诊记录(VISIT)、病人实例(PATIENTOBJ)、报告关键信息(REPORTKEY)、检查报告(REPORT)、电子病历(E M R D O C)、检验报告(LABRESULT)、缩略图(IMAGE)、病灶信息(LESION)。

数据库模型如图5所示。

3 实现效果
按照设计要求,本系统实现了对病人历史医疗报告的采集、抽取关键信息、人体模型映射、医疗信息显示等基本功能。

图6为一位女性患者测试界面,左半部分为三维人体模型显示区,右半部分为信息显示区。

我们采用上海某三甲医院78例病人数
据对系统进行测试,病人实例内存为4 k B ~ 7 k B ,下载病人实例的耗时为16 m s ~109 ms ,系统解析JSON 序列并完成人体模型绘制耗时为172 ms~204 ms ,查询医疗信息耗时为218 ms~336 ms ,绘制病灶趋势曲线耗时为14 ms~18 ms 。

时间基本满足应用要求。

78例病人样本中,可正确生成并映射到三维人体模型上的样本数为75例,正确率为96.15%。

分析不通过的3例样本,我们发现主要有两类错误:①血管模型未分割,没有可视化载体,该类错误的病灶描述有:上肢深静脉血栓等;②未从报告中发现具体的患病部位,无法明确病灶节点,该类错误的病灶描述有:胸痛、蜂
窝组织炎、痛风等。

由测试结果可以看出,本系统存在的不足:三维人体模型还需进一步细分;对于无法明确具体患病部位的疾病,需要提出一种新的映射关系,比如对系统而不是器官进行映射,以大致范围来使疾病可视化。

解决了上述问题之后,将提高系统的泛化能力,使得系统对不同的测试病例有更好的表现。

4 结语
基于三维人体模型的临床信息导航系统可以支持放射报告、超声报告、心电报告、病理报告、检验报告、电子病历共6种类型报告的分析
和存储。

以病人为导向,将病人的历史医疗信息整合在一起,通过三维人体模型实现了人体健康状况可视化,医生可以直观地把握病人的基本情况,提高了历史医疗记录的使用率,提高了病人信息的检索效率。

同时原始报告的回溯功能为查看具体报告提供了接口,医生能全面地了解病人就诊的具体情况。

参考文献
[1] 杨平. 新医改背景下病案信息的利用与管理[J]. 世界最
新医学信息文摘, 2019, 19(69): 235-237.
[2] 孙刚, 张新平. 我国东中西部门诊诊疗时间定量研究[J].
中国卫生事业管理, 2010, 27(1): 60-62.
[3] 白雪霏, 葛彩英, 赵亚利. 北京市某社区卫生服务中心
门诊患者就诊时间分析[J]. 继续医学教育, 2019, 33(10): 165-167.
[4] 李鹏, 李昕. 对我国医院信息化建设面临问题的思考[J].
中国病案, 2013, 14(6): 37-39.
[5] 郑威琳, 张建国. 病人可视化索引系统的设计与实现[J].
中国数字医学, 2013, 8(5): 76-78.
[6] 施烈航. 可视化数字病人关键技术与系统研究[D]. 上海:
中国科学院研究生院(上海技术物理研究所), 2016.
[7] XIE Z, YANG Y Y, WANG M Q, et al. Introducing
information extraction to radiology information systems to improve the efficiency on reading reports[J]. Methods Informat Med, 2019, 58(2-3): 94-106.
[8] 李莎莎, 董燕, 孟凡红, 等. SNOMED CT 的应用现状及发
展趋势[J]. 中国数字医学, 2016, 11(1): 100-102.
[9] BAEK N, KIM K J. Design and implementation of
OpenGL SC 2.0 rendering pipeline [J]. Clust Comput, 2019, 22(1): 931-936.
[10] 吕志领, 高级
. 基于OpenGL 的二维电法数据三维可视化
技术研究
[J]. 工程地球物理学报, 2013, 10(3): 394-397.
图5 数据库模型
Fig.5 Database model
图6 系统界面
Fig.6 System interface。

相关文档
最新文档