FHIR是HL7的最新进展,它是Fast Healthcare Interoperability Resources的缩写。众所周知医疗信息可交换是一个十分复杂的问题,HL7的v2, v3, RIM, CDA等现有标准都是为了解决这一问题,但是都过于复杂的问题而导致研发成本过高且实施困难。为了解决这一问题,FHIR出现了,它基于互联网思维和技术进行设计,因此与现有标准相比是一个很大的突破。
FHIR可以独立使用,也可以与现有的标准共同使用。最重要的是,即使不熟悉之前的HL7标准,也可以基于本标准进行软件开发。
FHIR的基本组件是资源,所有可交换的内容都被定义为资源。资源可以用XML或JSON表示,目前已经定义了93种资源,它们都具备以下特征:
- 一个URL
- 通用的元数据
- 人可阅读的XHTML概述
- 一组定义好的公共数据元素
- 一个可扩展的框架
FHIR的设计理念是构建一个资源的基本集合,满足大多数现实使用需求。对于标准中未定义的需求,FHIR有内置的扩展机制。
FHIR模型使用组合的方式,就是说通过各种资源的组合实现需求,从软件开发的角度来说,就是首先定义各种基本对象,然后通过对象继承等方式实现。
有两种特殊类型的资源用于描述资源如何定义和使用:
1. 一致性表述(Conformance Statement):描述一个具体实现为了交换数据所需要对外暴露的接口。
2. 结构定义(StructureDefinition):提供附加规则,从而限制在具体实现中使用的资源的可选择性,基数,术语绑定,数据类型和扩展定义。
FHIR标准大致由三部分组成:
- 一般文档:描述资源如何定义,给出数据类型,编码和XML和JSON格式定义的背景材料。
- 实现:如何使用REST,消息或服务等形式来使用资源,例如临床文档。
- 资源列表:所有FHIR定义的资源,包括临床,管理和基础结构资源。
资源被广泛使用,包括纯医学内容,例如康复计划、诊断报告,也可以用于纯基础架构,例如消息头和一致性表述。所有资源具有相同的技术特征,但是使用风格各不相同。
开始学习FHIR的最佳方式是首先快速阅读资源(Resources)列表,了解存在哪些资源,然后看患者资源定义(Patient resource definition)对资源定义有具体认识,然后阅读以下背景文档:
- 资源定义(Resource Definitions) - 关于资源如何定义的背景知识。
- 关于资源(About Resource) :资源包含的叙述文本(Narrative),和资源之间如何互操作(Resources refer to each other)
- 格式(Formats): XML and JSON
- 关于扩展性(Extensibility): 本规范保持简单的关键方式。
- 如果以前有过HL7标准的背景知识,那么可以看一下The Relationship between FHIR and other HL7 Standards
规范文档的顶部标签很重要:
资源和数据类型采用一种类似XML格式的形式表述,但是他们也有详细描述。此外,大多数资源对应于几种不同的格式,包括HL v2, HL7 v3, RIM, CDA, DICOM等。所有的资源都有至少一个例子,还有profile描述它们在哪些情况下使用。最后,一些资源包含有助于实现的说明。
FHIR标准主要面向实现者,就是实际编写软件的技术人员,为了帮助实现人员,文档编写者尽可能保持文档简单,所以对实现过程关系较小的内容没有包含在文档内。
HL7提供了一个Stack Overflow标签,列出了服务器和大量的Skype频道,为不同层次的实现者提供支持。