APP下载

医疗审核与监管系统的大数据分析与设计

2019-11-30方智电子科技大学成都学院计算机系

数码世界 2019年10期
关键词:违规规则医生

方智 电子科技大学成都学院 计算机系

1 系统需求与建模

在省、市、地区各级医院运行的HIS 信息系统、电子病历系统中,就诊数据和检查数据是海量的,数据的来源、结构、格式都不一致,医疗方面的大数据具有大量、高速、多样、有价值的特点,采用大数据和分布式计算技术、数据仓库技术相结合。系统需要从多个数据源中根据规则,提取数据,并转换数据格式,以便进行查询和分析,最后转换的数据被加载到目标数据库,组合到数据仓库中,用于传统存储和分析所用。

医疗审核与智能监管系统的应用场景下,要求外挂于医院的HIS(医院信息管理系统),采集HIS 中的数据,进行分析运算,发现其中的违规情况。能提供给医生事前审核和管理者事后审核,管理单位智能审核的核心功能,并能从海量数据中心分析出医疗诊疗趋势,从而修正和改进现有的诊疗规则数据库。

根据就诊工作流所产生的一系列数据来看,医疗核心数据采集包括患者基本信息数据、医生诊断数据、检查项目数据、处方数据以及取药记录数据、项目执行情况数据等。要求智能监管系统不能干扰医生诊疗行为,也不对原有信息系统进行过多的改造,便可完成对行为的监管以及对违规行为的事前提示。事前审核的处理时间不超过1秒。

传统就诊流程中,医生在HIS 系统医生工作站上开具检查单或处方,系统直接对此信息进行保存。而采用智能监管流程系统后,在医生从工作站提交检查单或处方笺后,平台从智能监管系统调取监管服务,对本次诊疗行为进行运算分析,如果发现违反监管规则,会将以消息形式,反馈违规原因及事项给现场医生,医生可根据提示进行本次诊疗内容修改,或保留原医嘱进入保存环节。完成对医生诊疗记录的事前审核。医生可对已保存违规行为进行事后解释和说明。同样,护士、医技在执行医嘱时,也会对护士及医技的医疗行为进行监控和智能分析,对违规或有风险的操作予以提示。院方管理者和上级社保部门可查看全部的违规记录和事后说明,医生个人诊疗信用记录,医疗行为趋势分析,监管规则逻辑和阈值编辑。事后审核的处理时间不超过24 小时。

事前审核功能只能为单次诊疗行为的做出违规与否的判定。为管理者提供的违规情况智能监管,是对全部医疗数据进行分析、发现其中的违规情况。某个患者数据可能会在一次诊疗数据上没有违规现象,但结合全部的多次诊疗数据就能发现可能存在的违规情况。因此在医生工作站的事前审核提示环节是很难发现的。而对于管理者事后的违规情况监管来说,通过大数据分析的方法,这种问题就可以被发现。

违规数据分析则包括对医院违规数据进行统计分析,并形成报表,从中提出数据,对医生诊疗信用进行评价,也要包括对频繁出现的共性违规数据进行预警和分析,比如饮片的过度用药,为管理者提供决策,通过分析和论证,从而调整管理规则中的阈值。

根据医疗大数据的分析,平台提供医疗机构一段时间以来的发展趋势数据,比如医疗机构的每日就诊人数,某种疾病在特定时期的发病高峰,治愈某种疾病的药物用药和用量的发展趋势等等。

2 系统设计与技术

系统由五大子系统构成,分别是数据处理、事前违规、大数据分析审核、知识库管理子系统。由基于云的自主开发ETL 工具完成对实时信息的提取、转换和加载。系统采用分布式计算和数据存储MongDB 服务器集群和Oracle 数据库作为数据仓库。系统提供事前提醒服务、web 应用服务、其他接口服务等。

在数据采集上由ETL 通过数据接口在医院的信息系统数据库中进行数据抽取,根据医院的特定要求,设计了三种不同的采集接口方式。第一种是采用HIS 直接对ETL 工具开放查询,这种做法不够安全。但实现起来最简单,效率最高。第二种是由中间库连接医院HIS 数据和ETL,在两者之间建立一个用于数据交互的中间库,HIS系统按照约定将数据写入中间库,ETL 工具读取中间库来进行抽取数据。这种方式相对安全,但降低效率,增加多次IO 读写。第三种是导出数据包方式来连接医院信息系统数据库和ETL。将HIS 系统数据按约定导出成数据文件,再导入中间库,ETL 再进行提取。这种做法安全但效率有损。

数据运算任务经过拆分后,交给规则引擎来进行运算处理。规则引擎类设计了引擎编号、状态为属性,并编写启动服务()、启动服务()、载入规则()、启动运算()等方法。将监管规则直接读入内存来提高服务性能。调度类设计了运行状态属性,并编写采集数据()、保存数据()、接收数据()、分配任务 ()、保存任务结果()等方法。

大数据分析的结果信息类主要包括规则类、违规信息类、单据信息类、单据明细类、患者信息类。知识库管理主要设计对基于中华药典、国家中医药管理局数据等颁布的基础数据库、医用材料数据库、疾病诊断数据库、医疗检查服务项目数据库、临床知识库等的导入、编辑、更新、梳理等。其中临床知识库是本系统的核心数据库部分,根据临床知识库来对诊疗数据基于规则作出判断,筛选偏离常规诊疗的项目,发现过度和缺失医疗行为。

在规则引擎分析之前,有规则编辑器来完成业务流的编辑,从而生成Fenix 和监管规则。例如在载入待审核数据后,顺序做出是否儿童,是否新生儿,是否疾病与年龄吻合,是否治疗方案与年龄吻合,是否药物耗材与患者年龄吻合并做出对应的违规信息提示。

3 具体实现与问题

本系统采用分布式并行计算的方式进行任务分配和执行计算。可以在多台服务器上部署规则引擎服务,也可以在一台上部署多个引擎[2]服务,并采用多端口标识服务进程。在部署过程中,设计配置文件方式,当数据源更换时,仅需改变数据配置文件即可。配置文件以通用的XML 方式和Json 格式存储,便于数据交互。审核结果数据的接口实现上,可以支持查询某一条诊疗单据数据是否违反规则,支持查询某条问题单据和违反规则的相关冲突记录、支持某条问题明细和违反规则的相关冲突记录,支持查询某条问题明细违反所涉及的临床知识信息。数据库方面在审核结果表上包括单据ID、明细ID、规则编码、审核时间、规则提示信息、记录、组编码、临床信息提示、疾病临床提示、原文提示编码等字段。

4 系统测试

系统测试包括功能和性能测试。本系统测试主要是利用黑盒测试方法来进行系统测试,测试保证覆盖全部在需求文档中的全部功能点,并采用selenium 和python 技术方案进行自动化测试核心业务功能。系统性能测试则主要依赖自动化工具进行场景模拟和并发、压力、负载、安全性方面的测试。测试结果符合预期。

猜你喜欢

违规规则医生
违规借调的多重“算计”
撑竿跳规则的制定
最美医生
“啄木鸟”专吃“违规虫”
数独的规则和演变
违规试放存放 爆炸5死1伤
医生
望着路,不想走
让规则不规则
违规逆行之后