# US 12,112,337 B1 · Systems and methods for automatically determining recalled products from unstructured recall data

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,112,337 B1
- Document ID: US12112337B1
- Status: Granted
- Kind: B1
- Application number: 16/995,013
- Filed: 2020-08-17
- Granted: 2024-10-08
- Earliest claimed: 2015-07-31
- Assignees: Prodigo Solutions Inc.
- Applicants: Prodigo Solutions Inc.
- Inventors: Dermot Pope; Marlin Doner; Michael DeLuca; Aaron Manuel
- Web page: https://patentgrep.com/patent/US12112337B1

## CPC

- G06Q 30/014: Providing recall services for goods or products
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR

## Abstract

Systems and methods for automatically determining recalled products from unstructured recall data. In exemplary embodiments, fuzzy logic is used to determine recalled products from unstructured recall data. In exemplary embodiments, natural language algorithms with an embedded data grammar dictionary are used to extract item identifiers and manufacturer name from unstructured recall data.

## Claims

### Claim 1

A method comprising:
receiving a request for a medical product from a remote customer computer, wherein the request includes a product identifier of the medical product;
providing the request to a search engine;
receiving, in response to the providing, a plurality of matching products;
transmitting the plurality of matching products to a first display on the remote customer computer;
identifying a recalled product from the plurality of matching products, wherein the recalled product is identified based on a unique identifier of the recalled product matching a unique identifier of a product in a recalled medical item list;
identifying one or more characteristics of the recalled product;
determining one or more potential substitute products based on the one or more characteristics,
wherein the one or more potential substitute products are not included with the plurality of matching products;
transmitting the recalled product and a result set to a second display on the remote customer computer,
wherein the second display indicates that the recalled product is subject to a recall, but the second display does not provide a user interface for the consumer to purchase the recalled product,
wherein the result set includes a user interface for the consumer to purchase a subset of the plurality of matching products, and
wherein the result set further includes a user interface for the consumer to purchase the one or more potential substitute products.

### Claim 2 (depends on 1)

The method of claim 1, wherein the recalled medical item list is determined based on parsing one or more web service recall notifications.

### Claim 3 (depends on 1)

The method of claim 1, wherein the recalled medical item list is determined based on parsing one or more text-based alert messages.

### Claim 4 (depends on 1)

The method of claim 1, wherein the one or more characteristics includes at least one of manufacturer, cost, and purpose.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
generating an interactive display that includes the result set and from which the customer can select a medical product for purchase; and
transmitting the interactive display to a remote computer of the customer.

### Claim 6 (depends on 5)

The method of claim 5, wherein the interactive display comprises HTML code.

### Claim 7 (depends on 1)

The method of claim 1, wherein the step of identifying a recalled product comprises parsing at least one web service recall notification.

### Claim 8 (depends on 1)

The method of claim 1, wherein the step of identifying a recalled product comprises parsing at least one text-based alert message.

### Claim 9 (depends on 1)

The method of claim 1, further comprising:
receiving unstructured recall event data payloads;
applying a data grammar dictionary to parse data attributes and values from unstructured recall event data payloads to identify specific products identified as subject to a recall in the unstructured recall event data payloads; and
storing on at least one non-transitory computer readable storage devices corresponding data identifying the specific products identified as subject to a recall in the unstructured recall event data payloads.

### Claim 10 (depends on 9)

The method of claim 9, wherein applying a data grammar dictionary to parse data attributes and values from unstructured recall event data payloads comprises applying a data grammar dictionary to parse manufacturer name and product identifiers from unstructured recall event data payloads to identify specific products identified as subject to a recall in the unstructured recall event data payloads.

### Claim 11 (depends on 9)

The method of claim 9, wherein applying a data grammar dictionary to parse data attributes and values from unstructured recall event data payloads includes determining whether a value of a first character-based data field of a first data set and a second character-based data field of a second data set are substantially similar, wherein each of the first and second character-based data fields comprise a plurality of characters, the method further comprising:
determining a first distance value between the first and second character-based data fields by:
comparing each character of the first character-based data field to each character of the second character-based data field and storing a set of matching characters in a first array on one or more non-transitory computer readable storage devices;
comparing each character of the second character-based data field to each character of the first character-based data field and storing a set of matching characters in a second array on one or more non-transitory computer readable storage devices,
providing the first distance value based on a length of the first array and a count of transposed characters between the first and second arrays;
determining a second distance value between the first and second character-based data fields based on the first distance value and a comparison of a prefix of each of the first and second character-based data fields;
determining a third distance value based on the second distance value and a ratio a length of the prefix to a length of the longer of the first and second character-based data fields;
determining whether the value of the first and second character-based data fields are substantially similar based on the third distance value.

### Claim 12 (depends on 11)

The method of claim 11, further comprising storing on at least one non-transitory computer readable storage device data relating to the first character-based data field, wherein the data is stored relationally to the second character-based data field if it is determined that the value of the first and second character-based data fields are substantially similar based on the third distance value.

### Claim 13 (depends on 9)

The method of claim 9, wherein applying a data grammar dictionary to parse data attributes and values from unstructured recall event data payloads comprises applying fuzzy matching logic using distance algorithms to increase match hit rates on look-up values based on acceptable distance match thresholds to identify specific products identified as subject to a recall in the unstructured recall event data payloads.

### Claim 14 (depends on 13)

The method of claim 13, wherein applying a data grammar dictionary to parse data attributes and values from unstructured recall event data payloads comprises applying a data grammar dictionary to parse manufacturer name and product identifiers from unstructured recall event data payloads to identify specific products identified as subject to a recall in the unstructured recall event data payloads.

### Claim 15 (depends on 13)

The method of claim 13, wherein the using distance algorithms to increase match hit rates on look-up values comprises ignoring a predefined set of characters.

### Claim 16 (depends on 13)

The method of claim 13, further comprising storing on at least one non-transitory computer readable storage device, names of companies offering the one or more potential substitute products, wherein the using distance algorithms to increase match hit rates on look-up values comprises applying a higher-cost weight to a prefix of a string of an unstructured recall event data payload based on spelling variants of the stored names of companies.

### Claim 17 (depends on 16)

The method of claim 16, wherein the higher-cost weight is based on a ratio between the prefix and a predefined maximum string length.
