在 FHIR 查询规范中,它声明可以将 _include 参数添加到查询 URL 以请求完整返回指定的引用资源,以防止进一步的网络请求检索这些资源。
IE
诊断报告/搜索?_include=DiagnosticReport.subject&_include=Patient.provider
此构造要求您在进行查询之前知道将在结果集中引用的资源。我怀疑诸如“观察”之类的资源可能会有许多配置文件,每个配置文件可能具有不同的扩展名,但情况并非如此。
是否有一种语法可以“包含”所有引用的资源?
此页面:https ://www.hl7.org/implement/standards/FHIR/search.html#return 描述了以下内容:
2.2.4.1 包含路径
包含路径可能包含通配符,例如MedicationDispense.results.*,甚至_include=*,尽管客户端和服务器在执行此操作时都需要注意不要请求或返回太多资源。最值得注意的是,在新包含的资源上重新应用包含路径可能会导致循环或检索完整的患者文件:资源被组织成一个相互关联的网络,并且广泛的 _include 路径最终可能会遍历服务器上的所有可能路径。对于服务器,这些递归和通配符 _include 要求很高,可能会显着减慢搜索响应时间。服务器应该限制完成的迭代次数,并且没有义务接受在搜索结果中包含额外资源的请求。
嗯,这也许是可能的。尽管存在获得大量资源的风险,但您不知道为什么会获得。服务器可能更倾向于拒绝这种请求。对于服务器来说,这肯定要慢得多——它必须评估更多的内容来决定要包含哪些引用。