您好我正在开发一款应用程序,以使用新的FHIR标准。它旨在从EHR中提取信息并进行组织。
我想知道是否可以使用单个GET请求搜索多个FHIR资源。例如,单个GET请求可以搜索单个患者的最新血压,心率等吗?
答案 0 :(得分:0)
您需要使用 _include 功能从患者中检索相关资源。我不确定是否可以检索所有引用的资源,您需要检查Fhir规范。
另请参阅此网址以获取示例Fhir服务器: https://fhirtest.uhn.ca/
答案 1 :(得分:0)
您可以使用Composition resorce,在此资源中可以声明部分和包含的resorces。您可以组织资源但部分资源的部分是资源的包装器,例如:
{{1}}
答案 2 :(得分:0)
是的,您可以使用单个GET请求从fhir服务器搜索和检索多个资源。以这种方式检索的资源将在名为Resource Bundle的结构中返回。假设原始问题中的“等”是指有关患者的其他临床观察,您所描述的情景可以通过检索包含患者的“受试者”(参考患者资源)的观察资源来实施。您感兴趣的是。观察资源的具体字段和可能的搜索参数在此处详述:https://www.hl7.org/fhir/observation.html。但是,例如,如果您的患者资源ID为123(请注意,这是fhir服务器上的唯一资源ID,而不是代码系统特定的“标识符”值),您可以使用以下方法检索与此患者相关的观察: / p>
[base]/Observation?subject=Patient/123
这将返回(来自符合规范的服务器)包含所有观察资源的Bundle,其中包含对患者资源123的引用作为其主题。您还可以通过指定其他参数来进一步向下钻取,以仅定位您有兴趣检索的观察资源。例如:
[base]/Observation?subject=Patient/123&code=8480-6
将检索包含与该患者相关的各种SystolicBP观察的束(假设它们已经用上面的LOINC编码)。这些例子只是冰山一角,因为fhir标准概述了相当深入的查询功能。通过查看其“搜索”页面上的信息可以获得最佳效果,该页面概述了此功能的具体细节:https://www.hl7.org/fhir/search.html
答案 3 :(得分:0)
您也可以像GET [base]/?_type=Observation,Condition&other params...
一样使用FHIR wiki中描述的 _type 参数
需要注意的是,other params
对于您正在搜索的两种资源都必须是通用的,否则服务器可能会出错。
答案 4 :(得分:0)
您是否研究过 batch/transaction 互动?
<块引用>batch
和 transaction
交互提交一组要在单个 HTTP 请求/响应中在服务器上执行的操作。这些操作可以作为“批处理”独立执行,也可以作为单个原子“事务”执行,其中整个更改集作为单个实体成功或失败。
batch
或 transaction
交互由 HTTP POST
命令执行,如下所示:
POST [base] {?_format=[mime-type]}
以下是 meds and allergies 的 POST
请求示例:
{
"resourceType": "Bundle",
"id": "bundle-request-medsallergies",
"type": "batch",
"entry": [
{
"request": {
"method": "GET",
"url": "/Patient/example"
}
},
{
"request": {
"method": "GET",
"url": "/MedicationStatement?patient=example&_list=$current-medications"
}
},
{
"request": {
"method": "GET",
"url": "/AllergyIntolerance?patient=example&_list=$current-allergies"
}
},
{
"request": {
"method": "GET",
"url": "/Condition?patient=example&_list=$current-problems"
}
},
{
"request": {
"method": "GET",
"url": "/MedicationStatement?patient=example¬given:not=true"
}
}
]
}