第 101 章 FHIR 组件
作为 Camel 版本 2.23 可用
FHIR 组件与 HAPI-FHIR 库集成,它是 Java 中 FHIR 互操作性资源(Fast healthcare Interoperability 资源)规范的开源实现。
Maven 用户需要在这些组件的 pom.xml 中添加以下依赖项:
<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-fhir</artifactId>
    <version>${camel-version}</version>
</dependency>
<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-fhir</artifactId>
    <version>${camel-version}</version>
</dependency>
101.1. URI 格式 复制链接链接已复制到粘贴板!
FHIR 组件使用以下 URI 格式:
fhir://endpoint-prefix/endpoint?[options]
fhir://endpoint-prefix/endpoint?[options]
端点前缀可以是以下之一:
- 功能
 - create
 - delete
 - history
 - load-page
 - meta
 - operation
 - patch
 - 读取
 - search
 - transaction
 - update
 - validate
 
FHIR 组件支持 2 个选项,它们如下所列。
| 名称 | 描述 | 默认 | 类型 | 
|---|---|---|---|
|   configuration (common)  |   使用共享配置  |   FhirConfiguration  | |
|   resolveProperty Placeholders (advanced)  |   启动时,组件是否应自行解析属性占位符。只有 String 类型的属性才能使用属性占位符。  |   true  |   布尔值  | 
FHIR 端点使用 URI 语法进行配置:
fhir:apiName/methodName
fhir:apiName/methodName
使用以下路径和查询参数:
101.1.1. 路径名(2 参数): 复制链接链接已复制到粘贴板!
| 名称 | 描述 | 默认 | 类型 | 
|---|---|---|---|
|   apiName  |   需要 什么操作才能执行  |   FhirApiName  | |
|   methodName  |   所选操作需要什么子操作  |   字符串  | 
101.1.2. 查询参数(26 参数): 复制链接链接已复制到粘贴板!
| 名称 | 描述 | 默认 | 类型 | 
|---|---|---|---|
|   encoding (common)  |   用于所有请求的编码  |   字符串  | |
|   fhirVersion (common)  |   要使用的 FHIR 版本  |   DSTU3  |   字符串  | 
|   inBody (common)  |   设置在 Exchange In Body 中传递的参数名称  |   字符串  | |
|   log (common)  |   将记录每个请求和响应  |   false  |   布尔值  | 
|   prettyPrint (common)  |   以用户的形式打印所有请求  |   false  |   布尔值  | 
|   serverUrl (common)  |   FHIR 服务器基本 URL  |   字符串  | |
|   bridgeErrorHandler (consumer)  |   允许将消费者桥接到 Camel 路由 Error Handler,这意味着使用者试图获取传入消息或类似信息时出现任何异常,现在将作为一个消息进行处理,并由路由 Error Handler 处理。默认情况下,使用者将使用 org.apache.camel.spi.Exception 处理程序处理异常,该处理程序将记录在 WARN 或 ERROR 级别,并忽略。  |   false  |   布尔值  | 
|   exceptionHandler (consumer)  |   要让使用者使用自定义 ExceptionHandler。请注意,如果启用了选项 bridgeErrorHandler,则不使用这个选项。默认情况下,消费者处理异常,这将在 WARN 或 ERROR 级别记录,并忽略。  |   ExceptionHandler  | |
|   exchangePattern (consumer)  |   在使用者创建交换时设置交换模式。  |   ExchangePattern  | |
|   压缩 (高级)  |   将传出(POST/PUT)内容压缩为 GZIP 格式  |   false  |   布尔值  | 
|   connectionTimeout (advanced)  |   试用和建立初始 TCP 连接所需的时间(以 ms 为单位)  |   10000  |   整数  | 
|   deferModelScanning (advanced)  |   设定此选项时,在实际访问给定类型的子列表之前,对子类不会扫描模型类。  |   false  |   布尔值  | 
|   fhirContext (advanced)  |   FhirContext 是创建的一个昂贵对象。要避免创建多个实例,可以直接设置。  |   FhirContext  | |
|   forceConformanceCheck (advanced)  |   强制一致性检查  |   false  |   布尔值  | 
|   sessionCookie (advanced)  |   要添加到每个请求的 HTTP 会话 Cookie  |   字符串  | |
|   socketTimeout (advanced)  |   单个读/写操作(以毫秒为单位)  |   10000  |   整数  | 
|   Summary (advanced)  |   请求服务器使用 _summary param 修改响应  |   字符串  | |
|   同步 (高级)  |   设置同步处理是否应当严格使用,还是允许 Camel 使用异步处理(如果受支持)。  |   false  |   布尔值  | 
|   validationMode (advanced)  |   当 Camel 验证 FHIR 服务器规范时  |   ONCE  |   字符串  | 
|   proxyHost (proxy)  |   代理主机  |   字符串  | |
|   proxyPassword (proxy)  |   代理密码  |   字符串  | |
|   proxyPort (proxy)  |   代理端口  |   整数  | |
|   proxyUser (proxy)  |   代理用户名  |   字符串  | |
|   accessToken (安全性)  |   OAuth 访问令牌  |   字符串  | |
|   密码 (安全)  |   用于基本身份验证的用户名  |   字符串  | |
|   username (security)  |   用于基本身份验证的用户名  |   字符串  |