FHIR Chat · USCP-04 String exact matching · inferno

Stream: inferno

Topic: USCP-04 String exact matching


view this post on Zulip James Bradley (Jun 18 2021 at 13:58):

Hello, we're testing our Patient API using inferno and believe we've encountered an issue. Specifically for USCP-04 - we are passing in Patient?birthdate=1900-01-01&family=Ach this returns a patient with the last name "Achie". The test fails because I assume its looking for an exact match - but the spec seems to indicate that the default mode is a "starts with" match http://hl7.org/fhir/R4/search.html#string . Can someone confirm our understanding is correct?

view this post on Zulip Michele Mottini (Jun 18 2021 at 15:02):

Yes, the default is 'starts with' - but are you sure that the test is not failing due to the birthdate? It is a weird value to find matches for

view this post on Zulip Robert Scanlon (Jun 18 2021 at 15:12):

That was my thought first too, but in looking at the code it does seem like we do exact string matches on family unfortunately. This is not required for ONC Certification, so only shows up in our 'Community' set of tests. But we need to fix it. Thanks for letting us know.

view this post on Zulip Robert Scanlon (Jun 18 2021 at 15:13):

(it isn't required for ONC certification, because birthDate+family is 'SHOULD', not 'SHALL' in US Core -- so we don't test it)

view this post on Zulip Robert Scanlon (Jun 18 2021 at 15:14):

birthDate+name is required for certification, and I believe we do handle it correctly there. Could you confirm that you pass BDE-04 USCP-04 (whoops, looked at wrong window) ?

view this post on Zulip Robert Scanlon (Jun 18 2021 at 16:52):

@James Bradley -- I just realized something is a little off here. Our USCP-04 tests are searching by birthdate+name, not birthdate+family, and I do not think they exhibit this bug. Our USCP-06 tests (Community version only because it is optional to implement) do search by birthdate+family, and I believe they do exhibit this bug. You stated USCP-04 was searching by birthdate+family above, but that shouldn't be happening. Could you confirm which test number, which search parameter (family or name), and which version of inferno ('community' or 'program') so I can make sure I understand the problem?

view this post on Zulip James Bradley (Jun 18 2021 at 18:12):

Thanks for the response! I'm going to confirm with the team but I wouldn't be surprised if they were testing using the community edition (we've integrated the community version into our development process). Thanks for checking it out.

view this post on Zulip Cooper Thompson (Jun 21 2021 at 13:31):

We've run into similar issues too, where we apply "fuzzy" logic to names and date of birth. For example, if you search for John, we might return patients that have a name of Jon. Similarly with date of birth, we support single digit transposition and off-by-one fuzziness to handle fat-fingering. Per the base FHIR spec, this is acceptable based on this bit:

http://build.fhir.org/search.html#Introduction

The server determines which of their resources meet the criteria contained in
the search parameters as described below. However, the server has the prerogative
to return additional search results if it believes them to be relevant.

For the actual certification, we can just turn off our fuzzy matching logic, but since we expect most users to want it enabled, would it make sense to have Inferno accept fuzzy matches?

view this post on Zulip Robert Scanlon (Jul 29 2021 at 17:52):

@Cooper Thompson -- thanks for highlighting this, we are looking at how to address this next. There is also explicit leniency given towards fuzzy matches on names: "When searching whole names and addresses (not parts), servers may also use flexible match or a free-text style searches on names to achieve the best results." ref.


Last updated: Apr 12 2022 at 19:14 UTC