EPIC FHIR ServiceRequest API的SNOMED分类参数构建问题咨询
解决EPIC FHIR ServiceRequest API的SNOMED category参数「Invalid category」错误
可行的参数构建方案
1. 使用EPIC内部OID分类体系(匹配官方示例逻辑)
EPIC的ServiceRequest接口实际优先支持内部定义的分类OID,而非直接用SNOMED的URL格式。比如影像类请求对应的分类OID是2.16.840.1.113883.3.1937.99.20.3.61,搭配内部编码使用:
curl -X GET "https://你的EPIC FHIR端点/ServiceRequest?patient=Patient/患者ID&category=2.16.840.1.113883.3.1937.99.20.3.61|1"
你可以通过EPIC的元数据接口获取完整的内部分类编码列表:
curl -X GET "https://你的EPIC FHIR端点/ValueSet?url=https://fhir.epic.com/interfaces/FHIR/4.0/ValueSet/epic-servicerequest-category"
从返回的ValueSet里挑选对应影像研究的编码对直接使用即可。
2. 修正SNOMED参数的格式
官方文档提及的「system|code」格式,部分EPIC环境要求用SNOMED的OID而非URL作为system值。SNOMED对应的OID是2.16.840.1.113883.6.96,因此参数需写成:
curl -X GET "https://你的EPIC FHIR端点/ServiceRequest?patient=Patient/患者ID&category=2.16.840.1.113883.6.96|183829003"
关于「Invalid category」却返回数据的原因
EPIC API采用宽松匹配逻辑:当category参数格式不被识别时,会直接忽略该参数,返回符合其他查询条件(如患者ID)的所有数据,同时抛出错误提示告知参数无效。
内容的提问来源于stack exchange,提问作者SquishyBrain
相关产品推荐
相关产品推荐

