2017-09-22 9 views
0

FHIR 리소스를 검색 할 때 복잡한 중첩 쿼리가 어떻게 나타나야하는지 예제 나 지침을 찾지 못했습니다.복잡한 중첩 쿼리를 사용하여 FHIR을 검색하는 방법

몇 가지 예 (의사 코드) :

  • (이름 = 마리아와 성별 = 여성) OR (주소 시티 = 스프링과 주소 상태 = NY)
  • ((이름 = 메리 와 성별은 여성) 또는 (주소 시티 = 스프링 & 주소 상태

진정한 = NY)) 및 활성은 = 심지어 가능 =? 그렇다면 어떻게?

답변

0

FHIR은 매우 정교한 검색 구문을 지원하지만 쿼리 언어가 아닙니다. 서버에 대한 액세스 권한이없고 쿼리를 직접 구현할 수있는 경우가 아니라면 원하는 검색은 1로 수행 할 수 없습니다.

액세스/영향 서버 측에서는 명명 된 쿼리를 구현 한 다음 _query 검색 매개 변수를 사용하여 해당 쿼리를 실행할 수 있습니다 (http://www.hl7.org/fhir/search.html#query 참조).

액세스 권한이없는 경우 몇 단계로 쿼리를 수행 할 수 있습니다. 예를 들어 첫 번째 쿼리는 2 개의 검색어를 사용합니다.

GET [fhir endpoint]/Patient?name=Mary&gender=female 
GET [fhir endpoint]/Patient?address-city=Springfield&address-state=NY 

둘 다 결과를 번들로 제공합니다. 이 번들 두 개를 함께 사용하면 찾고자하는 일치하는 자원의 전체 목록이됩니다.

두 번째 예제 쿼리의 경우 GET에 &active=true을 입력해야합니다.