该 层以 InfoSphere MDM Server 为基础,遵从其扩展框架,扩展出业务需要的数据模型和服务。图中绿色部分表明 MDM Server 本身的层次结构,包括存储层(操作数据库和历史数据库)、公共服务层(完成基本的数据匹配、规则处理、事件管理、通知机制以及访问权限管理等)、业务服务 层(管理参与方、关系、地址、组织、分组等各类主数据)、连接层(支持 RMI、Web 服务、MQ 等多种连接方式)。
结合 EMPI 的业务需求,分别对各层进行扩展。在存储层,扩展数据模型,建立居民、医疗机构等类型及其代码表。在公共服务层,扩展匹配规则,根据各区域实际需求制定匹 配算法,也可以连接外部的 QualityStage 软件,实现更复杂的概率性匹配;扩展通知类型,允许监听居民的创建、合并、更新等动作,发送通知到外部系统;扩展权限规则,通过集成 LDAP,定义系统中的角色和访问权限。在业务服务层,提供面向外部的业务服务,包括 IHE 要求的病人管理、病人查询,针对从业人员的管理,以及医疗机构的管理。在连接层,针对扩展的数据模型和业务服务,定义服务请求的 XML 格式,实现发布 - 订阅模式,支持批量加载处理。 (2)数据监管层
针对区域内的居民、从业者、机构管理员、系统管理员等各种角色提供 Web 界面,以完成业务相关的数据管理和查询操作。该层与最终用户进行交互,通过调用主数据管理层暴露的服务实现各种功能。 (3)适配层
与 EMPI 系统交互的外部系统包括产生人员信息的数据源系统、查询人员信息的消费系统和相关的订阅系统。该层将来自外部系统的符合标准协议和数据格式的请求,转换成 对主数据管理层的调用;并将处理结果转换成标准数据格式,返回到外部系统;同时监听来自主数据管理层的通知消息,及时通知到感兴趣的订阅系统。
由于 EMPI 系统的主要功能通过主数据管理层完成,下文简要介绍基于 MDM Server 的开发步骤。 回页首
开发简介 准备开发环境
MDM 目前最新版本是 8.5,本文选用 Linux For WAS 版本。在下载的安装包中存在 Workbench 压缩包,它是用于开发的 eclipse 插件,可以安装到 RSA/RAD 中。该插件安装后,在新建对话框中出现 MDM Workbench 文件夹,选择“MDM
Development and Test Environment”运行开发向导,全选各选项,在随后的对话框中依次配置 MDM 安装包路径、WAS 服务器、DB2 服务器和 MDM 应用程序,点击完成。Workbench 将运行一系列脚本,完成导入 MDM 开发项目、配置 WAS profile、创建数据库、部署 MDM 应用,并验证安装过程。
图 4. MDM 开发和测试环境向导
向导运行成功后,MDM 开发环境已经建立完成,可以在该工作区中进行扩展,最终发布到同一 WAS profile 中测试。
扩展数据模型
根据对 EMPI 的需求分析,设计数据模型,包含关键元素的简化模型如图 5 所示。
图 5. EMPI 数据模型
图 中的绿色部分表示 MDM Server 本身提供的类,黄色部分是针对 EMPI 扩展的类。居民 Resident 表示 EMPI 管理的人员,扩展自 [MDM]Person 类,可以用来描述病人,也可以描述医生等从业者。标识 Identifier 表示机构中的内部标识,扩展自 [MDM]Identifier 类。居民之间具有各种关系,他们位于一个或多个家庭中。家庭 Family 扩展自 [MDM]Group,通过 FamilyMember 建立与人员的包含关系。医疗机构 Organization 扩展自 [MDM]Organization。 在 MDM Workbench 中通过 Data Extension 可以扩展出所需的 Resident、Organization、Identifier 和 Family,同时基本的添加、更新、删除事务服务会自动创建。
扩展业务服务
为了实现 EMPI 相关的 IHE PIX 和 PDQ 集成接口,在主数据管理层需要实现相应的服务,见表 1。
表 1. EMPI 业务服务接口
服务
Identifier addResident (Resident)
描述 增加居民
服务 描述
Identifier updateResident (Resident) 更新居民信息 Identifier mergeResidents (Identifier, Identifier[]) 合并相似居民 Identifier linkResidents (Identifier, Identifier[]) 关联相似居民 Identifier unlinkResidents (Identifier, Identifier[]) 撤销关联相似居民 Identifier moveResident (Identifier, Identifier) 转移居民标识 Identifier changeResident (Identifier, Identifier) 更改居民标识 Identifier[] queryResident (Query[]) 查询居民列表 Resident retrieveResident (Identifier) 获取居民信息 Identifier[] queryResidentCR (Identifier, Identifier[]) 查询居民跨域引用
在 MDM Workbench 中通过 Txn Addition 创建面向业务的 Composite Service,在服务实现中调用前面自动生成的原子服务,完成业务逻辑。
扩展查询功能
由于扩展了数据模型,针对居民的查询条件包含新增属性,如血型、教育程度、专业等,这为查询功能的实现增加了困难。通过在项目中添加自定义查询类,来扩展这种能力。
扩展监管界面
EMPI 除了与外部系统交互之外,还为各种最终用户提供服务,这通过扩展 MDM DataStewardship Web 应用来完成。该应用可与 MDM Server 部署在同一台服务器,通过 RMI 方式调用 MDM 服务。它采用 JSF 框架,模型部分是由 MDM Server 导出的数据 Schema 生成的 SDO 模型。扩展监管界面的工作包括,重新生成 SDO 模型,在页面上增加扩展字段,或者新增 tab 页展现独立的功能,并与数据模型相关联。 回页首
总结
在典型的区域医疗场景中,病人 / 居民在社区建有健康档案,在多家医院就诊,并与相关公卫机构存在关系。而每个机构都有各自的身份标识,如何关联这些标识,为每个人建立完整的信息视图,这是搭建电子健康档案系统的基础。 基于 InfoSphere MDM Server 建立的 EMPI 系统具有以下优势:
1. 互联互通的行业标准
支持 HL7 数据标准和 IHE 集成规范,外部系统可以通过 PIX/PDQ 规定的事务与 EMPI 交互。
2. 快捷的跨域索引能力
提供对医疗组织(医院、社区、公卫机构)的管理能力,维护人员在各组织中的标识信息,对外提供跨域索引服务。
3. 高效灵活的匹配算法
针对不同业务需要,提供确定性匹配和概率性匹配,通过高效的匹配算法计算匹配度。
4. 大数据量的信息处理
通过优化的处理引擎,快速处理大规模数据。
5. 360 度人员完整视图
为病人 / 居民建立 360 度完整视图,便于维护相关信息,包括人口统计学信息、标识信息以及健康信息。
6. 强大的扩展能力
根据业务需求,可以扩展数据模型、业务服务和访问接口,从而提供更高的灵活性。
参考资料
? ? ? ? ?
参考 InfoCenter了解 IBM InfoSphere MDM Server 技术细节 参考 IBM InfoSphere Master Data Management Server 技术概述 参考 HL7 官方网站了解 HL7 标准
参考 IHE 官方网站了解 PIX/PDQ 集成规范
developerWorks SOA and Web services 专区:让您了解更多和 SOA 以及 Web 服务相关的内容,包括技术文章、教程以及特殊专题等。