# US 12,603,177 B2 · Interactive conversational symptom checker

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

- Number: US 12,603,177 B2
- Document ID: US12603177B2
- Status: Granted
- Kind: B2
- Application number: 18/100,645
- Filed: 2023-01-24
- Published: 2023-08-03
- Granted: 2026-04-14
- Earliest claimed: 2022-01-31
- Assignees: Walmart Apollo, LLC
- Applicants: Walmart Apollo, LLC
- Inventors: Phani Ram Sayapaneni; Navin Naidu; Venkata Naga Vamsi Krishna Nandanavanam; Shankara Bhargava
- Web page: https://patentgrep.com/patent/US12603177B2

## CPC

- G16H 50/20: for computer-aided diagnosis, e.g. based on medical expert systems
- G06F 40/20: Natural language analysis (semantic analysis of natural language G06F40/30)
- G06F 40/279: Recognition of textual entities
- G06F 40/40: Processing or translation of natural language (natural language analysis G06F40/20; semantic analysis G06F40/30)
- G16H 10/20: for electronic clinical trials or questionnaires
- G16H 40/20: for the management or administration of healthcare resources or facilities, e.g. managing hospital staff or surgery rooms
- G16H 80/00: ICT specially adapted for facilitating communication between medical practitioners or patients, e.g. for collaborative diagnosis, therapy or health monitoring
- G16H: HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A system including one or more processors and one or more non-transitory computer-readable media storing computing instructions that, when executed on the one or more processors, cause the one or more processors to perform: receiving text from a user; generating, from an undirected graph, a subgraph mapping the one or more symptoms to connected diseases; calculating a respective posterior probability for each of the connected diseases using the subgraph and evidence to formulate a hypothesis diagnosis; iteratively: determining one or more questions to send the user based on a set of top symptoms for the hypothesis diagnosis; sending the one or more questions to the user; receiving one or more responses from the user; and updating the hypothesis diagnosis; and sending a recommendation to the user to schedule an appointment with a provider for the hypothesis diagnosis. Other embodiments are disclosed.

## Claims

### Claim 1

A system comprising:
one or more processors; and
one or more non-transitory computer-readable media storing computing instructions that, when executed on the one or more processors, cause the one or more processors to perform:
fine-tuning a clinical BERT model, using a cross-entropy loss function, to recognize symptom entities related to symptoms;
receiving text-based evidence from a user, wherein the text-based evidence comprises one or more of the symptoms;
translating the text-based evidence received from the user into one or more codes for the one or more of the symptoms, wherein the translating comprises:
recognizing one or more of the symptom entities related to the one or more of the symptoms in the text-based evidence, using the fine-tuned, clinical BERT model; and
mapping the one or more of the symptom entities to the one or more codes;
generating, from an undirected graph, a subgraph mapping the one or more of the symptoms to connected diseases, wherein nodes of the undirected graph comprise diseases and symptoms;
receiving a history of conversation between the user and a question generator;
calculating (a) a respective posterior probability for each of the connected diseases, using the subgraph, and (b) a hypothesis diagnosis based on the text-based evidence; and
iteratively and until a predetermined number of iterations are conducted:
determining one or more questions to send to the user based on a set of top symptoms for the hypothesis diagnosis;
sending the one or more questions to the user;
receiving one or more responses from the user in response to the one or more questions; and
updating the hypothesis diagnosis based on the one or more responses and on the history of conversation between the user and the question generator; and
sending a recommendation to the user to schedule an appointment with a provider for the updated hypothesis diagnosis, as updated.

### Claim 2 (depends on 1)

The system of claim 1, wherein mapping the one or more of the symptom entities to the one or more codes further comprises:
measuring a Damerau-Levenshtein distance between two strings, wherein the two strings comprise one of the one or more of the symptom entities and a standard medical concept of a collection of standardized medical concepts;
selecting one of the collection of standardized medical concepts based on the Damerau-Levenshtein distance between the two strings; and
retrieving a code for the one of the collection of standardized medical concepts.

### Claim 3 (depends on 1)

The system of claim 1, wherein mapping the one or more of the symptom entities to the one or more codes further comprises:
embedding a first vector for one of the one or more of the symptom entities;
embedding a second vector for a standard medical concept of a collection of standardized medical concepts;
calculating a distance between the first vector and the second vector;
selecting one of the collection of standardized medical concepts based on the distance; and
retrieving a code for the one of the collection of standardized medical concepts.

### Claim 4 (depends on 1)

The system of claim 1, wherein generating the subgraph further comprises:
building a minimum spanning path across the one or more of the symptoms in the undirected graph; and
identifying the connected diseases based on relationships between the diseases and the symptoms in the undirected graph.

### Claim 5 (depends on 1)

The system of claim 1, wherein determining the one or more questions to send to the user based on the set of top symptoms for the hypothesis diagnosis further comprises:
finding first symptoms of the one or more of the symptoms within the subgraph that are associated with the hypothesis diagnosis;
ranking the first symptoms based on one or more of the respective posterior probabilities to determine the set of top symptoms; and
selecting the one or more questions based on the set of top symptoms.

### Claim 6 (depends on 1)

The system of claim 1, wherein updating the hypothesis diagnosis further comprises:
recalculating the respective posterior probability for each of the connected diseases using the subgraph, as updated, by the one or more responses.

### Claim 7 (depends on 6)

The system of claim 6, wherein updating the hypothesis diagnosis further comprises:
selecting one of the connected diseases as the hypothesis diagnosis based on one or more of the respective posterior probabilities.

### Claim 8

A method being implemented via execution of computing instructions configured to run on one or more processors and stored at one or more non-transitory computer-readable media, the method comprising:
fine-tuning a clinical BERT model, using a cross-entropy loss function, to recognize symptom entities related to symptoms;
receiving text-based evidence from a user, wherein the text-based evidence comprises one or more of the symptoms;
translating the text-based evidence received from the user into one or more codes for the one or more of the symptoms, wherein the translating comprises:
recognizing one or more of the symptom entities related to the one or more of the symptoms in the text-based evidence, using the fine-tuned, clinical BERT model; and
mapping the one or more of the symptom entities to the one or more codes;
generating, from an undirected graph, a subgraph mapping the one or more of the symptoms to connected diseases, wherein nodes of the undirected graph comprise diseases and symptoms;
receiving a history of conversation between the user and a question generator;
calculating (a) a respective posterior probability for each of the connected diseases, using the subgraph, and (b) a hypothesis diagnosis based on the text-based evidence; and
iteratively and until a predetermined number of iterations are conducted:
determining one or more questions to send to the user based on a set of top symptoms for the hypothesis diagnosis;
sending the one or more questions to the user;
receiving one or more responses from the user in response to the one or more questions; and
updating the hypothesis diagnosis based on the one or more responses and on the history of conversation between the user and the question generator; and
sending a recommendation to the user to schedule an appointment with a provider for the updated hypothesis diagnosis.

### Claim 9 (depends on 8)

The method of claim 8, wherein mapping the one or more of the symptom entities to the one or more codes further comprises:
measuring a Damerau-Levenshtein distance between two strings, wherein the two strings comprise one of the one or more of the symptom entities and a standard medical concept of a collection of standardized medical concepts;
selecting one of the collection of standardized medical concepts based on the Damerau-Levenshtein distance between the two strings; and
retrieving a code for the one of the collection of standardized medical concepts.

### Claim 10 (depends on 8)

The method of claim 8, wherein mapping the one or more of the symptom entities to the one or more codes further comprises:
embedding a first vector for one of the one or more of the symptom entities;
embedding a second vector for a standard medical concept of a collection of standardized medical concepts;
calculating a distance between the first vector and the second vector;
selecting one of the collection of standardized medical concepts based on the distance; and retrieving a code for the one of the collection of standardized medical concepts.

### Claim 11 (depends on 8)

The method of claim 8, wherein generating the subgraph further comprises:
building a minimum spanning path across the one or more of the symptoms in the undirected graph; and
identifying the connected diseases based on relationships between the diseases and the symptoms in the undirected graph.

### Claim 12 (depends on 8)

The method of claim 8, wherein determining the one or more questions to send the user based on the set of top symptoms for the hypothesis diagnosis further comprises:
finding first symptoms of the one or more of the symptoms within the subgraph that are associated with the hypothesis diagnosis;
ranking the first symptoms based on one or more of the respective posterior probabilities to determine the set of top symptoms; and
selecting the one or more questions based on the set of top symptoms.

### Claim 13 (depends on 8)

The method of claim 8, wherein updating the hypothesis diagnosis further comprises:
recalculating the respective posterior probability for each of the connected diseases using the subgraph, as updated, by the one or more responses.

### Claim 14 (depends on 13)

The method of claim 13, wherein updating the hypothesis diagnosis further comprises:
selecting one of the connected diseases as the hypothesis diagnosis based on one or more of the respective posterior probabilities.
