IP Library Granted Patent US 11,610,690
Granted Patent B2
US 11,610,690 · App. 17/374,650 · Granted Mar 21, 2023

Machine reasoning as a service

Inventors: Scott Josephson (Raleigh, NC); Gary Shorter (Cary, NC)
Assignee: IQVIA Inc.
G16H50/70G06F16/9024G06F16/90344G06F40/30G06N5/02G06N5/04
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,610,690
App. No.
17/374,650
Granted
Mar 21, 2023
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for responding to a query. In some implementations, a computer obtains a query. The computer determines a meaning for each term in the query. The computer determines user data for the user that submitted the query. The computer identifies one or more ontologies based on the meanings for at least some of the terms. The computer identifies a knowledge graph based on the identified ontologies and the user data. The computer generates a response to the query by traversing a path of the identified knowledge graph to identify items in the knowledge graph based on the determined meaning for each of the terms. The computer generates path data that represents the path taken by the computer through the identified knowledge graph. The computer provides the generated response and the path data to the client device.

Claims (63)

1. A computer-implemented method performed by one or more computers comprising:

obtaining, by the one or more computers, a query from a client device associated with a user, the query comprising a plurality of terms;

determining, by the one or more computers, a meaning for each term or group of terms in the plurality of terms, wherein the determining comprises:

parsing, by the one or more computers, the plurality of terms into separate terms; and

identifying, using each of the separate terms and by the one or more computers, (i) entities reflective of clinical terms, (ii) relationships reflective of clinical actions based on the entities, and (iii) one or more ontologies based on the meanings for at least some of the terms in the plurality of terms;

determining, by the one or more computers, user data for the user that submitted the query;

identifying, by the one or more computers, a knowledge graph based on the one or more identified ontologies and the user data;

generating, by the one or more computers, a response to the query by traversing a particular path of the identified knowledge graph to identify one or more items in the knowledge graph based on the determined meaning for each of the terms or group of terms;

generating, by the one or more computers, path data that represents the particular path taken by the one or more computers through the identified knowledge graph; and

providing, by the one or more computers, the generated response that comprises the one or more identified items and the path data to the client device for output.

2. The computer-implemented method of claim 1 , wherein the determined user data comprises one or more of a location of the user or a job position of the user.

3. The computer-implemented method of claim 1 , wherein identifying the one or more ontologies based on at least some of the meanings for each of the terms in the plurality of terms comprises:

storing, by the one or more computers, a plurality of ontologies in an ontology knowledge base, each ontology in the plurality of ontologies built using historical medical data that comprises at least one of previous clinical trial data, clinical journals, biology data, life sciences data, genetic data, disease data, and pharmacological data, and the historical medical data is stored in each of the ontologies in a structured manner;

retrieving, by the one or more computers, the one or more ontologies based on the user data; and

selecting, by the one or more computers, a subset of ontologies from the one or more retrieved ontologies based on a match between historical data in the subset of ontologies to at some of the meanings for each of the terms in the plurality of terms.

4. The computer-implemented method of claim 3 , wherein identifying the knowledge graph based on the one or more identified ontologies and the user data further comprises:

identifying, by the one or more computers, the knowledge graph from a plurality of stored knowledge graphs, each stored knowledge graph of the plurality of stored knowledge graphs connecting entities and corresponding relationships;

wherein identifying the knowledge graph from the plurality of stored knowledge graphs further comprises:

identifying, by the one or more computers, the knowledge graph that matches to the subset of the ontologies; and

providing, by the one or more computers, the identified knowledge graph to an inference engine for determining the path data.

5. The computer-implemented method of claim 1 , wherein generating the response to the query by traversing the particular path of the identified knowledge graph to identify one or more items based on the determined meaning for each term further comprises generating, by the one or more computers, the response to the query from the client device by (i) traversing the particular path of the identified knowledge graph based on the determined meaning for each term and (ii) accessing the one or more items located at an end of the particular path.

6. The computer-implemented method of claim 5 , wherein generating the path data that represents the particular path taken by the one or more computers through the identified knowledge graph further comprises tracking, by the one or more computers, the particular path taken by the one or more computers through the identified knowledge graph that comprises matching the meaning for each term in the plurality of terms to entities and relationships in the identified knowledge graph.

7. The computer-implemented method of claim 6 , wherein providing (i) the generated response to the query and (i) the particular path tracked and taken by the one or more computers through the identified knowledge graph to the client device further comprises transmitting, by the one or more computers, the response to the client device over a network.

8. The computer-implemented method of claim 1 , further comprising:

in response to providing the generated response to the query to the client device for output, receiving, by the one or more computers, an update from the client device that comprises one or more modifications to the one or more identified ontologies and to the identified knowledge graph; and

modifying, by the one or more computers, the one or more identified ontologies or the identified knowledge graph based on the update that comprises the one or more modifications.

9. A system comprising:

one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising:

obtaining, by the one or more computers, a query from a client device associated with a user, the query comprising a plurality of terms;

determining, by the one or more computers, a meaning for each term or group of terms in the plurality of terms, wherein the determining comprises:

parsing, by the one or more computers, the plurality of terms into separate terms; and

identifying, using each of the separate terms and by the one or more computers, (i) entities reflective of clinical terms, (ii) relationships reflective of clinical actions based on the entities, and (iii) one or more ontologies based on the meanings for at least some of the terms in the plurality of terms;

determining, by the one or more computers, user data for the user that submitted the query;

identifying, by the one or more computers, a knowledge graph based on the one or more identified ontologies and the user data;

generating, by the one or more computers, a response to the query by traversing a particular path of the identified knowledge graph to identify one or more items in the knowledge graph based on the determined meaning for each of the terms or group of terms;

generating, by the one or more computers, path data that represents the particular path taken by the one or more computers through the identified knowledge graph; and

providing, by the one or more computers, the generated response that comprises the one or more identified items and the path data to the client device for output.

10. The system of claim 9 , wherein the determined user data comprises one or more of a location of the user or a job position of the user.

11. The system of claim 9 , wherein identifying the one or more ontologies based on at least some of the meanings for each of the terms in the plurality of terms comprises:

storing, by the one or more computers, a plurality of ontologies in an ontology knowledge base, each ontology in the plurality of ontologies built using historical medical data that comprises at least one of previous clinical trial data, clinical journals, biology data, life sciences data, genetic data, disease data, and pharmacological data, and the historical medical data is stored in each of the ontologies in a structured manner;

retrieving, by the one or more computers, the one or more ontologies based on the user data; and

selecting, by the one or more computers, a subset of ontologies from the one or more retrieved ontologies based on a match between historical data in the subset of ontologies to at some of the meanings for each of the terms in the plurality of terms.

12. The system of claim 11 , wherein identifying the knowledge graph based on the one or more identified ontologies and the user data further comprises:

identifying, by one or more computers, the knowledge graph from a plurality of stored knowledge graphs, each stored knowledge graph of the plurality of stored knowledge graphs connecting entities and corresponding relationships;

wherein identifying the knowledge graph from the plurality of stored knowledge graphs further comprises:

identifying, by the one or more computers, the knowledge graph that matches to the subset of the ontologies; and

providing, by the one or more computers, the identified knowledge graph to an inference engine for determining the path data.

13. The system of claim 9 , wherein generating the response to the query by traversing the particular path of the identified knowledge graph to identify one or more items based on the determined meaning for each term further comprises generating, by the one or more computers, the response to the query from the client device by (i) traversing the particular path of the identified knowledge graph based on the determined meaning for each term and (ii) accessing the one or more items located at an end of the particular path.

14. The system of claim 13 , wherein generating the path data that represents the particular path taken by the one or more computers through the identified knowledge graph further comprises tracking, by the one or more computers, the particular path taken by the one or more computers through the identified knowledge graph that comprises matching the meaning for each term in the plurality of terms to entities and relationships in the identified knowledge graph.

15. The system of claim 14 , wherein providing (i) the generated response to the query and (i) the particular path tracked and taken by the one or more computers through the identified knowledge graph to the client device further comprises transmitting, by the one or more computers, the response to the client device over a network.

16. The system of claim 9 , further comprising:

in response to providing the generated response to the query to the client device for output, receiving, by the one or more computers, an update from the client device that comprises one or more modifications to the one or more identified ontologies and to the identified knowledge graph; and

modifying, by the one or more computers, the one or more identified ontologies or the identified knowledge graph based on the update that comprises the one or more modifications.

17. A non-transitory computer-readable medium storing software comprising instructions executable by one or more computers which, upon such execution, cause the one or more computers to perform operations comprising:

obtaining, by the one or more computers, a query from a client device associated with a user, the query comprising a plurality of terms;

determining, by the one or more computers, a meaning for each term or group of terms in the plurality of terms, wherein the determining comprises:

parsing, by the one or more computers, the plurality of terms into separate terms; and

identifying, using each of the separate terms and by the one or more computers, (i) entities reflective of clinical terms, (ii) relationships reflective of clinical actions based on the entities, and (iii) one or more ontologies based on the meanings for at least some of the terms in the plurality of terms;

determining, by the one or more computers, user data for the user that submitted the query;

identifying, by the one or more computers, a knowledge graph based on the one or more identified ontologies and the user data;

generating, by the one or more computers, a response to the query by traversing a particular path of the identified knowledge graph to identify one or more items in the knowledge graph based on the determined meaning for each of the terms or group of terms;

generating, by the one or more computers, path data that represents the particular path taken by the one or more computers through the identified knowledge graph; and

providing, by the one or more computers, the generated response that comprises the one or more identified items and the path data to the client device for output.

Assignments (7)
SECURITY INTEREST Recorded Mar 12, 2026
From: IMS SOFTWARE SERVICES LTD.; IQVIA INC.; IQVIA RDS INC.; RULES-BASED MEDICINE, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 075047/0061 →
CORRECTIVE ASSIGNMENT TO CORRECT THE CONVEYING PARTIES INADVERTENTLY NOT INCLUDED IN FILING PREVIOUSLY RECORDED AT REEL: 065709 FRAME: 618. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT. Recorded Dec 6, 2023
From: IQVIA INC.; IQVIA RDS INC.; IMS SOFTWARE SERVICES LTD.; Q SQUARED SOLUTIONS HOLDINGS LLC
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION
Reel/Frame 065790/0781 →
SECURITY INTEREST Recorded Nov 29, 2023
From: IQVIA INC.
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION
Reel/Frame 065709/0618 →
SECURITY INTEREST Recorded Nov 29, 2023
From: IQVIA INC.; IQVIA RDS INC.; IMS SOFTWARE SERVICES LTD.; Q SQUARED SOLUTIONS HOLDINGS LLC
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION
Reel/Frame 065710/0253 →
SECURITY INTEREST Recorded May 24, 2023
From: IQVIA INC.; IQVIA RDS INC.; IMS SOFTWARE SERVICES LTD.; Q SQUARED SOLUTIONS HOLDINGS LLC
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION
Reel/Frame 063745/0279 →
SECURITY INTEREST Recorded Apr 5, 2022
From: IQVIA INC.; IMS SOFTWARE SERVICES, LTD.; Q SQUARED SOLUTIONS HOLDINGS LLC
To: BANK OF AMERICA, N.A.
Reel/Frame 059503/0540 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 17, 2021
From: JOSEPHSON, SCOTT; SHORTER, GARY
To: IQVIA INC.
Reel/Frame 056891/0890 →