第 102 章 FHIR XML DataFormat
从 Camel 版本 2.21 开始,可用为 Camel 版本 2.21
FHIR-XML 数据格式利用 HAPI-FHIR 的 XML 解析器解析到/从 XML 格式解析到/从 HAPI-FHIR 的 IBaseResource
。
102.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。请注意,这不适用于包含资源,仅适用于 root 资源。换句话说,如果设置为 true,则包含的资源仍将具有本地 ID,但 outer/containing ID 将不会具有 ID。 |
encodeElementsAppliesToResourceTypes |
| 如果提供,告知解析哪些资源类型应用链接 #setEncodeElements (Set)编码元素。这里未指定的资源类型都会完全编码,且没有排除元素。 | |
encodeElementsAppliesToChildResourcesOnly |
|
| 如果设置为 true (默认为 false),则提供给 setEncodeElements (Set)的值不会应用到根资源(通常是捆绑包),而是应用于其中包含的任何子资源(例如,搜索结果资源) |
encodeElements |
| 如果提供,可指定应编码的元素,以排除所有其他项。此字段的有效值包括: Patient - Encode 患者及其所有子子 Patient.name - Encode 只包括患者名称 Patient.name.family - 对任何资源(只有第一个位置可能包含通配符)添加文本元素(仅包括通配符)的编码。 | |
dontEncodeElements |
| 如果提供,指定不应编码的元素。此字段的有效值包括: 耐心 - Don't encode patient 及其子句子 Patient.name - Don' 不对患者名称 Patient.name.family 进行编码 - Don'tcode 患者名称 .text - Don't 对任何资源(仅第一个位置可能包含通配符)进行编码。 请注意,包括 meta 的值,如 Patient.meta 将用于 DSTU2 解析器,但在 meta 上带有 subelements 的值,如 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 规范中带有正在摘要元素的元素。 |
禁止的发送 |
|
| 如果设置为 true (默认为 false),则编码值中不会包括叙述。 |
dontStripVersionsFromReferencesAtPaths |
| 如果提供的值,指定路径中的任何资源引用都会采用其资源版本编码,而不是在编码过程中自动剥离。此设置对解析过程没有影响。这个方法提供了比 setStripVersionsFromReferences (Boolean)指定的任何路径的更精细的控制级别,即使 setStripVersionsFromReferences (Boolean)被设为 true (默认) | |
contentTypeHeader |
|
| 如果数据格式能够这样做,则数据格式是否应该以 data 格式设置 Content-Type 标头。例如,用于数据格式的 application/xml (数据格式)或 application/json 用于数据格式 marshalling to JSon etc。 |