HL7学习日记1--HL7是不是被复杂化了?
一说道医疗信息的交换,肯定要提到HL7标准。小弟雄心勃勃想啃HL7这块骨头,但是几天学习下来,感觉有的晕头转向,借日记的形式把问题先记下来,请高手解答,日后慢慢体会。首先是HL7内容覆盖面很广,好像不仅仅是信息交换标准,而且包含了程序计算能力可重用性标准,比如HL7 CCOW。
其次,HL7是不是把简单问题复杂化了?按道理说,HL7 到了V3版本引入了XML作为数据交换的信息格式已经把问题简单化了。因为在我们程序员眼里,假设A应用系统要和B通讯,不管A应用系统内部如何实现数据流动,只要它把数据封装成XML,然后向B应用程序公布其Schema就完成了。对B来说,它接受到XML数据后,只要根据Schema编写自己的解析器就可以理解数据的语义,从而完成数据交换。为什么一定从Storyboard开始分析各种各样静态的和动态的model,最后仍然归结到Message Type?这个Message Type,如果我没理解错的话,就是最后XML里的element而已,完全可以变成字典,供程序员查询就可以了。如果说,为了规范接口设计而引入use case、RIM(其实就是限定好的类图)、交互图等UML玩艺,显得好像复杂了点,而且也受限了点。
以上是小弟初学的体会,不对之处请高人批评。从今日开始,我将不定期地发布学习日记,以此鼓励自己坚持学习下去,请大家为我加油!
[[i] 本帖最后由 jubin 于 2008-6-25 13:53 编辑 [/i]] HL7有点像反右,扩大化了
既然是协议,就是数据交换的格式与内容的标准,内部如何处理完全没有必要去制订什么规范.
国内搞的最小数据集,现在怎么样了?一样的下场.其实最需要做的是接口标准,现在接口标准不做反而去规范内部格式,呵呵,地球是圆的,在广州向南走,也是可以到达北京的.现在最小数据集出来了,说明已经走到越南了,继续走吧.总有一天会到北京的. 和楼主 有相同的感受,惭愧的是没有坚持下去。现在似乎不少人抱怨RIM,DIM,RDIM的复杂性,简直就像中国的考试,故意让你犯晕的。是不是所有理论都要经过简单-复杂-再简单的过程?
不过,HL7前段时间搞的在线学习,让人理解起来好多了。 对于第二点不是很赞同,对于开发人员来说确实是只关心数据,但是对于标准开发来说,如何制定标准则是最大的问题,其次是标准最终实现的规范问题。简单点说你认为A生成xml,然后给B提供Schema,B按照这个就可以写自己的解析器。好,那么如果现在有程序C,C是否又要提供一个Schema给B?再来一个程序D,又提供一个Schema??,那么最终还是类似于做中间表一样的结果,只是你做的不是中间表,而是Schema了。如果是这样做的话,那么把2.X版本xml化就可以了,而且现在2.4,2.5.2.6确实都已经又相应的XML文件了。
所以我认为从HL7 V3要从另外一个全范围重用的角度来考虑,如果你按照use case一路做下来,那么最终你生成的接口标准,无论是在哪里都是可以被识别,可重用的,而且是“即插即用”的,这是使用HL7 V3的目标。如果只是交换数据,那么2.x版本就可以做到了。如果只是从最终生成的消息角度看,V3和V2都是消息,但质是不一样的。
我建议可以先看看2.X版本,然后看看为什么要开发V3的前言部分,再来看V3,就可以更好的理解 高手发言,果然不一样! 谢谢ironstone 的回复。按照你的说法,是不是HL7从V3开始试图用use case等model将千变万化的应用场景给规范出来,从而推出一份消息标准格式,只要厂商能找到对应的场景,就能理解消息?
如果是这样的思路,HL7变得如此庞大是可以理解的。但是问题又来了,信息系统交互的场景已经很多,加上需要交换的消息内容也是各不相同,我怀疑HL7做不过来吧。
不过话又说回来了,ironstone 说的问题的确存在,如何解决它,或许只有继续看下去才能明白。 flexibility>-----<interoperability
拔河
[[i] 本帖最后由 南京猿人 于 2008-6-29 07:17 编辑 [/i]]
回复 7# 南京猿人 的帖子
同意楼上的观点很多HL7给的东西都是作为参考的,不必严格地去执行
因为这个标准是成千上万的专家和学者写作的结果,你可以根据作者的工作领域不同,可以看出他们研究的侧重点。
如果学习者把这些细节上的问题扩大了——有点像盲人摸象
如果你无视这些细节问题——好像有本书叫细节决定一切
大概就这意思,我是新手,不知道理解对不对,忘高手指导
复杂的HL7本来就不是给一个人看的
原文在此 [img]file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/moz-screenshot.jpg[/img] [url]http://www.hl7.org/v3ballot/html/help/backbone/backbone.htm[/url]6 [url=http://www.hl7.org/v3ballot/html/help/backbone/backbone.htm#bbstart]Getting Started[/url]
6.1 [url=http://www.hl7.org/v3ballot/html/help/backbone/backbone.htm#bbstartimp]New Implementer[/url]
6.1.1 [url=http://www.hl7.org/v3ballot/html/help/backbone/backbone.htm#bbstartimpbas]Learn the Basics[/url]
6.2 [url=http://www.hl7.org/v3ballot/html/help/backbone/backbone.htm#bbstartmgt]Management[/url]
6.2.1 [url=http://www.hl7.org/v3ballot/html/help/backbone/backbone.htm#bbstartmgtmgr]Manager[/url]
6.2.2 [url=http://www.hl7.org/v3ballot/html/help/backbone/backbone.htm#bbstartmgtpmr]Project Manager[/url]
6.2.3 [url=http://www.hl7.org/v3ballot/html/help/backbone/backbone.htm#bbstartmgtmkt]Marketer[/url]
6.2.4 [url=http://www.hl7.org/v3ballot/html/help/backbone/backbone.htm#bbstartmgtsit]Construct Site Agreement[/url]
6.2.5 [url=http://www.hl7.org/v3ballot/html/help/backbone/backbone.htm#bbstartmgtsig]Sign a Deal[/url]
6.3 [url=http://www.hl7.org/v3ballot/html/help/backbone/backbone.htm#bbstartidv]Interface Developer[/url]
6.3.1 [url=http://www.hl7.org/v3ballot/html/help/backbone/backbone.htm#bbstartidvian]Interface Analyst[/url]
6.3.2 [url=http://www.hl7.org/v3ballot/html/help/backbone/backbone.htm#bbstartidvipg]Interface Programmer[/url]
6.3.3 [url=http://www.hl7.org/v3ballot/html/help/backbone/backbone.htm#bbstartidvdev]Develop Interface[/url]
6.4 [url=http://www.hl7.org/v3ballot/html/help/backbone/backbone.htm#bbstartsdv]HL7 Standard Developer[/url]
6.4.1 [url=http://www.hl7.org/v3ballot/html/help/backbone/backbone.htm#bbstartsdvdev]Develop the Standard[/url]
如果你是程序员,那你就按照6.3.2 Interface Programer的介绍来看,就是一句话“Interface Programmers code and test interface based on the interface specifications.”。
只是国内做项目的最多,做产品的都少,做标准的就更少了,所以这个interface specifications本来是不用你做的,但如果你要真做,那就也得看了。
页:
[1]