第 103 章 FHIR XML DataFormat
从 Camel 版本 2.21开始,提供 Camel 版本 2.21
FHIR-XML 数据格式利用 HAPI-FHIR 的 XML 解析器向 HAPI-FHIR 的 IBaseResource
解析/从 XML 格式解析到/从 XML 格式进行解析。
103.1. FHIR XML 格式选项
FHIR XML 格式支持 14 个选项,如下所列。
Name | 默认值 | Java 类型 | 描述 |
---|---|---|---|
fhirVersion |
|
| 要使用的 FHIR 版本。可能的值有: DSTU2,DSTU2_HL7ORG,DSTU2_1,DSTU3,R4 |
prettyPrint |
|
| 设置用户友善打印标志,这意味着解析器将使用元素间人类可读的空间和换行符对资源进行编码,而不是尽可能地压缩输出。 |
serverBaseUrl |
| 设置此解析器使用的服务器基本 URL。如果设置了值,则资源引用将转换为相对引用(如果它们作为绝对 URL 提供),但基本与给定基础匹配。 | |
omitResourceId |
|
| 如果设置为 true (默认为 false),则被编码的任何资源的 ID 都不会包含在输出中。请注意,这不适用于包含资源,仅适用于根资源。换句话说,如果设为 true,则包含的资源仍将具有本地 ID,但外部/包含 ID 不会具有 ID。 |
encodeElementsAppliesToResourceTypes |
| 如果提供,告诉解析哪个资源类型以应用链接 #setEncodeElements (Set)编码元素。这里没有指定的资源类型都会被完全编码,但没有排除元素。 | |
encodeElementsAppliesToChildResourcesOnly |
|
| 如果设置为 true (默认为 false),则提供给 setEncodeElements (Set)的值不会应用到根资源(通常是 Bundle),而是应用到该捆绑包中包含的任何子资源(例如,在该捆绑包中的搜索结果) |
encodeElements |
| 如果提供,请指定应编码的元素,以排除所有其他内容。此字段的有效值包括: 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 |
| 如果提供,指定不应编码的元素。此字段的有效值包括: 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 |
|
| 如果设置为 true (默认值),则包含版本的资源引用将在资源被编码时删除版本。这通常很好,因为在大多数情况下,从一个资源到另一个资源的引用应该通过 ID 而不是 ID 和版本来指向资源。然而,在某些情况下,可能需要在资源链接中保留版本。在这种情况下,这个值应设置为 false。这个方法提供了全局禁用引用编码的功能。如果需要更精细的控制,请使用 setDontStripVersionsFromReferencesAtPaths (List) |
overrideResourceIdWithBundleEntryFullUrl |
|
| 如果设置为 true (默认值),Bundle.entry.fullUrl 将覆盖 Bundle.entry.resource 的资源 ID (如果定义了 fullUrl)。当将源数据解析为 Bundle 对象时,会发生此行为。如果这不是所需的行为(例如,客户端代码希望在 fullUrl 和资源 ID 之间执行额外的验证检查),则将其设置为 false。 |
summaryMode |
|
| 如果设置为 true (默认为 false),则只会包含由 FHIR 规格标记为 summary 元素的元素。 |
suppressNarratives |
|
| 如果设置为 true (默认为 false),则不会将 narratives 包含在编码的值中。 |
dontStripVersionsFromReferencesAtPaths |
| 如果提供的值,则指定路径中的任何资源引用都会编码其资源版本,而不是在编码过程中自动剥离。此设置对解析过程没有影响。这个方法提供比 setStripVersionsFromReferences (Boolean)提供的更精细的控制级别,即使 setStripVersionsFromReferences (Boolean)已设置为 true (这是默认设置) | |
contentTypeHeader |
|
| 如果数据格式可以这样做,则数据格式是否应使用 data 格式的类型设置 Content-Type 标头。例如,用于数据格式的 application/xml 放入 XML 或用于数据格式的 application/json,如 JSon 等。 |