如何破解HIT的孤岛效应,一起关于患者主索引的案例分享

article/2025/9/26 6:28:01

从一个虚构的故事说起

故事是这样的,当时我们正在讨论安全架构,传来轻轻的敲门声,伴随着小刘有些胆怯的声音:“主任,这个警官找您”。小刘是我们新来的同事,做事很踏实,就是一说话就脸红。我抬眼看到一个气宇轩昂的警官,想都想得到,小刘被他的气质给吓到了。

“你就是主任哈,我们需要调阅一份病历。”警官开门见山的说。

“查阅病历去病案室呀,他们负责接待各种病历查询需求。”我嘴里说着,心里就在犯嘀咕,这次又是啥难缠的事情呀?

“我们就是从病案室过来的,他们那里查不到任何信息,可是事主说当年就在你们医院住的院。”警官倒还是蛮客气。

旁边穿红衣服的女子发话了,“你是主任哈,这事你不解决不得行哈,当年我们就是在你们医院住院的,为啥现在你们拿不出病历!”

“有介绍信么,我们再仔细找找呢。”我说到。

警官递过来一封介绍信,我接过一看,大致内容是说,请我们协助调查事主徐某(身份证号)的孩子张某某(身份证号)2002年6月在我院住院的事宜,需要我们提供患者的出院记录和死亡记录。

十八年前的病历,还是份死亡病历,看来今天这事确实有点麻烦,事主已经去病案室查询过,没有找到就说明,按照正常的患者姓名、身份证号是查询不到这份病历的。

2002年我们已经实施了住院登记系统,患者入院时是需要填写详细基本信息的,也许通过其他信息可以查到。于是我开启了侦探模式。

从介绍信上发现,患者张某某的身份证号上的出身日期就是2002年6月,我问道:“这是新生儿呀?”

“对头,刚出生就不好,送到你们医院儿科抢救。”徐女士回答道。

在我们医院,刚出生的婴儿很多都来不及取名字,所以常常冠以“某某之子”或者“某某之女”,而且2002年的新生儿也不会马上分配身份证号的,就算他后来上户口分配了身份证号,在我们数据库里可能也不会有身份证号码。从逻辑上来说,这介绍信上提供的姓名和身份证号估计在我们数据库里都没有留存。

“select * from pat_master_index where name like ‘徐%’ and … ”,我输入一段代码,看看有没有可能这患儿入院是用妈妈名字来标识的。

果然,数据库里有符合我设想的记录,“徐大双、徐小双”,继续探索吧。

“你生的是一对双呀?”我问道,女子马上说“就是呀,老大是男娃娃,老二是女娃娃,后来只老大活下来了。”

在联系人字段里存储的是张某的名字,我问道“你老公叫啥子名字”。

“张某,他是娃儿老汉,当年就是他送娃儿过来的。”,女子回答的与记录的人名一致。

“那你原来家住哪点呢?”我还得核实下,毕竟这各种资料都对不上,千万别搞错了。

“石油路**号3单元601”。嗯,说的与记录上的地址也是一致的,应该是他没错了。

于是我在介绍信上写下了患者的住院号,并注明了原因,签上字。告诉他们现在可以去办理手续了。

起因:患者家属因无法复印相关资料,投诉信息科。

查询依据:当地派出所开具的协查公函,患者姓名,身份证号,家属姓名(其母),身份证号,协查内容等要素清晰且民警陪同患者家属来院复印病历。病案室依据其提供的资料从数据库中无法查询到相关资料,遂告知来人,没有相关资料。因家属需要出院证明、死亡证明等资料处理相关民事纠纷,资料的重要性不言而喻。家属记忆准确,但无法得到所需资料,遂起投诉至主任办公室。

解决:通过询问事主,结合常识,判断介绍信上的资料与数据库里存储的可能不一致,按照习惯做法以患者母亲名字为条件,进行模糊匹配,并辅助以联系人、家庭住址为验证,最终确定记录信息,问题得以解决。

说了这么多,大家也猜到了,这次讲的故事是与患者主索引相关。

一. 相关概念

说到患者主索引,首先我们来了解下列基本概念。

MPI:患者主索引(Master Patient Index)是患者在信息系统中的唯一标识,通过此标识可以找出各医疗机构存储的与该患者相关的各类信息。

EMPI:企业级患者主索引(Enterprise Master Patient Index)EMPI系统就是管理患者主索引的系统,通过设立的标识策略将来自多个系统的患者标识进行关联,实现同一病人多业务ID的关联和患者信息的统一或关联。其本质上是一个数据整合系统,整合后有效解决了多系统中识别患者身份的问题,以及同一患者多个识别号的关联问题。一般来说,现在常以患者姓名、身份证号、医保卡号、家庭地址、电话号码等进行策略匹配。

PIX:患者标识交叉索引(Patient Identifier Cross-reference)用以解决患者多业务ID的关联、交叉索引。PIX管理的基本目标是维护不同医院信息系统的患者ID关联关系,每个需要接入EMPI系统的医院信息系统先在EMPI系统上注册,然后EMPI系统会为每个注册的医院信息系统分配一个Domain ID(域),用以唯一标识每个医院信息系统。在医院信息系统内部增加病人信息时,医院信息系统则会产生一个Internal ID(或LocalID),与此同时,外部的医院信息系统在EMPI系统中添加相应的病人(或医生)信息的主数据。在添加完主数据后,EMPI系统会为其生成一个Global ID,并且建立起Global ID 与 Domain Id、Internal ID 的映射关系,从而实现了 PIX(patient identifier cross-reference,交叉索引) 功能。

PDQ:患者人口学信息查询(Patient Demographics Query)用以解决患者信息查询问题。

有了EMPI,就可以以此将各个相关系统的数据进行关联,能够很好打破医疗信息化中的孤岛效应。

在现代医疗信息化中它占据着非常重要的地位,是标识和识别患者的基础。记得当年学习JCI时,还因为患者标识被老师狠狠的骂了一顿。也因此明白了,患者标识一定是要有两个以上的方法,联合验证,而且标识相对固定,不易变更。

同时,在今天这个数据大集中的时代,EMPI还对于实现区域乃至跨区域的医疗信息整合起到至关重要的作用。比如我们又爱又恨的居民健康卡,就是依靠统一的标识将患者在各家医院的就医档案汇集在一起,实现互联互通和业务协同。在今年疫情期间发挥重要作用的“健康码”也是EMPI的重要应用。

二. EMPI系统功能

img

EMPI系统图 图片来源:愚人老黄

从功能上看,EMPI主要是依靠患者的自然信息、社会信息及身份识别信息判断出你就是你,所有跟你有关的数据应该与你相联,成为你的专属数据。

患者信息采集:收集各医疗机构信息系统重患者基本信息和就诊信息。

患者信息管理:对数据进行维护及患者状态维护,如新增患者、合并患者、患者信息冲突解决等功能,其中涉及到交叉索引算法。整个过程类似代码管理中的Add,Update,Merge。

患者信息查询服务:对外提供搜索,查询等信息服务,输出符合HL7等标准的数据

三、EMPI的应用

在医院:在很多医院的信息系统中HIS、LIS、PACS、手麻、心电这些系统往往都不是一家公司的产品。从业务需求看,很多系统对数据的表述也各有不同。如果不进行规范和统一,在数据交互和业务协同时必然存在解读的差异。因此在医院中实行以EMPI为主的患者信息综合管理,就显得非常重要,是其实现信息共享中不可或缺的一环。

在患者:一个人一生总会进几次医院的,如果每次都分配他不同的识别ID,对于信息系统来说,这就是多个就诊记录,不利于患者就医连续性管理,从患者安全的角度就要求,对于同一个人,他的标识ID是一致的或者是可关联的。这就要求EMPI系统能够依据一定的规则将一个人的不同就诊信息关联起来,现在一般医院都要求实名制就医,也就能很好的保证EMPI的实施。

对于识别患者,一般我们会用身份证号、姓名、医保号、电话号码、家庭住址、联系人等信息,根据不同权重因子联合进行判断。

在应用过程中,其实我们也会发现,无论是身份证号、医保卡号、健康卡号都有一定概率的误码,就算在这个概率极低,但是由于我国人口基数巨大,也就是说还是会存在就诊时,主索引有误的情况。更何况新生儿、无名患者等等情况他根本没有识别号或者没法告知相关信息,因此好的EMPI系统还应该能够解决这类特殊问题。

EMPI在区域医疗:实现区域患者信息共享,EMPI也扮演着重要的角色,依赖EMPI可实现区域内不同机构、不同信息系统之间的身份识别和统一问题,为进一步的实现医疗信息交换和共享打下坚实的基础(但是还是很难~~),目前跨区域整合常借助的标识有健康卡号、医保卡号、身份证号等。

image-20220325084517140

EMPI应用框架

平台由数据资源中心和平台服务两部分组成。数据资源中心主要提供居民信息、卡管信息、跨域主索引信息等数据实体的存储。平台服务主要包括居民注册服务、交叉索引服务、居民身份匹配引擎、隐私保护与安全模块、业务统计等。

患者主索引这个看似很小的环节,却是串联起患者数据的关键一环,当大家都在热衷于数据之大时,更需要静下心来,编织好这条主线,唯有如此,才能让数据熠熠生辉。


http://chatgpt.dhexx.cn/article/jnchniXm.shtml

相关文章

Redis之key命令

文章目录 Redis之key命令1.keys pattern2.type3.del4.pexpireat5.rename6.persist7.ttl8.expire9.exists10.renamenx11.expireat12.pttl13.dump14.randomkey15.flushdb16.move17.pexpire18.renamex19.flushall Redis之key命令 注:本文是基于Ubuntu 20.04.3系统上Re…

redis根据前缀删除key

对于redis的批量删除指定key,有没有好的方法 redis可以用flushdb/flushall删除所有的key。用del只能根据key去删除。另外一种方式,你可以通过设置过期时间让key到期自动删除。 本回答由提问者推荐 对于redis的批量删除指定key,有没有好的方法 获取所有Ke…

Redis清除Key(Docker)

文章目录 查看镜像进入容器进入redis-cli身份验证查看Key清除所有key删除指定key 查看镜像 docker ps进入容器 docker exec -i -t shopxx-b2b2c-redis /bin/bash进入redis-cli redis-cli身份验证 auth "shopxx"shopxx是Redis的密码 注意使用英文双引号包裹 查看…

删除指定redis的key

1.首先进入redis 服务器 2. 在命令行输入 redis-cli -p 6379 get key 获取key 值 如出现 (error) NOAUTH Authentication required 则需要输入redis 帐号密码,如图 3.输入你要查找的key值,如出现 (nil)表示没有; 4.…

php redis删除所有key,php redis批量删除key的方法

php redis删除key的方法:首先使用scan命令增量迭代的方式遍历出以【XX】为前缀的key;然后通过unlink函数删除指定的key即可。 php redis批量删除key 摘要 使用scan命令增量迭代的方式遍历出以XX为前缀的key,然后删除 简介 在实际开发中&#…

redis删除指定key

redis删除指定key 1.打开redis目录并打开redis-cli.exe 如果直接输入get key会出现以下问题,表示需要认证,也就是需要登录用户 使用auth password登录即可 然后使用get key获取键的值 确认后,使用del key删除键中的值,可多个…

【Redis】批量删除Key的三种方式

Redis 中有删除单个 Key 的指令 del,但好像没有批量删除 Key 的指令,不过我们可以借助 Linux的 xargs 指令来完成这个动作 1.使用命令行批量删除redis的key 语法 ./redis-cli -h IP -p PORT -a PASSWORD -n NUM keys key* | xargs ./redis-cli -h IP…

redis删除key命令

如何批量删除redis中keys 在linux中批量操作redis中的keys的方法: 1.统计个数: redis中名称含有OMP_OFFLINE的key的个数; src/redis-clikeys"*OMP_OFFLINE*"|wc-l 2.批量删除 批量删除0号数据库中名称含有OMP_OFFLINE的key&#xf…

当做一件事,坚持到第二十年——Open-SkyEye强势回归!

1.故事起源 这个故事要从2002年的冬天说起。彼时北方的天气已经有些冷冽,一群操作系统爱好者正热切地在网络上讨论时下热门技术话题:如何脱离硬件限制来学习和研究操作系统的原理,用“软件模拟硬件”的奇妙想法随之诞生。这群技术爱好者中就…

基于SkyEye的覆盖率测试

目录 01.覆盖率测试概念 02.覆盖率测试方法 03.嵌入式软件覆盖率测试原理 04.SkyEye的重大突破 01.覆盖率测试概念 覆盖率测试是一种白盒测试手段,通常会在软件测试的早期阶段进行,也就是单元测试过程中。覆盖率测试这种测试方式需要对测试代码本身进行访问同时…

SkyEye 仿真

http://www.cnitblog.com/schkui/default.html?page4 SkyEye是一个可以运行嵌入式操作系统的硬件仿真工具,这样就可以在没有硬件条件下来进行嵌入式系统的开发。 以下操作均在Fedora Core 1.0里通过。 Skyeye项目资源列表 http://gro.clinux.org/projects/skyeye/ …

SkyEye的使用

转载:http://blog.csdn.net/htttw/article/details/7226754 对于希望学习ARM汇编的同学而言, 购买ARM开发板进行板上实测无疑是一个有效的方法,不过购买ARM开发板需要一笔费用,而且每次测试都需要连接开发板,比较麻烦。…

SkyEye安装与使用

一. SkyEye配置选项 SkyEye模拟的硬件配置和模拟执行行为由配置文件skyeye.conf中的选项确定。根据选项的功能,skyeye.conf的选项分为硬件配置选项和模拟执行选项。根据参数的个数,skyeye.conf的选项主要由两种组成: 单参数选项…

use skyeye

操作系统 :LINUX ES3 版本 :2.4.21-9ELSKYEYE 版本 : V0.8.0http://gro.clinux.org/projects/skyeye 下载最新的SkyEy软件 1、下载SKYEYE的原代码包skyeye-v0.x.x.tar.bz2 这里就不写怎样配置安装SKYEYE了,因为我编译没成功&…

SkyEye助力飞控软件Debug

​01.Debug是什么? 1947年9月9日,美国著名科学家格蕾丝.霍普(Grace Hopper)与其同伴在对Mark II计算机进行研究时发现,导致计算机无法正常工作的罪魁祸首居然是一只粘在继电器上的小飞蛾。格蕾丝用镊子将飞蛾夹出&…

手把手教你搭建国产嵌入式模拟器SkyEye开发环境

SkyEye介绍 SkyEye是一个开源软件(OpenSource Software)项目,中文名字是"天目"。SkyEye的目标是在通用的Linux和Windows平台上实现一个纯软件集成开发环境,模拟常见的嵌入式计算机系统(这里假定"仿真"和"…

【基于CentOS 7 的NFS服务】

目录 一、概述 二、应用场景 三、安装 四、启动服务 五、目录结构 1.nfs的主配置文件 2.存储配置文件 六、命令解析 1.共享存储管理命令 2.共享目录查看 七、配置 八、客户端访问 1.查看nfs服务器的共享目录 2.挂载 九、实际案例 一、概述 network filesystemt…

Linux——nfs服务配置

启动nfs,一定要先启动rpc Systemctl start rpcbind Systemctl start nfs 停止nfs Systemctl stop nfs 开机自启nfs Systemctl enable rpcbind Systemctl enable nfs 配置网络环境 服务端ens36,配置为192.168.100.254 客户端ens33,配…

安装NFS服务

NFS服务 mhcwz 已于 2022-04-29 19:43:54 修改 68 收藏 1 分类专栏: Linux 文章标签: 运维 linux 服务器 于 2022-03-17 19:33:17 首次发布 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文…

Linux-NFS服务器搭建

一、理论知识 1.NFS概念 NFS是Network File System(网络文件系统)。 主要功能是通过网络让不同的服务器之间可以共享文件或者 目录。 NFS客户端一般是应用服务器(比如web,负载均衡等),可以通…