对FHIR的一些浅显认识
FHIR标准
大多数在HIT这个行业浸淫略久的人都听到过HL7的字眼,HIT 行业的标准不外乎有2个目的,交互共享数据(HL7 V2消息,V3消息,CDA,X12,共享文档规范诸如此类),表达医疗行业的知识(各类术语字典,数据集数据元标准,Arden syntax,CDSC,GELLO诸如此类),而FHIR应该归属于第一类,与它的前辈不同的是,它抛弃了既往顺着发展了10多年,乃至于20年的那块田(封闭又自恃过高,怎么说这点呢,所有的标准文件都有自己独特的脱离了整个软件行业的编辑器生成,这些模型也不能为其他通用型软件所读取,最可恨的是没有配套的各种开源库开放给大家试错,降低学习成本,恶心的是居然个破标准还要收费),也就是在上世纪90年代末XML在整个软件领域刮起一阵风,到处都在说系统集成时应运而生的V3消息,CDA等,毫无疑问它们都是为不同厂家的不同系统之间交换数据而生的,而它们的下场都很惨,用现在的话说,都不够敏捷,学习成本过高,迭代也不够快。
在FHIR卷土重来的时候就把基调定好了,思想上这次要全面拥抱互联网技术,用通用的互联网技术来做原来没有成功的事情,仍然还是想实现医疗健康领域数据的无缝流动,打通整个数据闭环。 它的诱人之处我认为有如下三点:
1、过去的很多年,美国人造了各种各样的标准,国际友人也造了各式各样的轮子来解决上面的问题,最近的2-3年里很多人抛出了这样一个问题,能不能用同一种模型,经过适当的演化就能表达医疗数据(电子病历、健康档案、个人健康记录),又能表达医学知识(临床指南类决策支持用的知识,质控指标类的知识),就目前FHIR发展的现状来看,这是一个还不错的选择。有很多这方面的尝试,美国的ONC最近也在这件事上砸了些钱希望能推动的更快一些。
2、拥抱互联网技术
卫生部这几年在推的区域平台、医院平台的技术点在我看来离现如今的互联网技术太远了,作为已经被抛弃的SOAP流的SOA架构的残留物,着实没听到在BAT等企业有何应用,最近几年在人人学Amazon的同事,新浪、京东等一批国内 企业都在推一个叫open API 或者是restful api或者叫HTTP API的东东,以此来解决各自内部千千万产品间、产品内部的数据流动的问题,简而言之就是以一种方式圈定某个领域的业务对象,每种对象都使用同样的方法来实现一些功能,类比到厨艺的话,就是说约定好如何区分食材,每种食材都有哪些烹饪方法,这样子整个医疗领域就大约有100-200种资源(最小的信息单元,当然这里面的粒度的拿捏很是讲究),用到的“烹饪方法”就是HTTP协议定义好的(诸如put/post/get等)。数据本身的表达格式也从原来V2 V3单纯的EDI格式、XML格式演化到了目前比较流行的JSON,以后或许还会演化出其他更为适合的方式。这件事情一方面降低了学习认知整个标准的门槛,另一方面即使不使用它所规定的格式,顺着这样的思路,你也能解决一些问题,这里的问题不单单是之前它的老前辈(v2\v3\cda)所更care的产品与产品间的数据交换数据共享,你也可以借此实现产品内部的功能(京东的李大学总裁就介绍过它们在这方面的一些探索和实践),比如面临的移动端和PC端开发时功能复用的问题。当然也有人会问,这东西能作为数据的存储模型来用么,这个问题是HL7 V3 RIM CDA所没能很好的解决的问题,它们的抽象程度太高了,但时代变了,Nosql数据库现在已经有很多 可供选择,如果你要使用关系型数据库的话,也有一些这方面的探索可供参考。
3、尽管国内目前关注度不够,但在著名的代码托管平台Github上已经有大量的各种编程语言(java c# dephi javascipt swift等)、各种平台可用的一些开源代码,有适合PC端的,也有适合移动端的,这是很喜人的。
欢迎交流,联系方式:
webChat:搜索“妞妞她爹”
qq:512139097
群:
奉上一些链接供大家把玩
1、汉化版https://github.com/wanghaisheng/fhir-cn
英文版http://hl7.org/implement/standards/fhir/
2、开源库
https://github.com/jamesagnew/hapi-fhir
https://github.com/smart-on-fhir/smart-on-fhir.github.io
https://github.com/fhirbase