第 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>
101.1. URI 格式
FHIR 组件使用以下 URI 格式:
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
使用以下路径和查询参数:
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) | 用于基本身份验证的用户名 | 字符串 |