使用pynetdicom对接GE PACS 带StudyDate参数的C-FIND查询无匹配结果
GE PACS C-FIND指定StudyDate无返回结果排查方案
- 查询层级与过滤属性不匹配问题
患者根下的患者级C-FIND仅支持患者层级属性(Patient ID、Patient Name等)作为过滤条件,StudyDate属于研究层级属性,GE PACS对DICOM查询层级的匹配要求非常严格,跨层级过滤会被直接忽略或返回空结果。要同时按Patient ID+StudyDate过滤,必须使用研究根下的研究级查询模式。 - StudyDate查询格式问题
多数版本的GE PACS仅支持范围格式的StudyDate过滤,即使查询单日数据,也需要传入20210716-20210716格式的取值,直接传入精确日期20210716会触发已知的兼容bug导致无匹配结果。 - 查询返回集属性缺失问题
你需要在C-FIND请求的查询数据集中显式包含StudyDate属性,哪怕该属性仅用作过滤条件不需要返回。GE PACS如果检测到过滤属性不在请求的返回属性列表中,会直接忽略该过滤规则,或直接返回空结果。 - SOP类UID匹配问题
确认研究根研究级查询使用的SOP类UID正确,对应取值为1.2.840.10008.5.1.4.1.2.2.1,错误的SOP类UID会导致PACS的查询逻辑异常。 - 附加过滤参数优化
可以在研究级查询的过滤条件中额外添加Modality=CR,避免同日期下其他模态检查的匹配逻辑干扰,同时显式请求返回StudyInstanceUID属性,方便后续C-MOVE/C-GET下载影像使用。
建议按以下优先级验证:
- 切换为研究根研究级查询模式
- 将StudyDate取值修改为范围格式
20210716-20210716 - 检查查询数据集已包含Patient ID、StudyDate、Modality、StudyInstanceUID四个属性
内容的提问来源于stack exchange,提问作者annsonic
相关产品推荐
相关产品推荐

