搜索

第 102 章 FHIR JSon DataFormat

download PDF

从 Camel 版本 2.21开始,提供 Camel 版本 2.21

FHIR-JSON 数据格式利用 HAPI-FHIR 的 JSON 解析器来解析到/从 JSON 格式解析到/从 HAPI-FHIR 的 IBaseResource 中解析。

102.1. FHIR JSON 格式选项

FHIR JSon dataformat 支持 14 个选项,如下所列。

Name默认值Java 类型描述

fhirVersion

DSTU3

字符串

要使用的 FHIR 版本。可能的值有: DSTU2,DSTU2_HL7ORG,DSTU2_1,DSTU3,R4

prettyPrint

false

布尔值

设置用户友善打印标志,这意味着解析器将使用元素间人类可读的空间和换行符对资源进行编码,而不是尽可能地压缩输出。

serverBaseUrl

 

字符串

设置此解析器使用的服务器基本 URL。如果设置了值,则资源引用将转换为相对引用(如果它们作为绝对 URL 提供),但基本与给定基础匹配。

omitResourceId

false

布尔值

如果设置为 true (默认为 false),则被编码的任何资源的 ID 都不会包含在输出中。请注意,这不适用于包含资源,仅适用于根资源。换句话说,如果设为 true,则包含的资源仍将具有本地 ID,但外部/包含 ID 不会具有 ID。

encodeElementsAppliesToResourceTypes

 

Set

如果提供,告诉解析哪个资源类型以应用链接 #setEncodeElements (Set)编码元素。这里没有指定的资源类型都会被完全编码,但没有排除元素。

encodeElementsAppliesToChildResourcesOnly

false

布尔值

如果设置为 true (默认为 false),则提供给 setEncodeElements (Set)的值不会应用到根资源(通常是 Bundle),而是应用到该捆绑包中包含的任何子资源(例如,在该捆绑包中的搜索结果)

encodeElements

 

Set

如果提供,请指定应编码的元素,以排除所有其他内容。此字段的有效值包括: Patient - Encode patient 及其子级 Patient.name - Encode 只包括病人的名称 Patient.name.family - Encode only the patient's family name .text - Encode the text element on any resource (only the first position may contains a wildcard). (必需)- 导致任何强制字段(只在 0 编码)进行编码。

dontEncodeElements

 

Set

如果提供,指定不应编码的元素。此字段的有效值包括: Patient - Don't encode to and its children Patient.name - Don't encode the patient's name Patient.name.family - Don't encode the program's family name .text - Don't encode the text element on any resource (only the first position may contains a wildcard) DSTU2 备注: 请注意,包括 meta 的值,如 Patient.meta 将适用于 DSTU2 解析器,但带有元数据上的子元素的值(如 Patient.meta.lastUpdated 只会在 DSTU3 模式下工作)。

stripVersionsFromReferences

false

布尔值

如果设置为 true (默认值),则包含版本的资源引用将在资源被编码时删除版本。这通常很好,因为在大多数情况下,从一个资源到另一个资源的引用应该通过 ID 而不是 ID 和版本来指向资源。然而,在某些情况下,可能需要在资源链接中保留版本。在这种情况下,这个值应设置为 false。这个方法提供了全局禁用引用编码的功能。如果需要更精细的控制,请使用 setDontStripVersionsFromReferencesAtPaths (List)

overrideResourceIdWithBundleEntryFullUrl

false

布尔值

如果设置为 true (默认值),Bundle.entry.fullUrl 将覆盖 Bundle.entry.resource 的资源 ID (如果定义了 fullUrl)。当将源数据解析为 Bundle 对象时,会发生此行为。如果这不是所需的行为(例如,客户端代码希望在 fullUrl 和资源 ID 之间执行额外的验证检查),则将其设置为 false。

summaryMode

false

布尔值

如果设置为 true (默认为 false),则只会包含由 FHIR 规格标记为 summary 元素的元素。

suppressNarratives

false

布尔值

如果设置为 true (默认为 false),则不会将 narratives 包含在编码的值中。

dontStripVersionsFromReferencesAtPaths

 

list

如果提供的值,则指定路径中的任何资源引用都会编码其资源版本,而不是在编码过程中自动剥离。此设置对解析过程没有影响。这个方法提供比 setStripVersionsFromReferences (Boolean)提供的更精细的控制级别,即使 setStripVersionsFromReferences (Boolean)已设置为 true (这是默认设置)

contentTypeHeader

false

布尔值

如果数据格式可以这样做,则数据格式是否应使用 data 格式的类型设置 Content-Type 标头。例如,用于数据格式的 application/xml 放入 XML 或用于数据格式的 application/json,如 JSon 等。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.