【问题标题】:Is there a way to search fhir resources on a text search parameter using wildcards?有没有办法使用通配符在文本搜索参数上搜索 fhir 资源?
【发布时间】:2015-12-01 20:42:52
【问题描述】:

我正在尝试使用以下代码搜索“血液”与代码相关联的所有观察:

GET [base]/Observation?code:text=blood

似乎搜索正在匹配相关文本以“血”开头但不匹配包含“血”的相关文本的观察。

使用以下内容,我得到了带有“收缩压”的 Coding.display 的结果,但我还想通过使用文本“血液”进行搜索来获得这些观察结果。

GET [base]/Observation?code:text=sys

我应该使用不同的修饰符或通配符吗?

【问题讨论】:

  • 您使用的是哪台服务器?可能并非所有服务器都完全实现了规范(或正确实现了它)。我认为意图是“文本”应该是一个包含匹配,但规范本身似乎有点模棱两可(以及语法不正确......)
  • 我在 Ex 使用 Hapi 1.2 的 HSPC 部署。 sandbox.hspconsortium.org/dstu2/open-hsp-reference-api/data/… 我还针对 HL7 服务器进行了测试:fhir2.healthintersections.com.au/open/… 只要字符串是单词的开头,它就可以工作,因此“sys”有效但“tolic”无效,这没有多大意义.
  • 同样fhir2.healthintersections.com.au/open/… 不返回任何结果。
  • 嗨,Amy-我认为这是 HAPI 服务器中的一个大问题。你是对的,如果不是完全匹配,我们至少应该是左匹配。看起来我们为文本参数留下了匹配,但只为 Coding.text 参数完全匹配。看看我们能否在即将发布的 1.4 版本中解决此问题。

标签: hl7-fhir


【解决方案1】:

服务器似乎按照规范的要求进行操作:当在令牌搜索参数上使用修饰符 :text 时(如此处的 code),规范说:

":text 搜索参数被处理为搜索的字符串 与代码/值关联的文本”

如果我们查看服务器应该如何搜索字符串,我们会发现:

"默认情况下,一个字段匹配一个字符串查询,如果该字段的值 等于或以提供的参数值开头,在两者都有之后 已按大小写和重音规范化。”

现在,如果 code 是一个真正的字符串搜索参数,我们可以应用修饰符 contains,但是我们不能堆叠修饰符,所以在这种情况下 code:text:containts 可能是合乎逻辑的,但不是当前规范。

所以,恐怕目前没有“标准”的方式来做你想做的事。

【讨论】:

  • 如果它是你控制的服务器并且实现支持它,可以直接在code.text上添加搜索参数。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-05-23
  • 1970-01-01
  • 2017-07-03
  • 1970-01-01
  • 1970-01-01
  • 2017-04-02
  • 1970-01-01
相关资源
最近更新 更多