23.5. API 参数(13 API)
@FHIR 端点是基于 API 的组件,具有额外的参数,它基于使用的 API 名称和 API 方法。API 名称和 API 方法位于端点 URI 中,作为 apiName/methodName
路径参数:
fhir:apiName/methodName
下表中列出了 13 个 API 名称:
API 名称 | 类型 | 描述 |
---|---|---|
两者 | API 为 Fetch 服务器的 capabilities 语句 | |
两者 | 创建操作的 API,它会在服务器上创建新资源实例 | |
两者 | 删除操作的 API,它会在服务器资源上执行逻辑删除 | |
两者 | 历史记录方法的 API | |
两者 | 使用 atom 捆绑包中的链接 type=next 标签中指定的链接,从页面集中加载先前/下一步捆绑包的 API | |
两者 | meta 操作的 API,可用于从资源或服务器中获取、添加和删除标签和其他 Meta 元素 | |
两者 | 用于扩展 FHIR 操作的 API | |
两者 | 补丁操作的 API,它会在服务器资源上执行逻辑补丁 | |
两者 | 读取操作的 API 方法 | |
两者 | API 搜索与给定条件匹配的资源 | |
两者 | 用于将事务(资源集合)发送到要作为单个单元执行的服务器的 API | |
两者 | 更新操作的 API,它会在服务器资源上执行逻辑删除 | |
两者 | 用于验证资源的 API |
每个 API 都记录在以下部分中。
23.5.1. API: capabilities
支持生成者和消费者
capabilities API 采用语法定义,如下所示:
fhir:capabilities/methodName?[parameters]
该方法列在下表中,后跟每种方法的详细语法。(API 方法可以有一个简短的别名名称,可在语法而不是名称中使用)
方法 | 描述 |
---|---|
使用给定的模型类型检索 conformance 语句 |
23.5.1.1. Type 方法
签名:
- org.hl7.fhir.instance.model.api.IBaseConformance ofType (Class<org.hl7.fhir.instance.model.api.IBaseConformance> type, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
fhir/ofType API 方法有下表中列出的参数:
参数 | 描述 | 类型 |
---|---|---|
extraParameters | 如需可传递的完整参数列表,请参阅 ExtraParameters,可以是 NULL | Map |
type | 模型类型 | 类 |
除了以上参数外,fhir API 也可以使用任何 查询参数。
任何参数都可以在端点 URI 中提供,也可以在消息标头中动态提供。消息标头名称必须是 CamelFhir.parameter
格式。inBody
参数覆盖消息标头,即 Body=myParameterNameHere
中的端点参数将覆盖 CamelFhir.myParameterNameHere
标头。
23.5.2. API: create
支持生成者和消费者
create API 采用语法定义,如下所示:
fhir:create/methodName?[parameters]
下表中列出了 1 方法,后跟每种方法的详细语法。(API 方法可以有一个简短的别名名称,可在语法而不是名称中使用)
方法 | 描述 |
---|---|
在服务器上创建一个 IBaseResource |
23.5.2.1. 方法资源
签名:
- ca.uhn.fhir.rest.api.MethodOutcome 资源(String resourceAsString, String url, ca.uhn.fhir.rest.api.PreferReturnEnum preferReturn, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
- CA.uhn.fhir.rest.api.MethodOutcome 资源(org.hl7.fhir.instance.model.api.IBaseResource 资源, String url, ca.uhn.fhir.rest.api.PreferReturnEnum preferReturn, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
fhir/resource API 方法有下表中列出的参数:
参数 | 描述 | 类型 |
---|---|---|
extraParameters | 如需可传递的完整参数列表,请参阅 ExtraParameters,可以是 NULL | Map |
preferReturn | 在请求中添加 Prefer 标头,其请求服务器包含或阻止资源正文作为结果的一部分。如果服务器返回资源,它将通过 MethodOutcome114getResource ()解析客户端可访问,则可能是 null | PreferReturnEnum |
resource | 要创建的资源 | IBaseResource |
resourceAsString | 要创建的资源 | 字符串 |
url | 要使用的搜索 URL。这个 URL 的格式应为 ResourceTypeParameters,例如: Patientname=Smith&identifier=13.2.4.11.4%7C847366,可能是 null | 字符串 |
除了以上参数外,fhir API 也可以使用任何 查询参数。
任何参数都可以在端点 URI 中提供,也可以在消息标头中动态提供。消息标头名称必须是 CamelFhir.parameter
格式。inBody
参数覆盖消息标头,即 Body=myParameterNameHere
中的端点参数将覆盖 CamelFhir.myParameterNameHere
标头。
23.5.3. API: delete
支持生成者和消费者
删除 API 采用语法定义,如下所示:
fhir:delete/methodName?[parameters]
下表中列出了 3 方法,后跟每种方法的详细语法。(API 方法可以有一个简短的别名名称,可在语法而不是名称中使用)
方法 | 描述 |
---|---|
删除给定资源 | |
根据资源类型删除资源,例如 | |
指定应作为条件删除对给定搜索 URL 执行删除 |
23.5.3.1. 方法资源
签名:
- org.hl7.fhir.instance.model.api.IBaseOperationOutcome resource (org.hl7.fhir.instance.model.api.IBaseResource 资源, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
fhir/resource API 方法有下表中列出的参数:
参数 | 描述 | 类型 |
---|---|---|
extraParameters | 如需可传递的完整参数列表,请参阅 ExtraParameters,可以是 NULL | Map |
resource | 要删除的 IBaseResource | IBaseResource |
23.5.3.2. method resourceById
签名:
- org.hl7.fhir.instance.model.api.IBaseOperationOutcome resourceById (String type, String stringId, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
- org.hl7.fhir.instance.model.api.IBaseOperationOutcome resourceById (org.hl7.fhir.instance.model.api.IIdType id, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
fhir/resourceById API 方法有下表中列出的参数:
参数 | 描述 | 类型 |
---|---|---|
extraParameters | 如需可传递的完整参数列表,请参阅 ExtraParameters,可以是 NULL | Map |
id | IIdType 引用资源 | IIdType |
stringId | 它 ID | 字符串 |
type | 资源类型,如 Patient | 字符串 |
23.5.3.3. method resourceConditionalByUrl
签名:
- org.hl7.fhir.instance.model.api.IBaseOperationOutcome resourceConditionalByUrl (String url, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
fhir/resourceConditionalByUrl API 方法有下表中列出的参数:
参数 | 描述 | 类型 |
---|---|---|
extraParameters | 如需可传递的完整参数列表,请参阅 ExtraParameters,可以是 NULL | Map |
url | 要使用的搜索 URL。这个 URL 的格式应为 ResourceTypeParameters,例如: Patientname=Smith&identifier=13.2.4.11.4%7C847366 | 字符串 |
除了以上参数外,fhir API 也可以使用任何 查询参数。
任何参数都可以在端点 URI 中提供,也可以在消息标头中动态提供。消息标头名称必须是 CamelFhir.parameter
格式。inBody
参数覆盖消息标头,即 Body=myParameterNameHere
中的端点参数将覆盖 CamelFhir.myParameterNameHere
标头。
23.5.4. api: history
支持生成者和消费者
history API 采用语法定义,如下所示:
fhir:history/methodName?[parameters]
下表中列出了 3 方法,后跟每种方法的详细语法。(API 方法可以有一个简短的别名名称,可在语法而不是名称中使用)
方法 | 描述 |
---|---|
在服务器中特定资源的所有版本(按 ID 和类型)执行操作 | |
在服务器上所有类型的所有版本中执行操作 | |
在服务器中给定类型的所有版本中执行操作 |
23.5.4.1. 对Instance 的方法
签名:
- org.hl7.fhir.instance.model.api.IBaseBundle onInstance (org.hl7.fhir.instance.model.api.IIdType id, Class<org.hl7.fhir.instance.model.api.IBaseBundle> returnType, Integer count, java.util.Date cutoff, org.hl7.fhir.instance.model.api.IPrimitiveType<java.util.Date> iCutoff, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
fhir/onInstance API 方法包含下表中列出的参数:
参数 | 描述 | 类型 |
---|---|---|
æ•°é‡� | 请求服务器仅返回到Count 个资源数量,可以是 NULL | 整数 |
cutoff | 请求服务器只返回在给定时间(包括)时创建的资源版本,可能是 NULL | Date |
extraParameters | 如需可传递的完整参数列表,请参阅 ExtraParameters,可以是 NULL | Map |
iCutoff | 请求服务器只返回在给定时间(包括)时创建的资源版本,可能是 NULL | IPrimitiveType |
id | IIdType,它必须同时填充资源类型和资源 ID | IIdType |
returnType | 请求该方法会返回 Bundle 资源(如 ca.uhn.fhir.model.dstu2.resource.Bundle)。如果您要访问 DSTU2 服务器,请使用此方法。 | 类 |
23.5.4.2. Server 的方法
签名:
- org.hl7.fhir.instance.model.api.IBaseBundle onServer (Class<org.hl7.fhir.instance.model.api.IBaseBundle> returnType, Integer count, java.util.Date cutoff, org.hl7.fhir.instance.model.api.IPrimitiveType<java.util.Date> iCutoff, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
fhir/onServer API 方法有下表中列出的参数:
参数 | 描述 | 类型 |
---|---|---|
æ•°é‡� | 请求服务器仅返回到Count 个资源数量,可以是 NULL | 整数 |
cutoff | 请求服务器只返回在给定时间(包括)时创建的资源版本,可能是 NULL | Date |
extraParameters | 如需可传递的完整参数列表,请参阅 ExtraParameters,可以是 NULL | Map |
iCutoff | 请求服务器只返回在给定时间(包括)时创建的资源版本,可能是 NULL | IPrimitiveType |
returnType | 请求该方法会返回 Bundle 资源(如 ca.uhn.fhir.model.dstu2.resource.Bundle)。如果您要访问 DSTU2 服务器,请使用此方法。 | 类 |
23.5.4.3. Type 的方法
签名:
- org.hl7.fhir.instance.model.api.IBaseBundle onType (Class<org.hl7.fhir.instance.model.api.IBaseResource> resourceType, Class<org.hl7.fhir.instance.model.api.IBaseBundle> returnType, Integer count, java.util.Date cutoff, org.hl7.fhir.instance.model.api.IPrimitiveType<java.util.Date> iCutoff, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
fhir/onType API 方法有下表中列出的参数:
参数 | 描述 | 类型 |
---|---|---|
æ•°é‡� | 请求服务器仅返回到Count 个资源数量,可以是 NULL | 整数 |
cutoff | 请求服务器只返回在给定时间(包括)时创建的资源版本,可能是 NULL | Date |
extraParameters | 如需可传递的完整参数列表,请参阅 ExtraParameters,可以是 NULL | Map |
iCutoff | 请求服务器只返回在给定时间(包括)时创建的资源版本,可能是 NULL | IPrimitiveType |
resourceType | 要搜索的资源类型 | 类 |
returnType | 请求该方法会返回 Bundle 资源(如 ca.uhn.fhir.model.dstu2.resource.Bundle)。如果您要访问 DSTU2 服务器,请使用此方法。 | 类 |
除了以上参数外,fhir API 也可以使用任何 查询参数。
任何参数都可以在端点 URI 中提供,也可以在消息标头中动态提供。消息标头名称必须是 CamelFhir.parameter
格式。inBody
参数覆盖消息标头,即 Body=myParameterNameHere
中的端点参数将覆盖 CamelFhir.myParameterNameHere
标头。
23.5.5. api: load-page
支持生成者和消费者
load-page API 在语法中定义,如下所示:
fhir:load-page/methodName?[parameters]
下表中列出了 3 方法,后跟每种方法的详细语法。(API 方法可以有一个简短的别名名称,可在语法而不是名称中使用)
方法 | 描述 |
---|---|
使用给定的 URL 和捆绑包类型加载结果页面,并返回 DSTU1 Atom 捆绑包 | |
使用捆绑包中关系的链接加载下一个结果页面 | |
使用捆绑包中关系 prev 的链接加载前面的结果页面 |
23.5.5.1. 方法 byUrl
签名:
- org.hl7.fhir.instance.model.api.IBaseBundle byUrl (String url, Class<org.hl7.fhir.instance.model.api.IBaseBundle> returnType, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
fhir/byUrl API 方法有下表中列出的参数:
参数 | 描述 | 类型 |
---|---|---|
extraParameters | 如需可传递的完整参数列表,请参阅 ExtraParameters,可以是 NULL | Map |
returnType | 返回类型 | 类 |
url | 搜索 url | 字符串 |
23.5.5.2. Next 方法
签名:
- org.hl7.fhir.instance.model.api.IBaseBundle next (org.hl7.fhir.instance.model.api.IBaseBundle bundle, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
fhir/next API 方法有下表中列出的参数:
参数 | 描述 | 类型 |
---|---|---|
bundle | IBaseBundle | IBaseBundle |
extraParameters | 如需可传递的完整参数列表,请参阅 ExtraParameters,可以是 NULL | Map |
23.5.5.3. 前一个方法
签名:
- org.hl7.fhir.instance.model.api.IBaseBundle previous (org.hl7.fhir.instance.model.api.IBaseBundle bundle, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
fhir/previous API 方法有下表中列出的参数:
参数 | 描述 | 类型 |
---|---|---|
bundle | IBaseBundle | IBaseBundle |
extraParameters | 如需可传递的完整参数列表,请参阅 ExtraParameters,可以是 NULL | Map |
除了以上参数外,fhir API 也可以使用任何 查询参数。
任何参数都可以在端点 URI 中提供,也可以在消息标头中动态提供。消息标头名称必须是 CamelFhir.parameter
格式。inBody
参数覆盖消息标头,即 Body=myParameterNameHere
中的端点参数将覆盖 CamelFhir.myParameterNameHere
标头。
23.5.6. api: meta
支持生成者和消费者
meta API 在语法中定义,如下所示:
fhir:meta/methodName?[parameters]
下表中列出了 5 方法,后跟每种方法的详细语法。(API 方法可以有一个简短的别名名称,可在语法而不是名称中使用)
方法 | 描述 |
---|---|
将给定元数据中的元素添加到现有集合(请勿删除任何) | |
从给定的 ID 中删除给定元数据中的元素 | |
从特定资源获取当前元数据 | |
从整个服务器获取当前元数据 | |
从特定类型的获取当前元数据 |
23.5.6.1. 方法添加
签名:
- org.hl7.fhir.instance.model.api.IBaseMetaType add (org.hl7.fhir.instance.model.api.IBaseMetaType meta, org.hl7.fhir.instance.model.api.IIdType id, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
fhir/add API 方法有下表中列出的参数:
参数 | 描述 | 类型 |
---|---|---|
extraParameters | 如需可传递的完整参数列表,请参阅 ExtraParameters,可以是 NULL | Map |
id | id | IIdType |
meta | IBaseMetaType 类 | IBaseMetaType |
23.5.6.2. method delete
签名:
- org.hl7.fhir.instance.model.api.IBaseMetaType delete (org.hl7.fhir.instance.model.api.IBaseMetaType meta, org.hl7.fhir.instance.model.api.IIdType id, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
fhir/delete API 方法有下表中列出的参数:
参数 | 描述 | 类型 |
---|---|---|
extraParameters | 如需可传递的完整参数列表,请参阅 ExtraParameters,可以是 NULL | Map |
id | id | IIdType |
meta | IBaseMetaType 类 | IBaseMetaType |
23.5.6.3. method getFromResource
签名:
- org.hl7.fhir.instance.model.api.IBaseMetaType getFromResource (Class<org.hl7.fhir.instance.model.api.IBaseMetaType> metaType, org.hl7.fhir.instance.model.api.IIdType id, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
fhir/getFromResource API 方法有下表中列出的参数:
参数 | 描述 | 类型 |
---|---|---|
extraParameters | 如需可传递的完整参数列表,请参阅 ExtraParameters,可以是 NULL | Map |
id | id | IIdType |
metaType | IBaseMetaType 类 | 类 |
23.5.6.4. method getFromServer
签名:
- org.hl7.fhir.instance.model.api.IBaseMetaType getFromServer (Class<org.hl7.fhir.instance.model.api.IBaseMetaType> metaType, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
fhir/getFromServer API 方法有下表中列出的参数:
参数 | 描述 | 类型 |
---|---|---|
extraParameters | 如需可传递的完整参数列表,请参阅 ExtraParameters,可以是 NULL | Map |
metaType | 给定 FHIR 模型版本的 meta 数据类型的类型(应该为 MetaDt.class 或 MetaType.class) | 类 |
23.5.6.5. method getFromType
签名:
- org.hl7.fhir.instance.model.api.IBaseMetaType getFromType (Class<org.hl7.fhir.instance.model.api.IBaseMetaType> metaType, String resourceType, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
fhir/getFromType API 方法有下表中列出的参数:
参数 | 描述 | 类型 |
---|---|---|
extraParameters | 如需可传递的完整参数列表,请参阅 ExtraParameters,可以是 NULL | Map |
metaType | IBaseMetaType 类 | 类 |
resourceType | 资源类型,如 Patient | 字符串 |
除了以上参数外,fhir API 也可以使用任何 查询参数。
任何参数都可以在端点 URI 中提供,也可以在消息标头中动态提供。消息标头名称必须是 CamelFhir.parameter
格式。inBody
参数覆盖消息标头,即 Body=myParameterNameHere
中的端点参数将覆盖 CamelFhir.myParameterNameHere
标头。
23.5.7. api: operation
支持生成者和消费者
操作 API 采用语法定义,如下所示:
fhir:operation/methodName?[parameters]
下表中列出了 5 方法,后跟每种方法的详细语法。(API 方法可以有一个简短的别名名称,可在语法而不是名称中使用)
方法 | 描述 |
---|---|
在服务器中特定资源的所有版本(按 ID 和类型)执行操作 | |
此操作在资源的特定版本上运行 | |
在服务器上所有类型的所有版本中执行操作 | |
在服务器中给定类型的所有版本中执行操作 | |
此操作称为 $process-message,如 FHIR 规格定义 |
23.5.7.1. 对Instance 的方法
签名:
- org.hl7.fhir.instance.model.api.IBaseResource onInstance (org.hl7.fhir.instance.model.api.IIdType id, String name, org.hl7.fhir.instance.model.api.IBaseParameters parameters, Class<org.hl7.fhir.instance.model.api.IBaseParameters> outputParameterType, 布尔值使用HttpGet, Class<org.hl7.fhir.instance.model.api.IBaseResource> returnType, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
fhir/onInstance API 方法包含下表中列出的参数:
参数 | 描述 | 类型 |
---|---|---|
extraParameters | 如需可传递的完整参数列表,请参阅 ExtraParameters,可以是 NULL | Map |
id | 资源(版本将被剥离) | IIdType |
name | 操作名称 | 字符串 |
outputParameterType | 输出参数使用的类型(这应该设置为来自您使用的 FHIR 结构版本的 Parameters.class drawn),可以是 NULL | 类 |
parameters | 用作输入的参数。如果操作不需要任何输入参数,则可能是 null。 | IBaseParameters |
returnType | 如果此操作将单个资源正文返回类型而不是 Parameters 资源,请使用此方法指定该资源类型。这对返回捆绑包而不是 Parameters 资源的某些操作(如 Patient/NNN/$everything)非常有用,可以是 NULL | 类 |
useHttpGet | 使用 HTTP GET 动词 | 布尔值 |
23.5.7.2. 方法 onInstanceVersion
签名:
- org.hl7.fhir.instance.model.api.IBaseResource onInstanceVersion (org.hl7.fhir.instance.model.api.IIdType id, String name, org.hl7.fhir.instance.model.api.IBaseParameters parameters, Class<org.hl7.fhir.instance.model.api.IBaseParameters> outputParameterType, 布尔值使用HttpGet, Class<org.hl7.fhir.instance.model.api.IBaseResource> returnType, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
fhir/onInstanceVersion API 方法有下表中列出的参数:
参数 | 描述 | 类型 |
---|---|---|
extraParameters | 如需可传递的完整参数列表,请参阅 ExtraParameters,可以是 NULL | Map |
id | 资源版本 | IIdType |
name | 操作名称 | 字符串 |
outputParameterType | 输出参数使用的类型(这应该设置为来自您使用的 FHIR 结构版本的 Parameters.class drawn),可以是 NULL | 类 |
parameters | 用作输入的参数。如果操作不需要任何输入参数,则可能是 null。 | IBaseParameters |
returnType | 如果此操作将单个资源正文返回类型而不是 Parameters 资源,请使用此方法指定该资源类型。这对返回捆绑包而不是 Parameters 资源的某些操作(如 Patient/NNN/$everything)非常有用,可以是 NULL | 类 |
useHttpGet | 使用 HTTP GET 动词 | 布尔值 |
23.5.7.3. Server 的方法
签名:
- org.hl7.fhir.instance.model.api.IBaseResource onServer (String name, org.hl7.fhir.instance.model.api.IBaseParameters parameters, Class<org.hl7.fhir.instance.model.api.IBaseParameters> outputParameterType, boolean useHttpGet, Class<org.hl7.fhir.instance.model.api.IBaseResource> returnType, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
fhir/onServer API 方法有下表中列出的参数:
参数 | 描述 | 类型 |
---|---|---|
extraParameters | 如需可传递的完整参数列表,请参阅 ExtraParameters,可以是 NULL | Map |
name | 操作名称 | 字符串 |
outputParameterType | 输出参数使用的类型(这应该设置为来自您使用的 FHIR 结构版本的 Parameters.class drawn),可以是 NULL | 类 |
parameters | 用作输入的参数。如果操作不需要任何输入参数,则可能是 null。 | IBaseParameters |
returnType | 如果此操作将单个资源正文返回类型而不是 Parameters 资源,请使用此方法指定该资源类型。这对返回捆绑包而不是 Parameters 资源的某些操作(如 Patient/NNN/$everything)非常有用,可以是 NULL | 类 |
useHttpGet | 使用 HTTP GET 动词 | 布尔值 |
23.5.7.4. Type 的方法
签名:
- org.hl7.fhir.instance.model.api.IBaseResource onType (Class<org.hl7.fhir.instance.model.api.IBaseResource> resourceType, String name, org.hl7.fhir.instance.model.api.IBaseParameters parameters, Class<org.hl7.fhir.instance.model.api.IBaseParameters> outputParameterType, 布尔值使用HttpGet, Class<org.hl7.fhir.instance.model.api.IBaseResource> returnType, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
fhir/onType API 方法有下表中列出的参数:
参数 | 描述 | 类型 |
---|---|---|
extraParameters | 如需可传递的完整参数列表,请参阅 ExtraParameters,可以是 NULL | Map |
name | 操作名称 | 字符串 |
outputParameterType | 输出参数使用的类型(这应该设置为来自您使用的 FHIR 结构版本的 Parameters.class drawn),可以是 NULL | 类 |
parameters | 用作输入的参数。如果操作不需要任何输入参数,则可能是 null。 | IBaseParameters |
resourceType | 要操作的资源类型 | 类 |
returnType | 如果此操作将单个资源正文返回类型而不是 Parameters 资源,请使用此方法指定该资源类型。这对返回捆绑包而不是 Parameters 资源的某些操作(如 Patient/NNN/$everything)非常有用,可以是 NULL | 类 |
useHttpGet | 使用 HTTP GET 动词 | 布尔值 |
23.5.7.5. method processMessage
签名:
- org.hl7.fhir.instance.model.api.IBaseBundle processMessage (String respondToUri, org.hl7.fhir.instance.model.api.IBaseBundle msgBundle, boolean asynchronous, Class<org.hl7.fhir.instance.model.api.IBaseBundle> responseClass, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
fhir/processMessage API 方法有下表中列出的参数:
参数 | 描述 | 类型 |
---|---|---|
异步 | 是否异步处理消息还是同步,默认为 sync。 | 布尔值 |
extraParameters | 如需可传递的完整参数列表,请参阅 ExtraParameters,可以是 NULL | Map |
msgBundle | 将 Message Bundle 设置为 POST 到消息传递服务器 | IBaseBundle |
respondToUri | 可选的查询参数表示来自接收服务器的响应应发送到此 URI,可能是 NULL | 字符串 |
responseClass | 响应类 | 类 |
除了以上参数外,fhir API 也可以使用任何 查询参数。
任何参数都可以在端点 URI 中提供,也可以在消息标头中动态提供。消息标头名称必须是 CamelFhir.parameter
格式。inBody
参数覆盖消息标头,即 Body=myParameterNameHere
中的端点参数将覆盖 CamelFhir.myParameterNameHere
标头。
23.5.8. API: patch
支持生成者和消费者
patch API 采用语法定义,如下所示:
fhir:patch/methodName?[parameters]
下表中列出了 2 方法,后跟每种方法的详细语法。(API 方法可以有一个简短的别名名称,可在语法而不是名称中使用)
方法 | 描述 |
---|---|
将补丁应用到给定资源 ID | |
指定应作为条件创建对给定搜索 URL 执行更新 |
23.5.8.1. method patchById
签名:
- ca.uhn.fhir.rest.api.MethodOutcome patchById (String patchBody, String stringId, ca.uhn.fhir.rest.api.PreferReturnEnum preferReturn, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
- CA.uhn.fhir.rest.api.MethodOutcome patchById (String patchBody, org.hl7.fhir.instance.model.api.IIdType id, ca.uhn.fhir.rest.api.PreferReturnEnum preferReturn, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
fhir/patchById API 方法有下表中列出的参数:
参数 | 描述 | 类型 |
---|---|---|
extraParameters | 如需可传递的完整参数列表,请参阅 ExtraParameters,可以是 NULL | Map |
id | 要修补的资源 ID | IIdType |
patchBody | 补丁文档的正文在 XML 或 JSON 中进行序列化,它们符合 | 字符串 |
preferReturn | 在请求中添加 Prefer 标头,其请求服务器包含或阻止资源正文作为结果的一部分。如果服务器返回资源,它将通过 MethodOutcome114getResource ()解析客户端可访问 | PreferReturnEnum |
stringId | 要修补的资源 ID | 字符串 |
23.5.8.2. method patchByUrl
签名:
- ca.uhn.fhir.rest.api.MethodOutcome patchByUrl (String patchBody, String url, ca.uhn.fhir.rest.api.PreferReturnEnum preferReturn, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
fhir/patchByUrl API 方法包含下表中列出的参数:
参数 | 描述 | 类型 |
---|---|---|
extraParameters | 如需可传递的完整参数列表,请参阅 ExtraParameters,可以是 NULL | Map |
patchBody | 补丁文档的正文在 XML 或 JSON 中进行序列化,它们符合 | 字符串 |
preferReturn | 在请求中添加 Prefer 标头,其请求服务器包含或阻止资源正文作为结果的一部分。如果服务器返回资源,它将通过 MethodOutcome114getResource ()解析客户端可访问 | PreferReturnEnum |
url | 要使用的搜索 URL。这个 URL 的格式应为 ResourceTypeParameters,例如: Patientname=Smith&identifier=13.2.4.11.4%7C847366 | 字符串 |
除了以上参数外,fhir API 也可以使用任何 查询参数。
任何参数都可以在端点 URI 中提供,也可以在消息标头中动态提供。消息标头名称必须是 CamelFhir.parameter
格式。inBody
参数覆盖消息标头,即 Body=myParameterNameHere
中的端点参数将覆盖 CamelFhir.myParameterNameHere
标头。
23.5.9. API: read
支持生成者和消费者
read API 采用语法定义,如下所示:
fhir:read/methodName?[parameters]
下表中列出了 2 方法,后跟每种方法的详细语法。(API 方法可以有一个简短的别名名称,可在语法而不是名称中使用)
方法 | 描述 |
---|---|
通过 id 读取服务器上的 IBaseResource | |
通过 url 读取服务器上的 IBaseResource |
23.5.9.1. method resourceById
签名:
- org.hl7.fhir.instance.model.api.IBaseResource resourceById (Class<org.hl7.fhir.instance.model.api.IBaseResource> resource, Long longId, String ifVersionMatches, 布尔值 returnNull, org.hl7.fhir.instance.model.api.IBaseResource returnResource, boolean throwError, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
- org.hl7.fhir.instance.model.api.IBaseResource resourceById (Class<org.hl7.fhir.instance.model.api.IBaseResource> resource, String stringId, String version, String ifVersionMatches, 布尔值 returnNull, org.hl7.fhir.instance.model.api.IBaseResource returnResource, boolean throwError, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
- org.hl7.fhir.instance.model.api.IBaseResource resourceById (Class<org.hl7.fhir.instance.model.api.IBaseResource> resource, org.hl7.fhir.instance.model.api.IIdType id, String ifVersionMatches, 布尔值 returnNull, org.hl7.fhir.instance.model.api.IBaseResource returnResource, 布尔值 throwError, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
- org.hl7.fhir.instance.model.api.IBaseResource resourceById (String resourceClass, Long longId, String ifVersionMatches, boolean returnNull, org.hl7.fhir.instance.model.api.IBaseResource returnResource, 布尔值 throwError, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
- org.hl7.fhir.instance.model.api.IBaseResource resourceById (String resourceClass, String stringId, String ifVersionMatches, String version, boolean returnNull, org.hl7.fhir.instance.model.api.IBaseResource returnResource, 布尔值 throwError, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
- org.hl7.fhir.instance.model.api.IBaseResource resourceById (String resourceClass, org.hl7.fhir.instance.model.api.IIdType id, String ifVersionMatches, 布尔值 returnNull, org.hl7.fhir.instance.model.api.IBaseResource returnResource, boolean throwError, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
fhir/resourceById API 方法有下表中列出的参数:
参数 | 描述 | 类型 |
---|---|---|
extraParameters | 如需可传递的完整参数列表,请参阅 ExtraParameters,可以是 NULL | Map |
id | IIdType 引用资源 | IIdType |
ifVersionMatches | 与服务器中最新版本匹配的版本 | 字符串 |
longId | 资源 ID | Long |
resource | 要读取的资源(如 Patient) | 类 |
resourceClass | 要读取的资源(如 Patient) | 字符串 |
returnNull | 如果版本匹配,则返回 null | 布尔值 |
returnResource | 如果版本匹配,则返回资源 | IBaseResource |
stringId | 资源 ID | 字符串 |
throwError | 如果版本匹配,抛出错误 | 布尔值 |
version | 资源版本 | 字符串 |
23.5.9.2. method resourceByUrl
签名:
- org.hl7.fhir.instance.model.api.IBaseResource resourceByUrl (Class<org.hl7.fhir.instance.model.api.IBaseResource> resource, String url, String ifVersionMatches, 布尔值 returnNull, org.hl7.fhir.instance.model.api.IBaseResource returnResource, boolean throwError, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
- org.hl7.fhir.instance.model.api.IBaseResource resourceByUrl (Class<org.hl7.fhir.instance.model.api.IBaseResource> resource, org.hl7.fhir.instance.model.api.IIdType iUrl, String ifVersionMatches, 布尔值 returnNull, org.hl7.fhir.instance.model.api.IBaseResource returnResource, 布尔值 throwError, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
- org.hl7.fhir.instance.model.api.IBaseResource resourceByUrl (String resourceClass, String url, String ifVersionMatches, boolean returnNull, org.hl7.fhir.instance.model.api.IBaseResource returnResource, 布尔值 throwError, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
- org.hl7.fhir.instance.model.api.IBaseResource resourceByUrl (String resourceClass, org.hl7.fhir.instance.model.api.IIdType iUrl, String ifVersionMatches, 布尔值 returnNull, org.hl7.fhir.instance.model.api.IBaseResource returnResource, boolean throwError, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
fhir/resourceByUrl API 方法包含下表中列出的参数:
参数 | 描述 | 类型 |
---|---|---|
extraParameters | 如需可传递的完整参数列表,请参阅 ExtraParameters,可以是 NULL | Map |
iUrl | IIdType 通过绝对 url 引用资源 | IIdType |
ifVersionMatches | 与服务器中最新版本匹配的版本 | 字符串 |
resource | 要读取的资源(如 Patient) | 类 |
resourceClass | 要读取的资源(如 Patient.class) | 字符串 |
returnNull | 如果版本匹配,则返回 null | 布尔值 |
returnResource | 如果版本匹配,则返回资源 | IBaseResource |
throwError | 如果版本匹配,抛出错误 | 布尔值 |
url | 通过绝对 url 引用资源 | 字符串 |
除了以上参数外,fhir API 也可以使用任何 查询参数。
任何参数都可以在端点 URI 中提供,也可以在消息标头中动态提供。消息标头名称必须是 CamelFhir.parameter
格式。inBody
参数覆盖消息标头,即 Body=myParameterNameHere
中的端点参数将覆盖 CamelFhir.myParameterNameHere
标头。
23.5.10. api: search
支持生成者和消费者
搜索 API 的语法定义,如下所示:
fhir:search/methodName?[parameters]
下表中列出了 1 方法,后跟每种方法的详细语法。(API 方法可以有一个简短的别名名称,可在语法而不是名称中使用)
方法 | 描述 |
---|---|
通过 URL 直接执行搜索 |
23.5.10.1. method searchByUrl
签名:
- org.hl7.fhir.instance.model.api.IBaseBundle searchByUrl (String url, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
fhir/searchByUrl API 方法包含下表中列出的参数:
参数 | 描述 | 类型 |
---|---|---|
extraParameters | 如需可传递的完整参数列表,请参阅 ExtraParameters,可以是 NULL | Map |
url | 要搜索的 URL。请注意,此 URL 可以完成(例如,),在这种情况下,客户端的基本 URL 将被忽略。或者,它可以被相对(例如,Patientname=foo),在这种情况下,客户端的基本 URL 将会被使用。 | 字符串 |
除了以上参数外,fhir API 也可以使用任何 查询参数。
任何参数都可以在端点 URI 中提供,也可以在消息标头中动态提供。消息标头名称必须是 CamelFhir.parameter
格式。inBody
参数覆盖消息标头,即 Body=myParameterNameHere
中的端点参数将覆盖 CamelFhir.myParameterNameHere
标头。
23.5.11. API: transaction
支持生成者和消费者
transaction API 的语法定义,如下所示:
fhir:transaction/methodName?[parameters]
下表中列出了 2 方法,后跟每种方法的详细语法。(API 方法可以有一个简短的别名名称,可在语法而不是名称中使用)
方法 | 描述 |
---|---|
使用给定的原始文本(应该是 Bundle 资源)作为事务输入 | |
使用资源列表作为事务输入 |
23.5.11.1. 带有Bundle 的方法
签名:
- 带有Bundle (String stringBundle, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
- org.hl7.fhir.instance.model.api.IBaseBundle withBundle (org.hl7.fhir.instance.model.api.IBaseBundle bundle, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
fhir/withBundle API 方法包含下表中列出的参数:
参数 | 描述 | 类型 |
---|---|---|
bundle | 在事务中使用的捆绑包 | IBaseBundle |
extraParameters | 如需可传递的完整参数列表,请参阅 ExtraParameters,可以是 NULL | Map |
stringBundle | 在事务中使用的捆绑包 | 字符串 |
23.5.11.2. 带有Resources 的方法
签名:
- java.util.List<org.hl7.fhir.instance.model.api.IBaseResource> withResources (java.util.List<org.hl7.fhir.instance.model.api.IBaseResource> resources, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
fhir/withResources API 方法有下表中列出的参数:
参数 | 描述 | 类型 |
---|---|---|
extraParameters | 如需可传递的完整参数列表,请参阅 ExtraParameters,可以是 NULL | Map |
资源 | 在事务中使用的资源 | list |
除了以上参数外,fhir API 也可以使用任何 查询参数。
任何参数都可以在端点 URI 中提供,也可以在消息标头中动态提供。消息标头名称必须是 CamelFhir.parameter
格式。inBody
参数覆盖消息标头,即 Body=myParameterNameHere
中的端点参数将覆盖 CamelFhir.myParameterNameHere
标头。
23.5.12. API: update
支持生成者和消费者
更新 API 的语法定义,如下所示:
fhir:update/methodName?[parameters]
下表中列出了 2 方法,后跟每种方法的详细语法。(API 方法可以有一个简短的别名名称,可在语法而不是名称中使用)
方法 | 描述 |
---|---|
通过 id 更新服务器上的 IBaseResource | |
通过搜索 url 更新服务器上的 IBaseResource |
23.5.12.1. 方法资源
签名:
- ca.uhn.fhir.rest.api.MethodOutcome 资源(String resourceAsString, String stringId, ca.uhn.fhir.rest.api.PreferReturnEnum preferReturn, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
- CA.uhn.fhir.rest.api.MethodOutcome 资源(String resourceAsString, org.hl7.fhir.instance.model.api.IIdType id, ca.uhn.fhir.rest.api.PreferReturnEnum preferReturn, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
- CA.uhn.fhir.rest.api.MethodOutcome 资源(org.hl7.fhir.instance.model.api.IBaseResource 资源, String stringId, ca.uhn.fhir.rest.api.PreferReturnEnum preferReturn, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
- ca.uhn.fhir.rest.api.MethodOutcome resource (org.hl7.fhir.instance.model.api.IBaseResource 资源, org.hl7.fhir.instance.model.api.IIdType id, ca.uhn.fhir.rest.api.PreferReturn, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
fhir/resource API 方法有下表中列出的参数:
参数 | 描述 | 类型 |
---|---|---|
extraParameters | 如需可传递的完整参数列表,请参阅 ExtraParameters,可以是 NULL | Map |
id | IIdType 引用资源 | IIdType |
preferReturn | 在结果中,服务器是否包含或阻止资源正文 | PreferReturnEnum |
resource | 要更新的资源(如 Patient) | IBaseResource |
resourceAsString | 要更新的资源正文 | 字符串 |
stringId | 引用资源的 ID | 字符串 |
23.5.12.2. method resourceBySearchUrl
签名:
- ca.uhn.fhir.rest.api.MethodOutcome resourceBySearchUrl (String resourceAsString, String url, ca.uhn.fhir.rest.api.PreferReturnEnum preferReturn, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
- CA.uhn.fhir.rest.api.MethodOutcome resourceBySearchUrl (org.hl7.fhir.instance.model.api.IBaseResource 资源, String url, ca.uhn.fhir.rest.api.PreferReturnEnum preferReturn, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
fhir/resourceBySearchUrl API 方法有下表中列出的参数:
参数 | 描述 | 类型 |
---|---|---|
extraParameters | 如需可传递的完整参数列表,请参阅 ExtraParameters,可以是 NULL | Map |
preferReturn | 在结果中,服务器是否包含或阻止资源正文 | PreferReturnEnum |
resource | 要更新的资源(如 Patient) | IBaseResource |
resourceAsString | 要更新的资源正文 | 字符串 |
url | 指定应作为条件创建对给定搜索 URL 执行更新 | 字符串 |
除了以上参数外,fhir API 也可以使用任何 查询参数。
任何参数都可以在端点 URI 中提供,也可以在消息标头中动态提供。消息标头名称必须是 CamelFhir.parameter
格式。inBody
参数覆盖消息标头,即 Body=myParameterNameHere
中的端点参数将覆盖 CamelFhir.myParameterNameHere
标头。
23.5.13. api: validate
支持生成者和消费者
validate API 采用语法定义,如下所示:
fhir:validate/methodName?[parameters]
下表中列出了 1 方法,后跟每种方法的详细语法。(API 方法可以有一个简短的别名名称,可在语法而不是名称中使用)
方法 | 描述 |
---|---|
验证资源 |
23.5.13.1. 方法资源
签名:
- ca.uhn.fhir.rest.api.MethodOutcome 资源(String resourceAsString, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
- ca.uhn.fhir.rest.api.MethodOutcome 资源(org.hl7.fhir.instance.model.api.IBaseResource 资源, java.util.Map<org.apache.camel.component.fhir.api.ExtraParameters, Object> extraParameters);
fhir/resource API 方法有下表中列出的参数:
参数 | 描述 | 类型 |
---|---|---|
extraParameters | 如需可传递的完整参数列表,请参阅 ExtraParameters,可以是 NULL | Map |
resource | 用于验证的 IBaseResource | IBaseResource |
resourceAsString | 验证的原始资源 | 字符串 |
除了以上参数外,fhir API 也可以使用任何 查询参数。
任何参数都可以在端点 URI 中提供,也可以在消息标头中动态提供。消息标头名称必须是 CamelFhir.parameter
格式。inBody
参数覆盖消息标头,即 Body=myParameterNameHere
中的端点参数将覆盖 CamelFhir.myParameterNameHere
标头。