问题描述
我有一个 Slot 资源,它引用了一个 Schedule 资源。调度资源有一个参与者列表,包括患者和从业者等等。如果我想用指定的从业者名称检索已预订的时段,正确的 FHIR 服务器查询是什么?
Schedule 引用中的示例数据:
"actor": [
{
"reference": "Practitioner/{id}","display": "Dr.John"
},...]
我尝试了“[base]/{resource with id}&_include=Slot:schedule&_include:iterate=Practitioner:actor[0]”。但它不起作用。
解决方法
一些问题:
- 如果要使用 _include,则必须进行“搜索”,而不是“阅读”。搜索必须针对类型,而不是资源类型 + id。如果您想过滤到特定资源,则需要将其表示为搜索条件,而不是基本路径的一部分。
- 您不能指定要包含的重复。 IE。没有“[0]”。如果您包括在内,您将获得全部。
- 第二个 include 需要引用从 Slot 到从业者的路径。如果需要,您可以按所需类型进行过滤。我已经在下面完成了。
所以搜索应该是这样的:
[base]/Slot?_id=123&_include=Slot:schedule&_include:iterate=Schedule:actor:Practitioner
请注意,并非所有服务器都支持所有 _include,甚至根本不支持 _include。