Question about Patient Search using demographic information.

87 views
Skip to first unread message

Sam Kim

unread,
Jan 30, 2020, 6:55:22 PM1/30/20
to Cerner FHIR Developers
What exactly does "The namefamily, and given parameters support the ‘:exact’ modifier and will search for current names only." mean (this was found in the Patient R4 documents)? 

If we make a request with the only search parameter being family = 'Smart' shouldn't we also be returning someone other than the duplicate 'Fred Rick Smart Jr' (I understand there's a bunch of Fred Rick Smart Jrs with different IDs).
How come for example, Ellie Smart isn't being returned in this request?

X-Request-Id : 902570aac7ef267eb44de7780b6c7cac

When I do add the parameter given = 'Ellie' it does return Ellie Smart and Ellie Smart only, but I'd like for the previous request mentioned above to return all patients with the last name Smart.

Benjamin Eichhorn (Cerner)

unread,
Jan 31, 2020, 9:26:27 AM1/31/20
to Cerner FHIR Developers
Hi,

Per for the FHIR spec[1] for searching by string:

For a simple string search, a string parameter serves as the input for a search against sequences of characters. This search is insensitive to casing and included combining characters, like accents or other diacritical marks. Punctuation and non-significant whitespace (e.g. repeated space characters, tab vs space) should also be ignored. By default, a field matches a string query if the value of the field equals or starts with the supplied parameter value, after both have been normalized by case and combining characters. Therefore, the default string search only operates on the base characters of the string parameter. The :contains modifier returns results that include the supplied parameter value anywhere within the field being searched. The :exact modifier returns results that match the entire supplied parameter, including casing and accents.
 

Have you ensured you are going through the subsequent pages? I made the same request and receive back Ellie Smart on later page.


Thanks,
Ben (Cerner)

Sam Kim

unread,
Jan 31, 2020, 2:01:11 PM1/31/20
to Cerner FHIR Developers
Hi Ben,

What do you mean by going through the subsequent pages? When I make the request adding in the different modifiers (never knew about these; thank you) I still get a return of only Fred Rick Smart Jrs, and I know more patients with that name exists for example: Ellie, Joe, Jim, Nancy, Chip, etc. I am using the following url: https://fhir-ehr.sandboxcerner.com/r4/0b8a0111-e8e6-4c26-a91c-5069cbc6b1ca/Patient?family:exact=Smart

I am making the request through Postman and this returns only a 10 count result all of which are Fred Rick Smart Jrs.

Michele Mottini

unread,
Jan 31, 2020, 2:09:00 PM1/31/20
to Cerner FHIR Developers
The result of a FHIR search can be split into multiple pages - see specs at  http://hl7.org/fhir/search.html#count - if you want to see all the results you have to grab the 'next' URL in the returned bundle and GET that - and keep doing that until there is no 'next' link available (that means you reached the end)

  - Michele
  CareEvolution Inc


Sam Kim

unread,
Jan 31, 2020, 3:47:34 PM1/31/20
to Cerner FHIR Developers
I see thanks for the help!

Sam Kim

unread,
Jan 31, 2020, 4:20:55 PM1/31/20
to Cerner FHIR Developers
I also noticed that there is a _count parameter that you can include. This parameter seems to return all the patients in one result. This seems like a good solution, but is there a limit to how high the count parameter can be?

I get an unprocessable entity error.
X-Request-Id : 09597823f29a9ee4b0343120b326bf9b

On Friday, January 31, 2020 at 11:09:00 AM UTC-8, Michele Mottini wrote:

Max Philips (Cerner)

unread,
Jan 31, 2020, 4:46:39 PM1/31/20
to Cerner FHIR Developers
Hi Sam,

With that search, you are running into the error scenario documented here: https://fhir.cerner.com/millennium/r4/individuals/patient/#errors

There can be many patients that qualify for specific searches (such as a search for 18 years of birth dates), so we've chosen to implement logic that reduces processing time for our server in those cases by short circuiting the queries. Please re-issue your search with more specific query parameters to reduce the total amount of qualifying patients.

In response to the purpose of the _count parameter, it informs the server how many qualifying results from a particular search should be displayed on one page of results. Cerner documentation: https://fhir.cerner.com/millennium/r4/individuals/patient/#parameters. HL7 FHIR documentation: http://hl7.org/fhir/R4/search.html#count

Note that our documentation for _count does not specify a limit to how high it can be. We continuously monitor performance of our APIs and may adjust maximum requestable _count values per FHIR resource at any time, so we elect not to share the maximum values per resource for that reason.

Thanks,
Max (Cerner)
Reply all
Reply to author
Forward
0 new messages