We are running a Microsoft FHIR server on a Cosmos database and have recently updated our code to the latest version on git-hub. After the update it seems like searches on name for patient, practitioner and person has been changed. Earlier it was possible to search name= and find documents regardless of the searched string was a given or a family name. In the new version I must search specifically for given name. Is this done on purpose? Is there something we need to do in order to make the searches work as before?
Similarly searches for organization name earlier allowed us to search in the middle of names and find documents. In the new version the search only finds organization names starting with the search criteria. Is this done on purpose? Is there something we need to do in order to make the searches work as before?
What is the plan for use of phonetic searches for name? It is available in FHIR, but I have so far not been able to find out if it is implemented in Microsoft FHIR server and how it is planned to work.
The search for name should be for either first or last name as you say, so the behavior you are seeing is not what I would expect.
It sounds like this could be either a) a problem with schema changes after updating the code or b) a bug (probably not in this case, see update below).
Can you please raise issues for the FHIR server on https://github.com/Microsoft/fhir-server.
Specifically, can you reproduce this with a fresh install of the FHIR server. Please post all steps to reproduce this behavior.
UPDATE
I provisioned an R4 version of the service with Cosmos DB and inserted this patient:
{
"resourceType": "Patient",
"active": true,
"name": [
{
"use": "official",
"family": "Kirk",
"given": [
"James",
"Tiberious"
]
},
{
"use": "usual",
"given": [
"Jim"
]
}
],
"gender": "male",
"birthDate": "1960-12-25"
}
The following searches all find the patient:
GET https://<fhirservicename>.azurewebsites.net/Patient?name=jim
GET https://<fhirservicename>.azurewebsites.net/Patient?name=james
GET https://<fhirservicename>.azurewebsites.net/Patient?name=tiberious
GET https://<fhirservicename>.azurewebsites.net/Patient?name=kirk