SmartHealthIt R4服务器无法查询指定患者的DiagnosticReport问题
查询指定患者DiagnosticReport资源的正确方法
标准FHIR查询URL
针对SmartHealthIt R4测试服务器,查询关联患者ID 1435573的DiagnosticReport,直接使用以下格式:
https://r4.smarthealthit.org/DiagnosticReport?subject=Patient/1435573
若服务器要求绝对引用,也可使用完整URL作为参数值:
https://r4.smarthealthit.org/DiagnosticReport?subject=https://r4.smarthealthit.org/Patient/1435573
排查问题的关键点
- 核对查询参数格式:
必须保留Patient/前缀,不得添加多余字符;服务器对参数大小写敏感,subject需为小写,Patient首字母需大写。 - 确认资源存在性:
先访问https://r4.smarthealthit.org/Patient/1435573,能返回数据说明患者资源正常;再查询所有DiagnosticReport:https://r4.smarthealthit.org/DiagnosticReport,确认目标报告确实已上传至服务器——测试服务器会定期清理旧资源,若创建时间过久可能已被删除。 - 检查DiagnosticReport的subject字段:
报告中subject.reference的值必须是Patient/1435573或完整URL,不能仅填写ID。正确的字段结构示例:"subject": { "reference": "Patient/1435573", "display": "患者姓名" } - 解决参数错误问题:
最后一次查询返回参数错误,大概率是使用了服务器不支持的参数、拼写错误或参数值不符合FHIR规范,可对照FHIR R4查询规范核对语法。
内容的提问来源于stack exchange,提问作者John
相关产品推荐
相关产品推荐

