From a63c62b2e13183b9b5e6e423dfc988700daff3ad Mon Sep 17 00:00:00 2001 From: Ken Stevens Date: Sat, 25 Jan 2020 14:35:20 -0500 Subject: [PATCH] ensure in-memory matching location search for Dstu3 falls back to a db search --- .../ca/uhn/hapi/fhir/docs/files.properties | 1 + .../ca/uhn/hapi/fhir/docs/server_jpa/search.md | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/docs/server_jpa/search.md diff --git a/hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/docs/files.properties b/hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/docs/files.properties index 1d07de1084b..76af2d26c2f 100644 --- a/hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/docs/files.properties +++ b/hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/docs/files.properties @@ -42,6 +42,7 @@ page.server_jpa.introduction=Introduction page.server_jpa.get_started=Get Started ⚡ page.server_jpa.architecture=Architecture page.server_jpa.configuration=Configuration +page.server_jpa.search=Search page.server_jpa.upgrading=Upgrade Guide section.interceptors.title=Interceptors diff --git a/hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/docs/server_jpa/search.md b/hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/docs/server_jpa/search.md new file mode 100644 index 00000000000..faab2b95ece --- /dev/null +++ b/hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/docs/server_jpa/search.md @@ -0,0 +1,18 @@ +# JPA Server Search + +The HAPI FHIR JPA Server fully implements most [FHIR search](https://www.hl7.org/fhir/search.html) operations for most versions of FHIR. However, there are some known limitations of the current implementation. Here is a partial list of search functionality that is not currently supported in HAPI FHIR: + +### Date searches without timestamp + +Searching by date with no timestamp currently doesn't match all records it should. See [Issue 1499](https://github.com/jamesagnew/hapi-fhir/issues/1499). + +### Chains within _has + +Chains within _has are not currently supported for performance reasons. For example, this search is not currently supported +```http +https://localhost:8000/Practitioner?_has:PractitionerRole:practitioner:service.type=CHIRO +``` + +### Location.position "near" + +Searching on Location.Position using `near` currently uses a box search, not a radius search. A box search is a square centred on the provided coordinates with the shortest distance to the edge of the square equal to the distance provided; this means the box search will match more locations than a radius search in the corners. Currently, distance is assumed to be in km and any provided units are ignored. Distance must be between 0.0km and 10,000km.