Good afternoon, all.
My team is looking into whether we can use the SearchParamMatcher out of the box to validate whether a given set of client subscription criteria matches a given FHIR resource. For example, we have a client that wishes to receive a change notification in the event that a new Appointment was created or an existing Appointment was updated for a specific location. In accordance with FHIR spec, the FHIR resource defines the `Location` type of the `participant.actor` array with the `system|value` identifier as opposed to populating the `reference` property (“Location/123456”). In following a few online sources, my understanding (perhaps misunderstanding) is that searching by `location:identifier=systemUri|value` is a valid, but I’m finding that FHIRPathEngine class explicitly looks for the `reference` property to be populated. Since it’s not in our case, the search params extracted from the given FHIR Appointment does not include the participant.actor location (nor patient, nor practitioner).
I have uploaded a sample to the HAPI FHIR “sandbox”. Using the token search `identifier`, the expected Appointment is returned. Using `location:identifier` returns an empty bundle.
We’re using the built-in search param definitions of the R4 matcher in version 5.1.0 of the hapi-fhir libs. Is there something else that I should be doing? Is the `location:identifier` not supported at this time?
My apologies for the lengthy post/questions and thank you very much for your time and help.
--Robert Savannah