最新消息:欢迎您,亲爱的读者!您可以通过QQ号或新浪、腾信微博账号直接在评论处登录,发表评论并选择转发到微博、QQ空间。

【袁永福专栏】数据的崛起:基于路径的数据访问模式

专栏 HIT 1351浏览 评论

来源:HIT专家网     作者:南京都昌信息科技有限公司  袁永福

yuanyongfu

随着医疗信息化行业不断发展,数据互联互通成为现阶段最根本也是最亟待解决的任务之一。本文以数据访问模式为出发点,针对当下HIT领域的信息体系中存在的各种冗余问题,进行深刻且有益的探讨并提出相关解决方案。

一、前言

国际互联网是世界上最大、最复杂和最成功的数据互联互通体系,它蕴含着数万位软件科学家数十年辛勤思考和实践产生的智慧,其中的URL和DNS技术是非常值得借鉴的技术。借鉴它们,笔者提出了基于路径的数据访问模式,帮助数据全方位的崛起,让数据释放出更大的价值。

二、数据访问模式类别

1. 基于指针的数据访问模式

指针原本是指编程语言C语言中的指针,它是一个整数变量,存储着数据块在内存中的起始位置。在这里,我们将数据库中记录的唯一编号类比为C语言中的指针。而目前HIT软件很多是基于指针的数据访问模式,运行速度快,但带来不少问题。比如,在医生在电子病历中查到三号病床的病人上次住院的血糖检验结果为“5.1mmol/L”,而后台程序获取数据的步骤可能如下:

  • 首先查询出三号床病人姓名“张三”,其在电子病历中的病人主索引编号为“0003”;
  • 查询出病人上次住院时间是2018年1月1号,住院号是“1234”;
  • 在电子病历和LIS的病人主索引映射表中查出病人在LIS中的编号为“5678”;
  • 查询出上次住院期间产生的验血操作记录编号为“9900”;
  • 查询LIS检验结果表中的名为“血糖”的检验记录值为“1mmol/L”。

这样查询路径为:“三号病床病人张三”->“0003”->“1234”->“5678”->“9900”->“5.1mmol/L”。查询数据都这么麻烦,修改数据更是难上难了。

因此,基于指针的数据访问链条是简单粗暴但不优雅,查询路上一路过关斩将,各个功能模块耦合太大,经常牵一发而动全身,开发难,维护更难。

另外,基于指针的数据访问侵略性太强了,破坏了数据及业务的封装,不利于做到“软件即服务”的架构。主调程序开发者要求掌握的信息过多,被调程序开发者则经常担心程序遭受干扰,而且双方经常信息不同步而导致查询失败。

2. 基于路径的数据方式模式

在业务数据的访问上,我们应该从基于指针的访问模式改成基于路径的访问模式,实现访问路径的重写。

基于路径的数据方式模式是借鉴了国际互联网的URL(统一资源定位符)技术和DNS技术。比如在互联网中,对于URL“http://www.dcwriter.cn”。借助DNS服务器,这个路径定义了访问WEB服务器IP地址为“115.29.175.38”等相关信息。

类似的我们查询病人的血糖值,上述访问链条可以写成路径的形式:“0003\1234\5678\9900”,但这是人类完全无法理解的路径,不过我们借鉴DNS的思想,可以将这个访问路径修改成“病人张三\住院记录[住院时间=2018年1月1号]\验血结果\血糖值”,将人类无法理解的访问路径改造成了符合人类思维逻辑,易于理解,而且机器识别这个路径也不难。

因此,我们可以重新定义业务数据的访问模式:

  • 所有的病历数据按照逻辑关系组织成一个树状结构;
  • 病人是唯一的根节点,这体现了以病人为中心的思想;
  • 病人节点是其访问病历数据树状结构的唯一入口点,软件访问任何数据节点都必须从病人节点这个唯一的出发点进行逐层搜索访问,不能跳过病人节点而直接访问其中的数据节点;
  • 系统可以按照访问路径字符串从病人根节点出发来逐层查找定位数据节点,也可以递归遍历树状结构。

此时,病历数据树状结构图如下所示:

yuanyongfu

通过这种形式,将病历数据从医疗业务中剥离开来,使得数据不再成为业务系统的附属产物,而是自己封装成一个相对对立的体系。

这个树状结构还是一个安全可信的结构。由于存在唯一的入口节点,因此可以在这个入口节点做好安全控制,就能整体把握所有的安全和授权操作,以较低的成本提高安全等级。

三、软件成本

HIT系统不比金融系统等其他系统,它不存在巨大的并发数,但存在很多异构数据集成,运行环境复杂,各个厂家的各个系统长期并行,数据接口纵横交错。因此,我们应该更关注软件的开发成本和运维成本,在运行速度方面可以适当靠堆硬件或者云计算来简单粗暴地解决,而基于路径的数据访问模式能大幅提高软件的灵活度,降低开发成本和运维成本,从而降低软件在其生命周期中的甲方总体拥有成本。因为开发人员比计算机硬件要昂贵和稀缺得多。

另外,人类容易识别路径字符串,这给开发者调试程序错误带来不小的便利,也能降低开发和维护成本。

当然没有万能的技术,在一些情况下基于路径的数据访问模式严重影响运行性能。特别是统计报表,比如查询药占比之类的,遍历一个个病人的病历数据数那是非常缓慢的,此时需要采用基于指针的数据访问模式,直接写SQL快速查询数据。

这样我们可以设想,在HIT软件中,80%的业务操作是基于路径的数据访问形式,20%的业务操作是基于指针的数据访问形式。这样既可以达到很高的灵活度,同时带来些许的性能损失完全可以用一定的硬件冗余来弥补,总体是很划算的。

四、数据互联互通

另外基于路径的数据访问也有利于数据的互联互通。指针和具体的业务系统密切相关,超出特定业务系统范围,指针毫无意义。因此在数据互联互通时需要开发数据接口来解释指针的意义,这加大成本,系统间耦合大。

而数据路径天然具有很好的自我描述。路径本身就是一个短小的索引数据,超出具体的业务范围也具有一定的可读性。开发者理解了数据路径的语法后,就能自主生成数据路径,很方便数据接口的编写和调试,有利于数据的互联互通。

五、数据路径DNS服务器

而现在基于数据路径的原理,我们可以定义出数据路径DNS服务器的概念。在软件即服务的体系下,各个服务模块在中立的数据路径DNS服务器中进行注册,其他功能模块查询DNS服务器来找到正确的软件服务及调用方法。借鉴于成熟可靠的互联网技术框架,我们比较容易制定出各个厂家都能认同的数据路径DNS协议。

未来,每个信息化水平高的医院都有一个私有的数据路径DNS服务器,每个县、市、省都有相应的公开DNS服务器,国家卫健委再维护一个唯一的数据路径根DNS服务器。所有需要互联互通的IT系统必须在相应级别的DNS服务器进行注册。

当一个软件通过路径访问数据时,会连接DNS服务器,查找正确的软件服务,将路径作为参数调用软件服务。软件服务内部解析数据路径,访问数据库然后返回数据。这样就能比较容易实现数据的互联互通,包括院内的和跨医疗机构的。

基于数据路径的访问模式还能降低数据冗余存储。现在有一些数据集成中心在各处收集数据并复制到中心数据库中。这造成信息的大量冗余,带来不小的运维成本。而基于路径的数据访问可以直接从原始系统中访问数据,避免大量的数据的复制存储,降低数据冗余。从这个角度可以说以单纯的数据复制存储为主要任务的低技术水平的数据集成中心只是当前时期下的过渡产品,将会被快速淘汰。

六、虚拟文件系统和集成病历数据浏览器

基于路径的数据访问模式,我们不但构思出来,而且还正在实践。我们开发出来一种称为“虚拟文件系统”的技术来实现一种基于路径的数据访问模式。

虚拟文件系统是为了解决复杂多系统运行环境下的数据浏览问题。它首先定义出一种抽象的可编程的文件目录结构模型,主要包括文件系统对象、目录对象和文件对象;还有相关的用户、用户组和权限配置。然后针对不同的运行环境派生出可实例化的扩展对象类型。比如针对数据库、FTP、NOSQL等都有相应的可编程对象类型供上层软件调用。其原理如图所示:

yuanyongfu2

使用虚拟文件系统,我们正在开发集成病历数据浏览器控件。首先系统中有多个根目录节点,表示一个个病人,目录名就是大致为“床号-病人姓名”,按照床号排序。下级就是历次的门急诊、住院、体检等子目录,按照时间排序。对于住院目录,下级是各种病历文档,包括病案首页,入院记录,病程记录;此外还有医嘱单文档、检查检验报告文档等。

系统中文档肯定是全部列出来的,但有些文档内容却是动态生成的。比如医嘱单,初始化的时候只是列一个文档标题,当用户双击试图打开文档内容时,虚拟文件系统调用内部的DNS服务找出医嘱单信息提供服务对象,医嘱单服务程序内部查询HIS数据库获得医嘱清单并在内存中生成特定格式的临时文件,比如DCWriter文件或者html文件,并返回给虚拟文件系统,然后在病历数据浏览器中打开文档。检查检验报告文档也是类似过程。

于是,医生使用一个程序界面就能浏览所有的病历资料,甚至可以修改部分文档的内容。这种软件比数据集成平台要轻得多,开发和运行速度快,没有数据冗余,相关接口编写简单,足以满足大多数病历浏览和一部分数据修改的业务需求。另外这是一种可编程的接口,可以融入到任何用户界面中。很容易做到UI风格等用户体验的一致。

这种集成病历浏览器还提供数据互联互通的功能,应用程序可以遵照虚拟文件系统的接口任意访问文件目录结构,后台获取病历文档,医嘱单,检查检验报告单等内容。以较低的成本获得一定的互联互通的能力。性价比非常好。

虚拟文件系统还内置用户、用户组和权限配置,管理员可以设置每一个目录和文件的权限,权限可以继承,这些都参考了Windows的文件目录权限配置功能。此外还提供编程接口,可以实时导入HIS中已经定义好的用户和用户组信息,方便实施维护。

【小结】

我国的HIT体系正在建设互联互通,但难度大,成效不甚理想。为此,我们可以借鉴国际互联网的成熟稳定的URL和DNS技术,从基于指针的数据访问转化为基于路径的数据访问。将数据从具体的业务系统中解放出来,使得数据更容易跟着病人或者医生走;降低病历数据对特定业务系统、特定厂商乃至特定医疗机构的依赖绑定,进而为医生多点执业提供便利。

基于路径的数据访问能大幅降低数据互联互通的难度,促进数据的崛起,释放数据的价值,最终帮助实现医疗行业的产能最大化。

【作者简介】

袁永福,南京东南大学毕业,微软MVP,南京都昌信息科技有限公司创始人,长期从事电子病历编辑器控件的研发和推广工作,其产品成为编辑器细分市场的主要品牌。(邮箱:28348092@qq.com)

 

小助手二维码想加入HIT专家网专业交流群吗?请添加“HIT专家网”小助手微信好友后提交你的申请哦

(请注明姓名、单位名称、职务、主管技术或产品领域,以便有针对性加群)

 

【责任编辑:孙鹏】

 

您必须 登录 才能发表评论!