问题描述
我将 FHIR R4
与 Hapi FHIR API
一起使用。
我想知道如何使用有关已创建用户的信息标记 ServiceRequest
资源。
我已阅读 FHIR 文档并找到了 relevantHistory
标记,我可以在其中放置 Provenance
参考。
一切都很好,但 HAPI Fhir 无法查询该字段/标签,因此我无法获取我或其他用户创建的所有 ServiceRequest
。
我还尝试使用名为 tracking 的自定义扩展程序,我已经在其中放置了跟踪用户信息。
我不想使用 requester
标签,因为它充满了客户提供的其他指导线含义
在 Mirjam Baltus 之后编辑
嗨, 您的观点很有趣,但是,我找到了另一个解决方案,如下所示,我想与您讨论(如果您愿意)。
我在 SearchParameter
上添加了一个 ServiceRequest
资源,以允许在 relevantHistory
字段中进行搜索。
这是 JSON 资源:
{
"resourceType": "SearchParameter","id": "6589","Meta": {
"versionId": "7","lastUpdated": "2021-02-25T11:25:25.549+00:00","source": "#1btUOFbG0D3dMdwI"
},"title": "Storia","status": "active","code": "relevantHistory","base": [
"ServiceRequest"
],"type": "reference","expression": "ServiceRequest.relevantHistory","xpathUsage": "normal","target": [
"Provenance"
],"modifier": [
"missing"
],"chain": [
"reference"
]
}
所以我写了一个关于 ServiceRequest
的查询,由 relevantHistory
字段过滤(链接到 Provenance
)。
我采用这种策略是因为我只需要知道 ServiceRerquest
的创建者,所以通过这种方式,我将 Provenance
资源中的信息分解为我在目标字段中的位置将创建 Practitioner / Organization
的 ServiceRequest
放入代理组件中,我在枚举 ENTERER
和 AgentRole
中使用 AgentType
值复制了此信息。>
这样,我为更多的 Provenance
收集了一个 ServiceRequest
,相反,如果我按照你的方式,我将为每个 ServiceRequest
分配一个专用的 {{1} }.
解决方法
relevantHistory
不是正确的字段,因为它只会列出包含相关信息的较旧的 Provenance 资源。该描述特别指出它不包含与当前版本的 ServiceRequest 关联的 Provenance 资源(请参阅 http://hl7.org/fhir/servicerequest-definitions.html#ServiceRequest.relevantHistory)。
我认为 Provenance 仍然可以帮助您。您不会搜索 ServiceRequest 中的字段,而是查找具有您/用户是参与者的来源的 ServiceRequest:
GET [base]/ServiceRequest?_has:Provenance:target:actor=[user_reference]
或者反过来,通过从用户那里寻找来源资源,并包括作为来源目标的服务请求。
修改原帖后添加:
正如我在评论中提到的,我认为您尝试将相关历史字段和一个来源用于多个服务请求的方式与该字段和资源类型的使用方式无关。
如果您能够创建自定义搜索参数,为什么不在 ServiceRequest 上使用扩展名来指明是谁创建的,然后使该扩展名可搜索? 如果您想对此进行更多讨论,请在 https://chat.fhir.org 上提问,FHIR 社区的更多人可以在哪里加入。