找回密码
 欢迎注册
搜索
热搜: 活动 交友 discuz
查看: 4663|回复: 15

HL7 RIM在实际项目中的应用问题

[复制链接]
发表于 2010-7-1 09:50:41 | 显示全部楼层 |阅读模式
现在偶要做一个生殖健康方面的分布式系统交互,打算利用中间件技术来实现,中间传输的标准消息,想借用HL7 RIM模型进行分析后制定好标准,其实之前已经做了相应的标准,不知道怎样将这个标准和这个方法结合起来,还是说两者之间没有什么太大关系?还希望大家多多指教,哪怕有一点点的想法,偶也很感谢。
 楼主| 发表于 2010-7-1 15:07:13 | 显示全部楼层
哎  怎么没人理呢  问的有问题,还烦请懂得人,推荐看什么资料能解决这个疑问,具体资料请说详细点,先谢谢啦
 楼主| 发表于 2010-7-2 11:26:33 | 显示全部楼层
论坛好冷清啊
发表于 2010-7-2 13:26:52 | 显示全部楼层
本帖最后由 lifegame 于 2010-7-2 13:28 编辑

你的问题中提到的“这个标准”和“这个方法”是否分别指HL7和中间件技术?
如果是的话,它们的确是没有什么直接联系的。

简单地说,你可以这样做:

1. 找找HL7标准里面有没有生殖健康相关的定义(包括实体模型和消息格式)

2. 如果有的话,
   直接以这些定义好的模型为参考,来设计你的数据库或业务实体类,
   直接以这些定义好的消息格式,来表示你需要通过中间件传输的消息内容。

3. 如果没有的话,
   根据HL7 RIM的核心对象关系(如Entity/Role/Participant/Act等)
   自己建立生殖健康方面的实体模型,然后推导出消息的格式,
   然后回到第2步。
 楼主| 发表于 2010-7-2 15:48:44 | 显示全部楼层
太谢谢您了 ,我对HL7 V3也只是看了一小小部分,想问下您
    1、如果有这样的定义好的模型和消息格式,我该去哪儿查看一下?
    2、如果没有定义好的模型,要根据语义分析按RIM构建模型的话,该怎样具体实现,例如,做人工流产手术,它有手术知情同意书、手术术前记录表、手术表、术后随访表等(这里的表不是数据库表,是那种要填写的文档表),应该怎样分析才能正确的构建模型呢?消息格式又该如何?
 楼主| 发表于 2010-7-2 15:50:22 | 显示全部楼层
4# lifegame
太谢谢您了 ,我对HL7 V3也只是看了一小小部分,想问下您
    1、如果有这样的定义好的模型和消息格式,我该去哪儿查看一下?
    2、如果没有定义好的模型,要根据语义分析按RIM构建模型的话,该怎样具体实现,例如,做人工流产手术,它有手术知情同意书、手术术前记录表、手术表、术后随访表等(这里的表不是数据库表,是那种要填写的文档表),应该怎样分析才能正确的构建模型呢?消息格式又该如何?
    3、从模型构建到消息的生成,这期间需要用到什么工具么?
发表于 2010-7-3 10:42:14 | 显示全部楼层
首先说明一下:其实对于HL7v3我也是刚刚接触,毕竟业界至今还沉浸在HL7v2带来的简单而且直接了当的畅快里。因此现在十分精通HL7v3的人很少,我也属于那种半桶水,所以才敢出来乱说话的,嘿嘿。

问题1:你可以到HL7官方网站去查,我记得有个网址上可以得到HL7v3里面很多的sample的XML消息格式,不过也不知道全不全。至于模型,你就在RIM里面找好了。

问题2:由于HL7v3没有大规模普及,而且里面的模型和消息格式都十分复杂,所以个人建议你如果没有现实需要的话,还是根据项目的近期需求定义自己的模型和消息格式比较好。只要你的模型是遵照Entity/Role/Participant/Act这些核心实体关系来设计的,将来映射成最新版本的HL7v3格式,也不是难事。而且这套实体关系才是HL7v3的精髓,只要你把它弄清楚,将来HL7v3再出多少个版本你都不怕了。你提到的各种手术,应该属于act,别的东西就自己慢慢研究吧。

问题3:我也不清楚。也许有些开发工具能够根据UML类图导出XML,但也要符合HL7v3规范才行。不过这个只是个工具了,就算没有,你多费点时间自己写XML也未尝不可。
 楼主| 发表于 2010-7-5 08:55:51 | 显示全部楼层
7# lifegame 谢谢哦  ,呵呵 听你的说得话,感觉您做过基于HL7 V2的实际应用,不知道如果项目按照这个标准又该如何实现,偶现在也在不断学习中,不知可否给下您的QQ号或其他联系方式,方便直接沟通呢?
发表于 2010-7-6 12:22:10 | 显示全部楼层
呵呵,怎么HL7v3没说完一下又说到HL7v2上来了。。

个人建议:不要为了标准而标准。
而且别忘了HL7只是通信标准,不是系统设计标准。

如果近期你没有明确的跟第三方交换信息的需求,请把标准暂时放一下吧,
尤其是在项目的初期,是好好研究业务模型和数据模型的时候,
浪费时间来研究那些琐碎的XML Schema和segment/component/subcomponent不值得。
有了好的模型,将来要做标准化的数据交互,只要配置一下字段映射就可以了,
这方面很多接口引擎可以帮到你,有商业的,有开源的,也可以自己写,
这些标准的东西没有想象中的那么神秘。

当然建模的时候HL7v3 RIM(但未必是HL7v3XML)是非常值得参考的,
HL7v2不是用模型化的方法来定义的,而且HL7v2的“模型”跟HL7v3相比肯定是落后了。
发表于 2010-7-6 13:28:20 | 显示全部楼层
如果异构系统并不能和你进行交互,做这个设计是否会影响到整个项目的进度呢;我觉得现阶段可以使用rim的方法论去分析业务模型,甚至可以指导数据模型;
目前国内并没有制定标准,所有的医疗文档连指定的对应模型都没有,也对不上HL7的领域模型;文档的规范编码也没有,更谈不上文档内容对用到模型中的属性,也谈不上相应的代码体系;这些都没有定下来的时候,如果想使用HL7体系,也只能自己去做编码规范,这样又如何能够和别人进行通讯呢?
向楼上说的,待后期国家出台了文档指引规范,将文档的编码、内容、值域代码体系都与领域模型对照完毕了,到时候再做映射即可通信交互;
重要的是RIM的方法
 楼主| 发表于 2010-7-7 08:55:58 | 显示全部楼层
10# njutcm 非常感谢,感觉你说的特别对。你说这个设计是否影响到整个项目,我想问下:
      如果是两个还未开发的异构系统,要实现他们交互,我是否可以先把两个系统做出来,然后再专注与基于标准的中间件传输上面?
     如果可以,因为不止两个系统进行交互,所以我要用的是中间件服务器,那么是否各系统要在原来的基础上增加模块,或可称作适配器,完成该系统对标准信息的映射,而中间件服务器,则是完成系统身份注册、验证,转发消息。(这里是从论文中看到,如果是的话,想问下他那个系统身份注册、验证是说该系统可以通过这个中间件服务器转发消息,还是说别的系统可以通过中间件服务器发起对它信息的请求,而它的相应字段对应标准字段,已经在中间件服务器可见?如果是第二种情况,那么与系统适配器那边做得字段映射有什么区别?)
 楼主| 发表于 2010-7-7 09:02:02 | 显示全部楼层
呵呵,怎么HL7v3没说完一下又说到HL7v2上来了。。

个人建议:不要为了标准而标准。
而且别忘了HL7只是通信标准,不是系统设计标准。

如果近期你没有明确的跟第三方交换信息的需求,请把标准暂时放一下吧,
尤其是 ...
lifegame 发表于 2010-7-6 12:22
谢谢您一直来的解说,呵呵,非常感谢。我只是问下HL72版本是如何实现,还是要用RIM模型分析业务的,但是现在感觉不知道该如何分析,一般来说是通过场景分析来确定具体的下一步,感觉有太大的主观性,而且自己琢磨出来也不一定使用,角度也不一定对。  您说有很多接口引擎可以帮我,不知道可否举几个具体的例子,我要用JAVA开发,不知道用什么比较合适?
发表于 2010-7-7 13:36:01 | 显示全部楼层
本帖最后由 lifegame 于 2010-7-7 13:39 编辑

njutcm所言极是,如果有大家都遵照一个统一的(如国家的)标准编码规范就好办多了。
因为说是说只要数据模型类似,字段映射就不会是什么大问题,
但编码系统这种东西,不是说映射就一定能100%映射的。

其实现在,不少国家规范都已经出台了,比如什么什么基本数据集之类,
这些规范基本上是建立在GB和ICD等国内国际标准体系基础上的;
但问题是,对于很多厂商来说,完全实现这些编码规范成本太高了。。
不用说现有系统要修改,就算是在数据库或者XML文件里面把这些标准编码集都输进去,
都是个枯燥而费时的干活。。

这里顺便打听一下,哪里可以下载到这些编码集的Access或XML之类的版本?
如果可以下载,是否要付费?如果没得下载,是否有人会愿意自己做做这笔生意?

--

看来elaela同志真是要打破砂锅问到底啊。。

HL7v2的“模型”跟HL7v3很不一样的,而且消息格式也不一样,
虽然都是文本,但不是基于XML的,而是用竖线等怪字符把各个字段分割开。
但是对于消息中间件来说,没有什么区别,用来传HL7v2的中间件,
同样可以传HL7v3的XML,只不过HL7v3更倾向于用WebService的方式而已。

至于业务分析和建模,这是个很大的话题了,你可以查查软件工程领域相关资料。
不过先看懂RIM吧,看懂了以后未必需要什么高深的建模方法和技巧,
你也可以作出一个不错的模型了。

接口引擎通常可以帮助你做字段映射、格式转换、消息校验、消息路由和转发等等,
如果想省事,在Java社区里面有不少开源的实现,各有优劣,这里就不做广告了。
发表于 2010-7-11 11:59:51 | 显示全部楼层
也在学习HL7,提几个问题,共同学习。
如果elaela的项目周期容许,而在HL7现成的domain中你又查不到现成的模型,是否可以考虑和HL7China合作,按照标准RIM的要求,提交,讨论你的模型,然后把它标准化。这样你就不用以后去做“映射”了。别人要么映射到你的模型,要么参加讨论更新标准。按照HL7v3,如果你想你的系统是HL7conformance的,那它一定是包含在标准里的模型。不清楚elaela是具体什么业务,象lifegame提到,手术可能是art,病人护士医生麻醉师什么的都是role并且participate手术art。那么手术知情同意书、手术术前记录表、手术表、术后随访表就可以是消息?也就是说,这些表是你的系统要向其它系统交互的信息?开发HL7v3的系统,应该遵从HDF,先把业务模型定下来,拿出D-MIM->R-MIM->HMD->ITS.eleala用过列在http://gforge.hl7.org/gf/的免费工具吗?都是免费的。
还有,如果eleala提到的中间件服务器完成系统身份注册、验证,转发消息因该是解决cross-cutting concern的,而不是系统本身业务。如果系统要HL7conformance,那不论多少个系统进行交互,都向标准进行“适配”。
另外,我的理解,HL7是众人拾柴火焰高,标准是需要业界合作才建得起来。国家是不能出台HL7v3标准的,而只能是支持HL7China和业界通力合作,比如出资建立区域或国家级的信息中心(检验报告等等),采用HL7v3作为接口,或者对使用HL7v3的医疗机构体统资金支持。
发表于 2010-8-19 18:30:04 | 显示全部楼层
楼上的想法很好,不过提交岀来进行讨论的做法,不知在国内目前的运作模式下能否走得通,或者之前是否有过先例?

模型研究是个专业的工作,需要专门的方法论指导,需要懂业务的人和懂IT的人共同参与。谁来买单?成果归谁所有?国外确实有人在做这方面的事情,好像是政府或行业协会买单,然后对外公布。但条件是你这个项目的老板有足够的耐心,等到模型发布的那一天。所以,一种可能的方式是先自己做,让实际的项目证明你的模型是可行的,然后公布岀来,让大家受益,同时也降低你的项目将来集成实施的成本,更重要的是,把你的品牌打岀去。

另外,补充一下,这些标准和模型都是业务相关的,不像TCP这些技术标准一样,大家都标准了就一定可以互联了。要实现业务领域的互操作,就算大家都标准了,还是需要进行映射的,毕竟这些业务太复杂太易变了。标准化的好处之一,让映射成为可能,并且降低成本;要是没有标准,能不能映射,就完全看运气了。
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

快速回复 返回顶部 返回列表