第 101 章 FHIR 组件
从 Camel 版本 2.23 开始提供
FHIR 组件与 HAPI-FHIR 库集成,这是 Java 中 FHIR (Fast Healthcare Interoperability Resources)规范的开源实现。
Maven 用户需要将以下依赖项添加到这个组件的 pom.xml 中:
<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]
端点前缀可以是以下之一:
- 功能
- create
- delete
- history
- load-page
- meta
- operation
- patch
- 读取
- search
- transaction
- update
- validate
FHIR 组件支持 2 个选项,如下所列。
Name | 描述 | 默认值 | 类型 |
---|---|---|---|
configuration (common) | 使用共享配置 | FhirConfiguration | |
resolveProperty Placeholders (advanced) | 组件是否应在启动时解析属性占位符。只有 String 类型的属性可以使用属性占位符。 | true | 布尔值 |
FHIR 端点使用 URI 语法进行配置:
fhir:apiName/methodName
使用以下路径和查询参数:
101.1.1. 路径参数(2 参数):
Name | 描述 | 默认值 | 类型 |
---|---|---|---|
apiName | 需要 执行什么操作 | FhirApiName | |
methodName | 必需的 所选操作使用哪些子操作 | 字符串 |
101.1.2. 查询参数(26 参数):
Name | 描述 | 默认值 | 类型 |
---|---|---|---|
encoding (common) | 用于所有请求的编码 | 字符串 | |
fhirVersion (common) | 要使用的 FHIR 版本 | DSTU3 | 字符串 |
inBody (common) | 设置要在交换 In Body 中传递的参数名称 | 字符串 | |
log (common) | 将记录每个请求和响应 | false | 布尔值 |
prettyPrint (common) | 用户打印所有请求 | false | 布尔值 |
serverUrl (common) | FHIR 服务器基本 URL | 字符串 | |
bridgeErrorHandler (consumer) | 允许将消费者桥接到 Camel 路由错误处理程序,这意味着当消费者试图选择传入消息或类似信息时发生异常,现在将作为消息处理并由路由 Error Handler 处理。默认情况下,使用者将使用 org.apache.camel.spi.ExceptionHandler 来处理例外情况,该处理程序将被记录在 WARN 或 ERROR 级别,并忽略。 | false | 布尔值 |
ExceptionHandler ( consumer) | 要让使用者使用自定义例外处理程序:请注意,如果启用了 bridgeErrorHandler 选项,则此选项不使用。默认情况下,消费者将处理异常,其记录在 WARN 或 ERROR 级别中,并忽略。 | ExceptionHandler | |
exchangePattern (consumer) | 在消费者创建交换时设置交换模式。 | ExchangePattern | |
compress (advanced) | 将传出(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) | 阻止单个读/写操作的时长(以 ms 为单位) | 10000 | 整数 |
Summary (advanced) | 请求服务器使用 _summary 参数修改响应 | 字符串 | |
同步 (高级) | 设置是否应严格使用同步处理,还是允许 Camel 使用异步处理(如果支持)。 | false | 布尔值 |
validationMode (advanced) | 当 Camel 应该验证 FHIR 服务器一致性语句时 | ONCE | 字符串 |
proxyHost (proxy) | 代理主机 | 字符串 | |
proxyPassword (proxy) | 代理密码 | 字符串 | |
proxyPort (proxy) | 代理端口 | 整数 | |
proxyUser (proxy) | 代理用户名 | 字符串 | |
accessToken (security) | OAuth 访问令牌 | 字符串 | |
密码 (security) | 用于基本身份验证的用户名 | 字符串 | |
用户名 (security) | 用于基本身份验证的用户名 | 字符串 |