0

Here an update to my previous post with additional details and an answer to the initial response:

Unfortunately the measures listed above did not remedy the problem we are facing. Maybe it would help to add a detailed example of the issue to see if there is solution possible from the FDA. We directly searched on the MAUDE Database website for:

Brand name: Artis Q Dates: 2019-01-01 to 2019-12-31 Number of Results: 42

The address below is the API we used, results. Is a review of the API possible, to see if this is executed correctly?

https://api.fda.gov/device/event.json?search=device.brand_name:%22Artis+Q%22+AND+date_received:[20190101+TO+20191231]


Original Post

We are experiencing some issues generating consistent search result numbers via the API interface versus direct searches on the FDA websites for the MAUDE and RECALL databases. The number of search results is both higher and lower via the API interface compared to the FDA websites using different example medical devices.

The search queries within both search methods are identical and all possible errors in the programming of the search masks have been checked on our end and we cannot pinpoint the issue.

2 Answers 2

0

Please see our answer to a related question here and let us know if that helps. Also, we are re-running all data pipelines as we speak because a run scheduled for the weekend had failed for technical reasons, so you might want to check back tomorrow.

Thank you for bringing this to our attention.

0
0

TL;DR: the following query will work around the issue you are facing:

https://api.fda.gov/device/event.json?search=device.brand_name:(%22Artis+Q%22+OR+%22Artis+Q.ZEN%22)+AND+date_received:[20190101+TO+20191231]

The explanation is as follows: as of today openFDA does not support wildcard searches per se, because such searches might place significant strain on the infrastructure. For example, the following query does not work, but would have solved the issue you are facing if it did:

https://api.fda.gov/device/event.json?search=device.brand_name:%22Artis+Q*%22+AND+date_received:[20190101+TO+20191231]&limit=100

As of today openFDA tokenizes your query string into individual tokens instead -- Artis and Q in your original example -- and then looks for exact matches of those tokens within tokenized brand names. And because Q technically does not exactly match Q.ZEN, those results are excluded. This is basically how Elasticsearch works.

We understand the inconvenience this may be causing to the users and will take an action item to consider enabling wildcard searches perhaps on a limited set of fields. In the meantime, you could try using the workaround posted above or just relaxing your original query to just Artis and then do additional post-processing of search results on your side. Sorry about the inconvenience.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.