Exemplary embodiments of the invention will be described with reference to the accompanying drawings. Like items in the drawings are shown with the same reference numbers. Embodiments of the invention are illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings.
In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present invention and to enable any person skilled in the art to make and use the invention. In some instances, well-known features have not been described in detail to avoid unnecessarily obscuring the present invention. Various modifications to the disclosed embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the present invention. Thus, the present invention is not intended to be limited to the embodiments shown, but is to be accorded the widest scope consistent with the principles and features disclosed herein.
Various aspects and features of example embodiments of the invention are described in more detail hereinafter in the following sections: (1) Functional Overview; (2) Medical Information; (3) Implementation; (4) Variations.
One or more embodiments of the invention relate to a computer software medical diagnosis system with which users can interact to obtain an ordered list of possible diagnoses for their “constellation of symptoms.” As used herein, the term, “Constellation of Symptoms” refers to the set of related symptoms that the user is currently experiencing. The diagnosis system works by querying the user for a constellation of symptoms and then presenting a list of possible diagnoses for those symptoms ordered according to their likelihood of being the cause of those symptoms.
In one or more embodiments of the invention, the interaction between the user and the diagnosis program emulates a physician-patient relationship, but does not involve a live physician. Instead, the diagnosis software relies on a database of medical information. However, those skilled in the art will appreciate that the user could in fact be a medical professional operating the diagnosis program in the process of diagnosing a patient.
In one or more embodiments of the invention, the user interacts with the diagnosis system over the Internet. The diagnosis system itself runs on a server attached to the Internet, and the user interacts with the server over the World Wide Web through his or her web browser. Those skilled in the art will appreciate that this interaction may take other forms, including a user interacting with the diagnosis system through input/output devices connected directly to the diagnosis system, a user interacting with the diagnosis system on a hand-held computer, and the like. The invention is not limited to a particular medium of interaction.
The diagnosis program just described is now described with reference to a flow diagram 200 of
In one or more embodiments of the invention, the medical information used by the diagnosis system takes the form of a list of possible symptoms, a list of possible diagnoses, and mappings of symptom constellations to diagnosis codes. The diagnoses are each assigned a unique numerical code for easy reference. The numbers may be standard ICD9 codes, MeSH codes, proprietary codes, or the like. The invention is not limited to any type of diagnosis code. The list of diagnosis codes for each symptom constellation is ordered according to the likelihood of the disease explaining the present symptoms.
In one or more embodiments, the diagnosis system may be implemented on virtually any type of computer regardless of the platform being used.
In one or more embodiments, the diagnoses are stored in-memory in a hashtable, keyed on the diagnosis code (710 in
In one or more embodiments, the diagnosis symptoms are each assigned a unique integer id starting from 0. The symptoms and associated ids are stored in-memory in a hashtable, keyed on the symptom name (720 in
In one or more embodiments, unique symptom constellation ids are represented as bitmaps. The id for each constellation is obtained by setting to 1 the bits represented by the symptom ids for all symptoms that make up the constellation and to 0 all other bits. With reference to
In one or more embodiments, the mappings of symptom constellation to diagnosis codes are stored in-memory in a hashtable keyed on the decimal representation of the symptom constellation unique id (730 in
In one or more embodiments, each constellation of symptoms is associated with two or more separate ordered lists of diagnoses, in order to distinguish between common and rare etiologies.
This application claims the benefit of U.S. Provisional Application No. 60/829,253 filed Oct. 12, 2006.
Number | Date | Country | |
---|---|---|---|
60829253 | Oct 2006 | US |