Personalized health records with associative relationships

Information

  • Patent Grant
  • 8380530
  • Patent Number
    8,380,530
  • Date Filed
    Monday, February 4, 2008
    16 years ago
  • Date Issued
    Tuesday, February 19, 2013
    11 years ago
Abstract
A method for processing a personal health record (PHR) which includes a plurality of events each having a time stamp. The method includes creating a plurality of event-concept pairs by mapping each of the plurality of events in the PHR to a corresponding health concept, assigning to each of the plurality of event-concept pairs the time stamp of the event corresponding to the event-concept pair, identifying associations among the plurality of event-concept pairs, identifying an associative subset of event-concept pairs among the plurality of event-concept pairs, and linking a plurality of members of the associative subset of event-concept pairs to form a thread, in which the thread presents a relationship among the plurality of members of the associative subset of event-concept pairs.
Description
FIELD OF THE INVENTION
Background of the Invention

The breadth of medical knowledge has grown to a level that even health professionals can hardly remember and use all information relevant to their specialty. In addition, this information is growing so quickly that any individual will have difficulty staying up to date. For example, health issues are addressed in ever-increasing tens of thousands of online sites, with potentially millions of pages of health related information. Also, a significant portion of medical information is stored in many searchable databases available to health professionals.


A different type of medical information exists in the clinical data collected as personal health records of individuals. Each personal record may include multiple items of different types including conditions, symptoms, diagnoses, test results, medications, allergies, and procedures. These items may have been reported by the individuals themselves, based on their medical claims, or collected by health professionals, such as physicians, or nurses, in the physician's offices or in hospitals. The patients and the health professionals need to utilize the generally available medical knowledge, such as relationships among these items, in order to monitor and manage a patient's diagnosis over time.


SUMMARY OF THE INVENTION

In general, in one aspect, the invention features a method for processing a personal health record (PHR) including a plurality of events each having a time stamp. The method involves: creating a plurality of event-concept pairs by mapping each of the plurality of events in the PHR to a corresponding health concept; assigning to each of the plurality of event-concept pairs the time stamp of the event corresponding to the event-concept pair; identifying associations among the plurality of event-concept pairs; identifying an associative subset of event-concept pairs among the plurality of event-concept pairs; and linking a plurality of members of the associative subset of event-concept pairs to form a thread, wherein the thread presents a relationship among the plurality of members of the associative subset of event-concept pairs.


Other embodiments include one or more of the following features. Creating a plurality of event-concept pairs includes referencing a database. Identifying associations among the plurality of event-concept pairs includes referencing a database. The database stores a plurality of health concepts and a plurality of associations among the plurality of health concepts. Identifying an associative subset includes identifying a specific health concept and identifying a subset of the plurality of event-concept pairs wherein each member of the associative subset is at least associated with the specific health concept or associated with another event-concept pair in the associative subset. Identifying a specific health concept includes receiving an identification of the specific health concept from an external source. Linking members of the associative subset includes forming one or more sub-threads by selecting each member of the plurality of the members of the associative subset and linking the selected member to another member of the plurality of the members of the associative subset, if the selected member is associated with the another member, and further linking the one or more sub-threads thus formed chronologically to form the thread. The method also involves graphically presenting the thread to a user and finding a desired event-concept pair in the PHR, the desired event-concept pair satisfying an event-condition. The event-condition is to be associated with a specific health concept.


In general, in another aspect, the invention features another method for processing a plurality of personal health records (PHRs), each personal health record (PHR) of the plurality of PHRs including a plurality of events each having a time stamp. The method involves: processing each PHR of the plurality of PHRs, including: creating a plurality of event-concept pairs by mapping each of the plurality of events in the corresponding PHR to a corresponding health concept, assigning to each of the plurality of event-concept pairs the time stamp of the event corresponding to the event-concept pair, identifying associations among the plurality of event-concept pairs, identifying an associative subset of event-concept pairs among the plurality of event-concept pairs, and identifying a desired event-concept pair in the associative subset; and finding an aggregate result among the plurality of desired even-concept pairs corresponding to the plurality of PHRs.


Other embodiments include one or more of the following features. Identifying a desired event-concept pair in the associative subset includes identifying a member of the associative subset belonging to a specific heath-concept category. Processing each PHR of the plurality of PHRs further includes identifying a second event-concept pair associated with the desired event-concept pair, and finding a relationship corresponding to the desired event-concept pair and the second event-concept pair, and wherein finding an aggregate result includes aggregating the plurality of relationships corresponding to the plurality of PHRs. The relationship is a difference between the time stamp of the desired event-concept and the time stamp of the second event concept. The relationship is to determine whether the second event-concept satisfies a medical criteria. The aggregate result is an average of a value corresponding to each desired event-concept or the aggregate result is one of the total number of the desired event-concepts or the relative number of the desired event-concepts.


In general, in another aspect, the invention features a computer program product, residing on a computer-readable medium, for use in processing a personal health record (PHR) including a plurality of events each having a time stamp. The computer program product includes instructions for causing a computer to: create a plurality of event-concept pairs by mapping each of the plurality of events in the PHR to a corresponding health concept; assign to each of the plurality of event-concept pairs the time stamp of the event corresponding to the event-concept pair; identify associations among the plurality of event-concept pairs; identify an associative subset of event-concept pairs among the plurality of event-concept pairs; and link a plurality of members of the associative subset of event-concept pairs to form a thread, wherein the thread presents a relationship among the plurality of members of the associative subset of event-concept pairs.


In general, in still aspect, the features another computer program product, residing on a computer-readable medium, for use in processing a plurality of personal health records (PHRs), each personal health record (PHR) of the plurality of PHRs including a plurality of events each having a time stamp. The computer program product includes instructions for causing a computer to: process each PHR of the plurality of PHRs, including: create a plurality of event-concept pairs by mapping each of the plurality of events in the corresponding PHR to a corresponding health concept, assign to each of the plurality of event-concept pairs the time stamp of the event corresponding to the event-concept pair, identify associations among the plurality of event-concept pairs, identify an associative subset of event-concept pairs among the plurality of event-concept pairs, and identify a desired event-concept pair in the associative subset; and find an aggregate result among the plurality of desired even-concept pairs corresponding to the plurality of PHRs.


In general, in yet another aspect, the invention features a system for processing a personal health record (PHR) including a plurality of events each having a time stamp. The system includes: a mapper for creating a plurality of event-concept pairs by mapping each event of the plurality of events in the PHR to a corresponding health concept, for assigning to each of the plurality of event-concept pairs the time stamp of the event of that event-concept pair, and for identifying associations among the plurality of event-concept pairs; and a threader for identifying an associative subset of event-concept pairs among the plurality of event-concept pairs, and for linking a plurality of members of the associative subset of event-concept pairs to form a thread, wherein the thread presents a relationship among the plurality of members of the associative subset of event-concept pairs.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a block diagram of an exemplary system which implements the threading system.



FIG. 2 shows a list of a small subset of health concepts.



FIG. 3 shows an exemplary set of association types.



FIG. 4 shows a flow chart for generating an associative subset from the events in a PHR.



FIG. 5 illustrates a “post visit summary” panel showing an associative subset.



FIG. 6 shows a thread associated with a header concept.



FIG. 7 shows a flow chart for generating a thread from an associative subset



FIG. 8 shows a user interface through which the user can view the threads in a PHR.



FIG. 9 shows a summary flow chart of the overall steps for generating a



FIGS. 10A and 10B show flow charts for generating aggregate results.



FIG. 11 illustrates an exemplary computer system that implements the threading system





DETAILED DESCRIPTION

Disclosed herein is a system called a threading system, and the associated method, which applies the latest medical knowledge to process health records of individuals. The threading system uses some of the medical information stored in a structured database to organize each individual's health record into subsets of clinically related events. The threading system presents each subset as a thread of events that are sorted by time and also connected based on their clinical relationship. Patients or their health providers can benefit from such system by being able to view the health record in an organized way—for example, to see the thread of all events relevant to a specific condition. The threading system further enables a user to search an individual's health record for a specific event or for all events that are clinically related to a specific medical concept.


The threading system can also find qualitative or quantitative relations among events in each health record, and aggregate those relations for multiple individuals (for instance, all patients within a population group). Medical researchers can use these aggregate results to derive clinical relationships, such as relationships between medications and side effects. Threading is different from other known techniques in the industry, like the “episodic grouping” technique. Episodic grouping associates items based solely on the episodes of care. Threading, on the other hand, groups the events based on the clinical reality of the patient over time and is independent of the number of times, if any, that the patient encounters the health care system.



FIG. 1 is a block diagram of an exemplary system 100 which implements threading for personal health records. System 100 includes a threading system 110, an associative relations database (ARDB) 112, a personal health record database (PHRDB) 120, a user client 130, and intercommunication channels 140, 150, and 160.


Threading system 110 contains various modules including a mapper 114, a threader 116, an aggregator 118, and a searcher 119. ARDB 112 is a database which stores the medical information and PHRDB 120 is a database which stores personal health records. These databases are for example created and populated by health professionals. Mapper 114, threader 116, aggregator 118, and searcher 119 are implemented as software modules or programs running on a computer such as the one shown in FIG. 11. Mapper 114 maps some of the events in each personal health record (PHR) to some of the medical concepts in the ARDB. Threader 116 uses the mapped events to generate for each PHR the threads of clinically related events. Aggregator 118 aggregates results from multiple PHRs to derive information used for example by the medical researchers. Searcher 119 searches within a PHR to find a specific event or events that are medically related to a specific medical concept. The ARDB, the mapper, the threader, the aggregator, and the searcher are discussed in greater detail below.


PHRDB 120 may reside in a database on a database server. User client 130 is a system, for example, implemented by a computer, through which a user interacts with the threading system. The user client can access the information provided by the threading system via a web browser. Alternatively, the user client can access the threading system via a threading interface running as a local program on the user client. Through user client 130 the user sends the threading system requests for analyzing a PHR or finding a thread and receives the output, for example a thread or an aggregate result.


Threading system 110 uses some of the medical knowledge available in ARDB database 112. ARDB 112 includes the medical items commonly found in the health records in the form of health concepts. Health concepts codify and unify the conceptual idea of each medical item, regardless of how that concept may be referred to in various systems—such as electronic records or billing systems—and regardless of which terms might be used to describe that concept—such as high blood pressure used by laypeople or hypertension used by health professionals.


Table 200 in FIG. 2 shows an exemplary list of a small subset of health concepts. Each row in FIG. 2 represents a health concept. Each entry in the first column is a clinical term. The second column includes a commonly used lay term corresponding to each clinical term. The third column shows the single concept unique identifier (CUI) for the listed clinical term. Each CUI is the code representing the specific idea or concept in health care which corresponds to the health concept. CUIs create a standard for referencing and using medical terms and enable different medical applications to communicate and work with each other. For example, as shown in the last row of Table 200, the condition commonly known as Sugar Disease is clinically termed Diabetes Mellitus and has the CUI value 00011849. While each health concept has a unique CUI, it may be associated with more than one lay term.


The ARDB organizes the health concepts into different categories. Examples of categories for health concepts include medical tests, diseases, symptoms, diagnoses, medications, and treatments. Each health concept can belong to one or more health concept categories. For instance, the health concept “Adrenalin-Test” in FIG. 2 belongs to the medical test category, and the health concept “Diabetes Mellitus” belongs to the disease category.


The ARDB also uses the latest medical knowledge to define different types of associations among the stored health concepts. One type of association between two health concepts is a taxonomic or parent-child association. A parent-child association relates two health concepts within the same category—e.g. two diseases or two medications—and indicates that one of the two concepts, the child, is an instance of the other concept, the parent. In other words, the parent represents a generic set, and the child is one specific member of that generic set. For example, heart disease is a member of the generic set of diseases called the disorder of blood vessels of thorax. So the health concept “Heart Disease” is a child of the health concept “Disorder of Blood Vessels of Thorax.” On the other hand, heart disease itself represents a set of diseases which for example includes acute heart disease, and acute/subacute carditis. Thus the concept “Heart Disease” itself is the parent of the health concepts “Acute Heart Disease” and “Acute/subacute Carditis.” In general a health concept can have more than one parent or more than one child. Taxonomic associations also exist between concepts in categories other than diseases. For instance, two different medications, or two different treatments can be associated by a parent-child association.


In addition to taxonomic associations, the ARDB defines other types of associations between health concepts. Unlike taxonomic associations, some associations associate two health concepts that belong to two different categories. As an example, the ARDB associates a disease with a symptom of that disease, or a treatment with a medication used in that treatment.


Table 300 in FIG. 3 shows an exemplary list of thirteen types of associations defined by the ARDB. Each association type has an identification (ID) listed in the first column, and a name representing the association, listed in the second column. For each association type, the third column lists the category pairs that can be associated by that association type. For example, the taxonomic association type is shown in the first row, with an ID equal to 1. As shown in the second and third columns, the taxonomic association is named an “Is_A” type (the child “is a” parent), and it can exist between two different diseases or two different medications or, in general, two concepts belonging to the same category. As a second example, shown in the second row of Table 300, an association of the type “is_treatment_for,” with an ID equal to 2, can associate a medication concept with a disease concept. So this type of association exists between a medication and a disease, whenever that medication is known as a treatment for that disease. Some association types may associate more than one category pair. For example, the association “is_prevented_by,” on row 11, may associate a symptom with a medication, to indicate that the symptom is known to be prevented by that medication. The same association, “is_prevented_by,” may also associate a disease with a treatment, to indicate that the disease is known to be prevented by that treatment.


The threading system 110 uses the information in ARDB 112 to organize the personal health records of individuals. Each PHR contains information regarding an individual's health history. Each PHR can include different medical events in that history, such as observed symptoms, medical diagnoses, taken medications, performed operations, and treatments. Typically, each event is also stamped with the time that event occurred. A health provider may identify an event as a health concept and enter the CUI of that health concept into the PHR. Alternatively a health provider may identify an event with a lay term and enter the lay term into the PHR. In each PHR some of the events may be related to each other, for example by being associated with the same illness. Using the information in the ARDB, the threading system identifies and separately presents each group of events that are related.


Threading system 110 includes mapper 114, which maps the information in the PHR to the medical knowledge in the ARDB 112. For each medical event in the PHR, the mapper searches through the ARDB to find a health concept corresponding to that medical event, and, if it finds one, the mapper maps the medical event to that health concept. For those medical events that are entered into the PHR using their CUI, the corresponding health concept is the health concept with the same CUI. For medical events that are entered into the PHR using their lay term, the mapper utilizes mapping tables similar to that shown in FIG. 2 to find the health concept corresponding to that lay term. The result, called an event-concept pair for that event, carries the information in its event and in the corresponding health concept, including the time stamp of the event. For instance, a PHR may contain an event indicating that on a specific date the patient's symptoms were diagnosed as type two diabetes mellitus. The mapper will map this event to the concept “Diagnosis: Type 2 Diabetes Mellitus” and create an event-concept pair, with the time stamp of the event. An event-concept pair (or its event) also carries the association relationship properties of the corresponding health concept. That is, an event-concept pair (or its event) is considered to be associated with another event-concept pair (or its event) or associated with a health concept, when the corresponding health concepts are associated with each other. Going forward, whenever there is no cause for confusion, the term “event” is used for an “event-concept pair”.


In order to further organize the PHR and to generate threads, threading system 110 includes threader 116. Threader 116 first uses the associations stored in the ARDB and the event-concept pairs created by the mapper, and generates one or more associative subsets. Each associative subset is a subset of all the events in the PHR in which each event is either associated with a specific ‘header’ health concept (e.g. a condition or a diagnosis) or associated with another event belonging to that subset. One method by which the threader finds the header concepts is by searching in the PHR for events corresponding to conditions or diagnoses. Alternatively the user may select a health concept, like a diagnosis, a condition, or a medication, as a header concept, irrespective of whether there is or there is not a corresponding event in the PHR. To generate the associative subset related to a header concept, the threader then selects those events in the PHR that are either associated with the header concept or associated with another event already selected for the associative subset.


For instance, when a patient is diagnosed with diabetes, his diagnosis may be based on some symptoms or test results associated with diabetes. Subsequently, he may undergo some additional diabetes related medical tests, or receive some treatments or medications for diabetes. Each of these pieces of information—symptoms, diagnosis, tests, or treatments—is a medical event which, along with its time stamp, is entered into the patient's PHR. When the threading system operates on this PHR, the mapper will map each event to a health concept, creating an event-concept pair. The threader then groups the above listed events into one associative subset, since they are all associated with the health concept Diabetes. For this associative subset, Diabetes is the header concept. This patient's PHR may also contain other events that are not associated with diabetes, and instead are routine tests or examinations, or are associated with a different diagnosis and ailment. The threader will not put those events in the mentioned associative subset.



FIG. 4 shows a flow chart 400 illustrating an example of the steps taken by the threader in order to generate an associative subset from the events in a PHR. The threader first checks each event in the PHR (steps 402 and 410) and if the event is associated with the header concept (404), adds the event to the associative subset (406). Next, the threader once again checks each event in the PHR (steps 412 and 420) and if the event is not already added to the associative subset (413) and is associated with the an event already added to the associative subset (414), adds the event to the associative subset (416).



FIG. 5 illustrates a “post visit summary” panel 500 as an exemplary interface in which an associative subset is shown. Panel 500 may be viewed by a patient using a user client 130. Panel 500 includes information related to one associative subset. The header concept for the associative subset is diagnosis 510, the health concept “Back Pain”. This header concept is also an event in this PHR, since the patient has been diagnosed with back pain. Panel 500 shows different events from the PHR that all associated with “Back Pain”. These events are organized under two health concept categories, “Medications” 520, and “Tests” 530. Under “Medications”, two events are shown, which are the medications “Vicodin Tablets” 522 and “Mortin 800 mg Tablets” 524 prescribed during the last visit. Under “Tests”, two other events are shown, the test “Back x-ray” 532 and the test “Uranalysis” 534, both performed during the last visit. In addition, panel 500 includes some other concepts, categorized under the health-concept category “Back Pain Treatment Options” 540, which are treatments associated with the header concept, “Back Pain”, and extracted from the ARDB. These health-concepts are further grouped and presented under health concept sub-categories “Prescription Drug Treatments” 542, “Complementary Treatments” 544, and “Surgical Treatments” 546.


The threader 116 then generates a thread from each associate subset. The threader sorts and connects events in an associative subset based on their time stamps or associations or both, and presents this connected set graphically as a chain of events, called an event thread. FIG. 6 shows an example of a thread, generated from an associative subset in a PHR. The user has selected for the header concept “Type 2 Diabetes Mellitus” 610, a diagnosis entered in the PHR for this patient. The thread includes the events in an associative subset of the PHR associated with this diagnosis. the thread starts with an event on Dec. 2, 2006, indicating that a symptom associated with type 2 Diabetes had been observed on that date. The subsequent events in the thread are a fasting blood test and its result on December 2, a diagnosis on December 18, a prescription of a medication associated with type 2 Diabetes on December 18, and three subsequent non-fasting blood tests and their results on December 22, December 25 and December 29, respectively. Also, the thread includes a side effect associated with (and thus connected to) the prescribed medication, observed on Jan. 2, 2007. Typically, the threading system builds the thread in FIG. 6 out of a larger set of events in the patient's PHR. This thread only includes events associated with header concept 610, Type 2 Diabetes Mellitus, and excludes events not associated with the header concept.



FIG. 7 shows an exemplary flow chart of steps taken by the threader to generate a thread from an associative subset. The threader first creates sub-threads from each group of events that are associated with each other. To that end, the threader first creates the first sub-thread using the first event in the associative subset (701). The threader then picks the other events in the associative subset (702 and 710). If the picked event is associated with an event picked earlier (704), the threader connects the picked event to that earlier event and thus adds it to the sub-thread of the earlier event (706), otherwise, the threader will create a new sub-thread with the picked event (712). At the end of this process (708), the associative subset is partitioned into sub-threads, of which some might include one event and some may include more than one event. For example, in FIG. 6, the Side Effect 614 is associated with the Medication 612 and thus connected to that medication, and together they forms a two-event sub-thread. On the other hand, all other events in FIG. 6 are single event sub-threads, since they are only associated with the header concept and not with any other event in the associative subset. The threader then sorts these sub-threads chronologically, using the time stamp of the earliest event in each sub-thread and then connects each sub-thread to the next one in the sorted list, to form the thread (714).


The threading system enables a patient or a health professional to use the large volume of available medical knowledge in ARDB for analyzing an individual's PHR. When applying the threading system, the user can look into a PHR and view the historical progress of events that are medically related to a specific condition, diagnosis, treatment or, in general, a medical concept, independent of other medically unrelated events. As a result, a user can more easily make causal inferences or medical diagnoses and predictions. For example, for the thread shown in FIG. 6, a health professional may conclude that the patient's Malaise on Jan. 2, 2007 resulted from the medication that he started on Dec. 18, 2006, because Malaise is a symptom associated with that medication. It would likely be harder for the health professional to make the same inference by looking directly at the PHR, which includes a much larger set of not necessarily related events, sorted by time with no association connecting them.



FIG. 8 shows one example of a user interface 800 through which the user can select and view the threads in a PHR. On the left panel 802, the user can observe the list of conditions 810 present in the PHR. Once the user selects a condition as a header concept, in this example “Diabetes Type 2” 812, the threading system presents the thread 820 associated with the header concept in the right panel 804. The thread 820 is similar to the thread 600 discussed in relation with FIG. 6.


The threading system can group events in a PHR into separate event threads and present those threads to the user. The user can select a PHR and also optionally limit the events to be analyzed, for example, by selecting a time period. The threading system then divides the selected PHR into separate associative subsets and presents those subsets as separate threads. Through this feature, the threading system provides a systematic view of different medical problems or activities that may exist within a PHR. For example, in FIG. 8, subsets of events in the PHR are presented in different threads. The user can select each of the conditions “Diabetes Type 2” 812, “Neck Pain” 814, “Arthritis” 816, and “Back Pain” 818, to see the thread associated with that condition. The user can alternatively select a header concept from another category, e.g., the Health Risks 820, or the Allergies 830, to see the thread associated with the selected health risk or allergy.



FIG. 9 shows a flow chart 900 which summarize the steps taken by the threading system to generate a thread, as detailed above. For each PHR, the mapper uses the information in ARDB and maps the events in the PHR to health concepts in ARDB to create event-concept pair (904). Then, the threader uses the event-concept pairs to generate associative subsets in each PHR (906). To generate an associative subset, the threader starts from a header concept provided by the user, or selected from events in the PHR or from a list of important health concepts (e.g., conditions). The threader then generates a thread from an associative subset (908).


To create the event-concept pairs in step 904, the threading system uses either a dynamic mapper or a static mapper. The dynamic mapper creates the event-concept pairs after a user submits a selection of a PHR and a header concept. The dynamic mapper then scans the PHR and, using the ARDB, creates the event-concept pairs for the events in the PHR. The dynamic mapper also finds and stores associations among those event-concept pairs. The dynamic mapper creates the event-concept pairs and the associations for all events in the PHR or for a subset of those events, e.g., those that are relevant to the request. The threader then uses these event-concept pairs and associations to generate and present the requested thread.


The static mapper, on the other hand, creates the event-concept pairs independent of any specific request and stores the event-concept pairs as static snapshots for future use. The static mapper can be more efficient than a dynamic mapper for some uses, for instance, when a user repeatedly requests event threads associated with a specific disease. The static mapper scans one or more PHRs from the PHRDB 120, e.g. PHRs that are often selected. It creates and stores all or the relevant subset of event-concept pairs for each PHR as a snapshot of that PHR. In addition, the static mapper also finds and stores in the snapshot all or a subset of associations among the event-concept pairs within each PHR. It also stores associations between the event-concept pairs of each PHR and one or more header concepts, for instance header concepts that are often selected. Whenever a user submits a request, the threader uses these stored snapshots, if relevant to the request, readily to generate the requested thread, without having to recreate the event-concept pairs or the associations anew each time. A threading system with a static mapper can update the static snapshots by adding or removing event-concept pairs or associations based on updates in the person's health record or in the ARDB.


Threading system 110 in the described embodiment includes aggregator 118 to automatically process the information in multiple PHRs from the PHRDB 120 and provide aggregate results. For instance, a researcher may be interested in analyzing the symptoms, common prescriptions, or side effects of treatments, for groups of patients diagnosed with the same condition, e.g. diabetes type 2. The researcher connects to the threading system's aggregator through a user-client 130. The researcher selects the condition, e.g., diabetes type 2, and a category as the subject for aggregation, e.g. symptoms or medication, or side effects of treatments. FIG. 10A depicts an exemplary set of steps taken by the aggregator 118 to respond to this request. First, aggregator automatically selects all PHRs in the PHRDB which include a thread of events associated with that specific condition (1001), e.g. all PHRs with a thread associated with diabetes type 2. The aggregator then searches within those threads in the selected PHRs to find all events belonging to the category selected by the researcher, e.g. symptoms, or prescriptions (1002). The aggregator then aggregates, e.g., sums up or averages, the occurrences of those found events belonging to the selected category (1003) and presents the result to the researcher through the user-client 130. In the example, the results for symptoms may indicate that 58% of patients presented initially with excessive urination, while 25% had excessive thirst, 22% had excessive hunger, and 20% had abdominal pain. The results for medication may indicate that 33% of patients use diet and exercise only, 25% use Metformin or Glucophage, while 20% are on Diabeta, and so on. The results for side effects may show that side effects are most common from Metformin, and that 15% of patients experience malaise, 5% experience muscle pain, etc.


Alternatively, a researcher may be looking for an aggregate relationship between different health concepts, for example the time lapse between using a medication and observing its effects. FIG. 10B depicts an exemplary set of steps taken by the aggregator 118 to respond to this type of request. In this case, the aggregator finds the PHRs to be analyzed (1011). These PHR's may, for instance, belong to patients from a specific age group, or those diagnosed with a specific condition, or those who have undergone a specific treatment. The aggregator then processes the events in each PHR, finds the threads associated with the request, to derive a relation among its events (1012), for example, the time lapse between using a medication and observing its effects all within the threads associated with a specific condition. The aggregator then aggregates the relations found for different PHRs and provides the aggregate result (1013). The aggregate result can, for instance, indicate the average value of the time lapse mentioned above for multiple patients. The relation may be a qualitative relation, for example the causal relation between applying a medication and observing a side effect. The relation may also be a quantitative relation, for example the number of days it takes for a specific medication to reduce a biometric value, such as the blood pressure, by a specific amount. Health professionals and researchers can use the automatic analysis mechanism to efficiently analyze clinical data and derive medical information.


Medical researchers can also use the aggregation feature of the threading system to derive medical relationships between events for different groups in the population. For instance, a researcher may be interested in comparing the effectiveness of different medications in a specific age group diagnosed with high blood pressure. The aggregator can respond to this type of request utilizing threads in each PHR and following the process explained above. For instance, to respond to the above request, in the PHR of each patient, the aggregator find threads associated with high blood pressure condition, finds the different medications in those threads used to treat that condition along with measurements of some biometric values, such as blood pressure, over time. The aggregator then derives aggregate results based on threads in a group of PHRs which contain the same condition and medications, and also those biometric measurements. In each PHR, the aggregator first decides whether a medication was effective by checking whether the blood pressure dropped below some acceptable level within a specific period of time. Then, the aggregator combines these results for PHRs of different groups of patients that differ by their age group, body mass index, or otherwise, and derive aggregate results for each group. One of these results, for example, may say that for men between the ages of 40 and 50 who have a body mass index of between 25 and 30 and who have poorly controlled essential hypertension, the drug Monopril seems to be twice as effective as the other drug, Diovan, in helping the patient achieve control of his high blood pressure with a minimum number of side effects. A different analysis may focus on the association between side effects and medications and, for instance, find that 58% of diabetics who started Metformin were diagnosed with a urinary tract infection. Another analysis may focus on the association between blood pressure and treatments, and may for example conclude that 28% of heart disease patients lowered their blood pressure with diet and exercise alone, while 50% required a beta blocker medication.


Threading system 110 in the described embodiment includes searcher 119 which enables the user to search within a PHR for the occurrence of a specific health concept or all health concepts associated with a specific health concept, or all health concepts belonging to a specific health category. In performing this concept based search, the user selects a PHR and a header concept. The searcher 119 searches the PHR and, using either a dynamic mapper or a static snapshot of the PHR, finds all events associated with the header concept. Alternatively, the user may select a PHR and a health category. The searcher then searches the PHR for all threads containing events within the selected health category, and selects events in those threads belonging to the category. For instance, a user may search for “allergies” in his own PHR. In response, the threading system returns all of his doctor visits for allergies and their diagnoses of allergies, along with the date, and the treating provider. In addition, the threading system can return some other events associated with allergies, which could include the patient's allergy symptoms, his prescriptions for Allegro, and his allergy testing results.


Referring back to FIG. 1, any two or all three of the threading system 110, the PHRDB 120, and the user client 130 may reside on the same computer located in the healthcare facility. In this case, the communication channels 140 or 150 are for example communication busses inside the computer. Alternatively, these three may reside on different computers located in the healthcare facility or in different places. The user client 130 may alternatively reside on a computer in the patient's home or the health provider's office. In this case the communication channels 140 or 150 are for example, internet communication channels between the computers. Further, the ARDB 112 and the modules 114, 116, 118, and 119 may all reside on one computer, or different subsets of them may reside on different computers which communicate with each other through internet or through communication busses between those computers. The ARDB or PHRDB are stored on a storage system and can be of any format capable of containing and presenting the data in ARDB or PHRDB.


Health professionals or organizations can create ARDB 112 once, based on the existing medical knowledge, and then can update ARDB by adding or removing a concept or an association, for example because of a new medical discovery. Every time ARDB 112 is updated, threading system 110 can use the updated ARDB to create new event-concept pairs, associations, and threads.



FIG. 11 illustrates an exemplary computer system that can execute the software modules or programs contained in the threading system, i.e., the mapper, the threader, the aggregator and the searcher. Such a computer can also store each of the databases ARDB and PHRDB in its storage and provide their data to the modules or other users. In addition, such a computer can run the user client 130 which provides the interface for the user to interact with the threading system 110 and presents to the user the results from the threading system.


In FIG. 11, the computer system 20 includes a computer 22 which comprises at least one high speed processing unit (CPU) 24 a memory system 26. The computer system also includes an input device 28, and an output device 30. These elements are interconnected by at least one bus structure 32.


The CPU 24 includes an ALU 34 for performing computations, a collection of registers 36 for temporary storage of data and instructions, and a control unit 38 for controlling operation of the system 20. The memory system 26 includes high-speed main memory 40 in the form of a medium such as random access memory (RAM) and read only memory (ROM) semiconductor devices, and secondary storage 42 in the form of long term storage mediums such as floppy disks, hard disks, tape, CD-ROM, flash memory, etc. and other devices that store data using electrical, magnetic, optical or other recording media. The main memory 40 also can include video display memory for displaying images through a display device. The input device 28 can comprise a keyboard, a mouse, a physical transducer (e.g., a microphone), etc. The output device 30 can comprise a display, a printer, a transducer (e.g., a speaker), etc. Some devices, such as a network interface or a modem, can be used as input and/or output devices.


Other embodiments are within the following claims.

Claims
  • 1. A computer-implemented method for processing a personal health record (PHR) including a plurality of events each having a time stamp, the method comprising: creating a plurality of event-concept pairs by mapping each of the plurality of events in the PHR to a corresponding health concept among a plurality of health concepts;assigning to each of the plurality of event-concept pairs the time stamp of the event corresponding to the event-concept pair;identifying associations among the plurality of event-concept pairs, wherein the plurality of health concepts are categorized into a plurality of categories, wherein identifying associations involves referencing a database of stored information specifying associations between health concepts among the plurality of health concepts, wherein at least some of the specified associations are between health concepts that are in different categories in the plurality of categories, and wherein the plurality of categories are medical tests, diseases, symptoms, medications, and treatments;identifying an associative subset of event-concept pairs among the plurality of event-concept pairs, wherein the associative subset includes those events in the PHR that are either associated with a header concept or are associated with another event within the associative subset, and wherein the associated subset includes health concepts that are in different categories of the plurality of categories; andlinking a plurality of members of the associative subset of event-concept pairs to form a thread, wherein the thread presents a relationship among the plurality of members of the associative subset of event-concept pairs,wherein creating, assigning, identifying associations, and linking are performed by a computer system.
  • 2. The method of claim 1, wherein creating a plurality of event-concept pairs includes referencing a database that stores a plurality of health concepts.
  • 3. The method of claim 1, wherein identifying an associative subset includes identifying a specific health concept and identifying a subset of the plurality of event-concept pairs wherein each member of the associative subset is at least associated with the specific health concept or associated with another event-concept pair in the associative subset.
  • 4. The method of claim 3, wherein identifying a specific health concept includes receiving an identification of the specific health concept from an external source.
  • 5. The method of claim 1, wherein linking members of the associative subset includes forming one or more sub-threads by selecting each member of the plurality of the members of the associative subset and linking the selected member to another member of the plurality of the members of the associative subset, if the selected member is associated with the another member, and further linking the one or more sub-threads thus formed chronologically to form the thread.
  • 6. The method of claim 1, further comprising the step of graphically presenting the thread to a user.
  • 7. The method of claim 1, further comprising the step of finding a desired event-concept pair in the PHR, the desired event-concept pair satisfying an event-condition.
  • 8. The method of claim 7, wherein the event-condition is to be associated with a specific health concept.
  • 9. A computer-implemented method for processing a plurality of personal health records (PHRs), each personal health record (PHR) of the plurality of PHRs including a plurality of events each having a time stamp, the method comprising: processing each PHR of the plurality of PHRs, including: creating a plurality of event-concept pairs by mapping each of the plurality of events in the corresponding PHR to a corresponding health concept among a plurality of health concepts,assigning to each of the plurality of event-concept pairs the time stamp of the event corresponding to the event-concept pair, wherein the plurality of health concepts are categorized into a plurality of categories,identifying associations among the plurality of event-concept pairs, wherein identifying associations involves referencing a database of stored information specifying associations between health concepts among the plurality of health concepts, wherein at least some of the specified associations are between health concepts that are in different categories in the plurality of categories, and wherein the plurality of categories are medical tests, diseases, symptoms, medications, and treatments,identifying an associative subset of event-concept pairs among the plurality of event-concept pairs, wherein the associative subset includes those events in the PHR that are either associated with a header concept or are associated with another event within the associative subset, and wherein the associated subset includes health concepts that are in different categories of the plurality of categories, andidentifying a desired event-concept pair in the associative subset; and finding an aggregate result among the plurality of desired event-concept pairs corresponding to the plurality of PHRs,wherein processing and finding an aggregate result are performed by a computer system.
  • 10. The method of claim 9, wherein identifying a desired event-concept pair in the associative subset includes identifying a member of the associative subset belonging to a specific heath-concept category.
  • 11. The method of claim 9, wherein processing each PHR of the plurality of PHRs further includes identifying a second event-concept pair associated with the desired event-concept pair, and finding a relationship corresponding to the desired event-concept pair and the second event-concept pair, and wherein finding an aggregate result includes aggregating the plurality of relationships corresponding to the plurality of PHRs.
  • 12. The method of claim 11, wherein the relationship is a difference between the time stamp of the desired event-concept and the time stamp of the second event concept.
  • 13. The method of claim 11, wherein the relationship is to determine whether the second event-concept satisfies a medical criteria.
  • 14. The method of claim 9, wherein the aggregate results is one of an average of a value corresponding to each desired event-concept, a total number of the desired event-concepts, or a relative number of the desired event-concepts.
  • 15. A computer program product, residing on a physical computer-readable medium, for use in processing a personal health record (PHR) including a plurality of events each having a time stamp, the computer program product comprising instructions for causing a computer system to: create a plurality of event-concept pairs by mapping each of the plurality of events in the PHR to a corresponding health concept among a plurality of health concepts;assign to each of the plurality of event-concept pairs the time stamp of the event corresponding to the event-concept pair;identify associations among the plurality of event-concept pairs, wherein the plurality of health concepts are categorized into a plurality of categories, wherein identifying associations involves referencing a database of stored information specifying associations between health concepts among the plurality of health concepts, wherein at least some of the specified associations are between health concepts that are in different categories in the plurality of categories, and wherein the plurality of categories are medical tests, diseases, symptoms, medications, and treatments;identify an associative subset of event-concept pairs among the plurality of event-concept pairs, wherein the associative subset includes those events in the PHR that are either associated with a header concept or are associated with another event within the associative subset, and wherein the associated subset includes health concepts that are in different categories of the plurality of categories; andlink a plurality of members of the associative subset of event-concept pairs to form a thread, wherein the thread presents a relationship among the plurality of members of the associative subset of event-concept pairs.
  • 16. The computer program product of claim 15 further comprising instructions for causing a computer to of graphically present the thread to a user.
  • 17. A computer program product, residing on a physical computer-readable medium, for use in processing a plurality of personal health records (PHRs), each personal health record (PHR) of the plurality of PHRs including a plurality of events each having a time stamp, the computer program product comprising instructions for causing a computer system to: process each PHR of the plurality of PHRs, including: create a plurality of event-concept pairs by mapping each of the plurality of events in the corresponding PHR to a corresponding health concept among a plurality of health concepts,assign to each of the plurality of event-concept pairs the time stamp of the event corresponding to the event-concept pair,identify associations among the plurality of event-concept pairs, wherein the plurality of health concepts are categorized into a plurality of categories, wherein identifying associations involves referencing a database of stored information specifying associations between health concepts among the plurality of health concepts, wherein at least some of the specified associations are between health concepts that are in different categories in the plurality of categories, and wherein the plurality of categories are medical tests, diseases, symptoms, medications, and treatments,identify an associative subset of event-concept pairs among the plurality of event-concept pairs, wherein the associative subset includes those events in the PHR that are either associated with a header concept or are associated with another event within the associative subset, and wherein the associated subset includes health concepts that are in different categories of the plurality of categories, andidentify a desired event-concept pair in the associative subset; and find an aggregate result among the plurality of desired even-concept pairs corresponding to the plurality of PHRs.
  • 18. A system for processing a personal health record (PHR) including a plurality of events each having a time stamp, the system comprising: a mapper for creating a plurality of event-concept pairs by mapping each event of the plurality of events in the PHR to a corresponding health concept among a plurality of health concepts, for assigning to each of the plurality of event-concept pairs the time stamp of the event of that event-concept pair, and for identifying associations among the plurality of event-concept pairs, wherein the plurality of health concepts are categorized into a plurality of categories, wherein identifying associations involves referencing a database of stored information specifying associations between health concepts among the plurality of health concepts, wherein at least some of the specified associations are between health concepts that are in different categories in the plurality of categories, and wherein the plurality of categories are medical tests, diseases, symptoms, medications, and treatments; anda threader for identifying an associative subset of event-concept pairs among the plurality of event-concept pairs, wherein the associative subset includes those events in the PHR that are either associated with a header concept or are associated with another event within the associative subset and wherein the associated subset includes health concepts that are in different categories of the plurality of categories, and for linking a plurality of members of the associative subset of event-concept pairs to form a thread, wherein the thread presents a relationship among the plurality of members of the associative subset of event-concept pairs,andwherein the mapper and the threader are implemented in hardware.
  • 19. The system of claim 18, wherein the mapper finds the corresponding health concept from a plurality of health concepts by referencing a database that stores a plurality of health concepts.
  • 20. The system of claim 18, wherein the mapper identifies associations among the plurality of event-concept pairs by referencing a database that stores a plurality of health concepts and a plurality of associations among the plurality of health concepts.
  • 21. The system of claim 18, wherein the threader identifies an associative subset by identifying a specific health concept and identifying a subset of the plurality of event-concept pairs wherein each member of the associative subset is at least associated with the specific health concept or associated with another event-concept pair in the associative subset.
  • 22. The system of claim 18, further comprising a searcher for finding a desired event-concept pair in the PHR, the desired event-concept pair satisfying an event-condition.
  • 23. The system of claim 22, wherein the event-condition is to be associated with a specific health concept.
  • 24. A system for processing a plurality of personal health records (PHRs), each personal health record (PHR) of the plurality of PHRs including a plurality of events each having a time stamp, the system comprising: a mapper for creating a plurality of event-concept pairs for each PHR of the plurality of PHRs, by mapping each event of the plurality of events in the corresponding PHR to a corresponding health concept among a plurality of health concepts, for assigning to each of the plurality of event-concept pairs the time stamp of the event of that event-concept pair, and for identifying associations among the plurality of event-concept pairs, wherein the plurality of health concepts are categorized into a plurality of categories, wherein identifying associations involves referencing a database of stored information specifying associations between health concepts among the plurality of health concepts, wherein at least some of the specified associations are between health concepts that are in different categories in the plurality of categories, and wherein the plurality of categories are medical tests, diseases, symptoms, medications, and treatments;a threader for identifying an associative subset of event-concept pairs among the plurality of event-concept pairs for each PHR of the plurality of PHRs, wherein each associative subset includes those events in the PHR that are either associated with a header concept or are associated with another event within the associative subset and wherein the associated subset includes health concepts that are in different categories of the plurality of categories; andan aggregator for identifying a desired event-concept pair in the associative subset identified for each PHR, and for finding an aggregate result among the plurality of desired even-concept pairs corresponding to the plurality of PHRs,andwherein the mapper, the threader, and the aggregator are implemented in hardware.
  • 25. The system of claim 24, wherein the aggregator processes each PHR of the plurality of PHRs by further identifying a second event-concept pair associated with the desired event-concept pair, and by finding a relationship corresponding to the desired event-concept pair and the second event-concept pair, and wherein the aggregator finds an aggregate result by aggregating the plurality of relationships corresponding to the plurality of PHRs.
  • 26. The system of claim 25, wherein the relationship is a difference between the time stamp of the desired event-concept and the time stamp of the second event concept.
  • 27. The system of claim 25, wherein the relationship is to determine whether the second event-concept satisfies a medical criteria.
  • 28. The system of claim 24, wherein the aggregate results is an average of a value corresponding to each desired event-concept.
Parent Case Info

This application is a Non-Prov of Prov (35 USC 119(e)) application 60/899,234 filed on Feb. 2, 2007.

US Referenced Citations (213)
Number Name Date Kind
4315309 Coli Feb 1982 A
4622013 Cerchio Nov 1986 A
4766542 Pilarczyk Aug 1988 A
4812994 Taylor et al. Mar 1989 A
4839822 Dormond et al. Jun 1989 A
4847764 Halvorson Jul 1989 A
4858121 Barber et al. Aug 1989 A
4868376 Lessin et al. Sep 1989 A
4882474 Anderl et al. Nov 1989 A
4916611 Doyle, Jr. et al. Apr 1990 A
4949251 Griffin et al. Aug 1990 A
4960982 Takahira Oct 1990 A
4984272 McLlroy et al. Jan 1991 A
5072383 Brimm et al. Dec 1991 A
5077666 Brimm et al. Dec 1991 A
5093911 Parks et al. Mar 1992 A
5103498 Lanier et al. Apr 1992 A
5136716 Harvey et al. Aug 1992 A
5150409 Elsner Sep 1992 A
5239617 Gardner et al. Aug 1993 A
5241671 Reed et al. Aug 1993 A
5251152 Notess Oct 1993 A
5267155 Buchanan et al. Nov 1993 A
5277188 Selker Jan 1994 A
5291399 Chaco Mar 1994 A
5299121 Brill et al. Mar 1994 A
5301105 Cummings, Jr. Apr 1994 A
5301246 Archibald et al. Apr 1994 A
5301319 Thurman et al. Apr 1994 A
5317507 Gallant May 1994 A
5317742 Bapat May 1994 A
5324718 Loftsson Jun 1994 A
5325294 Keene Jun 1994 A
5325478 Shelton et al. Jun 1994 A
5327341 Whalen et al. Jul 1994 A
5337919 Spaulding et al. Aug 1994 A
5408619 Oran Apr 1995 A
5410704 Norden-Paul et al. Apr 1995 A
5426747 Weinreb et al. Jun 1995 A
5430875 Ma Jul 1995 A
5459536 Shalon et al. Oct 1995 A
5465082 Chaco Nov 1995 A
5468110 McDonald et al. Nov 1995 A
5471382 Tallman et al. Nov 1995 A
5472954 Loftsson Dec 1995 A
5477447 Luciw et al. Dec 1995 A
5479523 Gaborski et al. Dec 1995 A
5485544 Nonaka et al. Jan 1996 A
5491800 Goldsmith et al. Feb 1996 A
5502944 Kraft et al. Apr 1996 A
5517405 McAndrew et al. May 1996 A
5519607 Tawil May 1996 A
5542420 Goldman et al. Aug 1996 A
5546472 Levin Aug 1996 A
5550971 Brunner et al. Aug 1996 A
5558638 Evers et al. Sep 1996 A
5559885 Drexler et al. Sep 1996 A
5559888 Jain et al. Sep 1996 A
5560005 Hoover et al. Sep 1996 A
5560008 Johnson et al. Sep 1996 A
5560011 Uyama Sep 1996 A
5572422 Nematbakhsh et al. Nov 1996 A
5576954 Driscoll Nov 1996 A
5583831 Churchill et al. Dec 1996 A
5588148 Landis et al. Dec 1996 A
5590038 Pitroda Dec 1996 A
5593267 McDonald et al. Jan 1997 A
5594786 Chaco et al. Jan 1997 A
5596994 Bro Jan 1997 A
5597995 Williams et al. Jan 1997 A
5612869 Letzt et al. Mar 1997 A
5613106 Thurman et al. Mar 1997 A
5619709 Caid et al. Apr 1997 A
5619991 Sloane Apr 1997 A
5623242 Dawson, Jr. et al. Apr 1997 A
5625767 Bartell et al. Apr 1997 A
5629981 Nerlikar May 1997 A
5633368 Hirsenkorn May 1997 A
5664109 Johnson et al. Sep 1997 A
5664207 Crumpler et al. Sep 1997 A
5666492 Rhodes et al. Sep 1997 A
5671282 Wolff et al. Sep 1997 A
5671362 Cowe et al. Sep 1997 A
5672154 Sillen et al. Sep 1997 A
5682142 Loosmore et al. Oct 1997 A
5689229 Chaco et al. Nov 1997 A
5689247 Welner Nov 1997 A
5692125 Schloss et al. Nov 1997 A
5694806 Martin et al. Dec 1997 A
5696877 Iso Dec 1997 A
5700998 Palti Dec 1997 A
5704044 Tarter et al. Dec 1997 A
5704371 Shepard Jan 1998 A
5710551 Ridgeway Jan 1998 A
5713485 Liff et al. Feb 1998 A
5724575 Hoover et al. Mar 1998 A
5735105 Stroud et al. Apr 1998 A
5736580 Huntington et al. Apr 1998 A
5737396 Garcia Apr 1998 A
5737539 Edelson et al. Apr 1998 A
5742816 Barr et al. Apr 1998 A
5745366 Higham et al. Apr 1998 A
5754111 Garcia May 1998 A
5758095 Albaum et al. May 1998 A
5764923 Tallman et al. Jun 1998 A
5772585 Lavin et al. Jun 1998 A
5776783 Kell Jul 1998 A
5778225 Supernaw-Issen et al. Jul 1998 A
5781442 Engleson et al. Jul 1998 A
5784635 McCallum Jul 1998 A
5790409 Fedor et al. Aug 1998 A
5790785 Klug et al. Aug 1998 A
5794178 Caid et al. Aug 1998 A
5797515 Liff et al. Aug 1998 A
5799292 Hekmatpour Aug 1998 A
5799981 Tung et al. Sep 1998 A
5803498 Tung et al. Sep 1998 A
5805454 Valerino, Sr. et al. Sep 1998 A
5805676 Martino Sep 1998 A
5809476 Ryan Sep 1998 A
5812410 Lion et al. Sep 1998 A
5815665 Teper et al. Sep 1998 A
5822544 Chaco et al. Oct 1998 A
5823948 Ross, Jr. et al. Oct 1998 A
5823949 Goltra Oct 1998 A
5827180 Goodman Oct 1998 A
5832449 Cunningham Nov 1998 A
5832450 Myers et al. Nov 1998 A
5832488 Eberhardt Nov 1998 A
5833599 Schrier et al. Nov 1998 A
5835758 Nochur et al. Nov 1998 A
5835897 Dang Nov 1998 A
5835900 Fagg, III et al. Nov 1998 A
5836312 Moore Nov 1998 A
5841970 Tabuki Nov 1998 A
5845255 Mayaud Dec 1998 A
5845264 Nellhaus Dec 1998 A
5848397 Marsh et al. Dec 1998 A
5852820 Burrows Dec 1998 A
5857179 Vaithyanathan et al. Jan 1999 A
5857190 Brown Jan 1999 A
5862327 Kwang et al. Jan 1999 A
5864855 Ruocco et al. Jan 1999 A
5867821 Ballantyne et al. Feb 1999 A
5903889 de la Huerga et al. May 1999 A
5905884 Williams May 1999 A
5915240 Karpf Jun 1999 A
5926811 Miller et al. Jul 1999 A
5937387 Summerell et al. Aug 1999 A
5950630 Portwood et al. Sep 1999 A
5953704 McIlroy et al. Sep 1999 A
5960403 Brown Sep 1999 A
5966715 Sweeney et al. Oct 1999 A
5967789 Segel et al. Oct 1999 A
5974412 Hazlehurst et al. Oct 1999 A
5978842 Noble et al. Nov 1999 A
6003020 Hazlehurst et al. Dec 1999 A
6006269 Phaal Dec 1999 A
6018619 Allard et al. Jan 2000 A
6031818 Lo et al. Feb 2000 A
6047327 Tso et al. Apr 2000 A
6070160 Geary May 2000 A
6073106 Rozen et al. Jun 2000 A
6073163 Clark et al. Jun 2000 A
6076166 Moshfeghi et al. Jun 2000 A
6092196 Reiche Jul 2000 A
6112183 Swanson et al. Aug 2000 A
6132218 Benja-Athon Oct 2000 A
6141759 Braddy Oct 2000 A
6167523 Strong Dec 2000 A
6178416 Thompson et al. Jan 2001 B1
6189036 Kao Feb 2001 B1
6219674 Classen Apr 2001 B1
6253228 Ferris et al. Jun 2001 B1
6263330 Bessette Jul 2001 B1
6270456 Iliff Aug 2001 B1
6289353 Hazlehurst et al. Sep 2001 B1
6292796 Drucker et al. Sep 2001 B1
6334778 Brown Jan 2002 B1
6347374 Drake et al. Feb 2002 B1
6362836 Shaw et al. Mar 2002 B1
6366956 Krishnan Apr 2002 B1
6385611 Cardona May 2002 B1
6401072 Haudenschild et al. Jun 2002 B1
6449598 Green et al. Sep 2002 B1
6505196 Drucker et al. Jan 2003 B2
6532459 Berson Mar 2003 B1
6581038 Mahran Jun 2003 B1
6584445 Papageorge Jun 2003 B2
6738754 Norman, Jr. May 2004 B1
6767325 Iliff Jul 2004 B2
6826696 Chawla et al. Nov 2004 B1
6904408 McCarthy et al. Jun 2005 B1
7020618 Ward Mar 2006 B1
7069226 Kleinfelter Jun 2006 B1
7149456 Yamagata Dec 2006 B2
7149756 Schmitt et al. Dec 2006 B1
7464021 Myers et al. Dec 2008 B1
7512575 Mahesh Mar 2009 B2
7725331 Schurenberg et al. May 2010 B2
7805320 Deitsch et al. Sep 2010 B2
7860729 Stangel Dec 2010 B2
8122012 Dettinger et al. Feb 2012 B2
20010021910 Goldstein Sep 2001 A1
20020165737 Mahran Nov 2002 A1
20030212579 Brown et al. Nov 2003 A1
20040044548 Marshall et al. Mar 2004 A1
20040122790 Walker et al. Jun 2004 A1
20060004607 Marshall et al. Jan 2006 A1
20060167992 Cheung et al. Jul 2006 A1
20060265249 Follis et al. Nov 2006 A1
20080033985 Aronow et al. Feb 2008 A1
20100094658 Mok et al. Apr 2010 A1
Foreign Referenced Citations (2)
Number Date Country
WO-9512812 May 1995 WO
WO-0185021 Nov 2001 WO
Non-Patent Literature Citations (32)
Entry
Ananda, A. et al., “Distributed Computing Systems: Concepts and Structures”, Table of Contents only (IEEE Computer Society Press 1991). 4 pages.
Annual Review of Information Science and Technology, vol. 25, Edited by Martha E. Williams, University of Illinois, published by the American Society for Information Science, 1990. 4 pages.
Anonymous, Apr. 16, 2001, New Product Newswire, Drug Topics; Oradell, Medical Economics Inc., vol. 145, Issue 8, pp. 74-77.
Brazier et al., “Distributed Open Systems”, Table of Contents only (IEEE Computer Society Press 1994). 7 pages.
Caid et al, Context Vector-Based Text Retrieval, Aug. 1997. 11 pages.
Carenini, et al., “An Information-Based Bayesian Approach to History Taking,” 5th Conf. on Artificial Intelligence in Medicine Europe, pp. 129-138, Jun. 1995.
Carpenter et al, The ART of Adaptive Pattern Recognition by a Self-Organizing Neural Network, Boston University, IEEE 1988. 27 pages.
Casavant et al., “Readings in Distributed Computing Systems”, Table of Contents only (IEEE Computer Society Press 1994). 4 pages.
Chen, Machine Learning for Information Retrieval: Neural Networks, Symbolic Learning, and Genetic Algorithms, Journal of the American Society for Information Science, 46(3):194-216, 1995.
Cheriton et al., “Decentralizing a Global Naming Service for Improved Performance and Fault Tolerance”, ACM Trans. Computer Systems, vol. 7, No. 2, May 1989, pp. 147-183.
Day et al., “Programming Methodology Group Memo 79: References to Remote Mobile Objects in Thor”, Dec. 1993. 11 pages.
Detmer, W. et al., MedWeaver: Integrating Decision Support, Literature Searching, and Web Exploration using the UMLS Metathesaurus (1997). 5 pages.
Frakes et al., Information Retrieval, Data Structures & Algorithms, Software Engineering Guild and University of Chile, 1992. Accessed via the Internet on Jun. 5, 2012. 391 pages.
Frisch et al., “Automated Telephone Interviewing to Improve Health Care Access,” Proc. Twelfth Int'l. Symp. on the Creation ofElectronic Health Record System and Global Conf. on Patient Cards, vol. 2, pp. 529-535, May. 1996.
Hurson, A. et al., “Multidatabase Systems: An Advanced Solution for Global Information Sharing”, Table of Contents only (IEEE Computer Society Press 1994). 7 pages.
Jia et al., “Highly Concurrent Directory Management in the Galaxy Distributed System”, Proc. 10th Int'l Conf. Distributed Computing Systems, IEEE Computer Society Press, 1990, pp. 416-423.
Joseph et al., “Object-Oriented Databases: Design and Implementation”, Proceedings of the IEEE, vol. 79, No. 1, Jan. 1991, pp. 42-64.
Kohonen, The Self-Organizing Map, Senior Member, IEEE, Proceedings of the IEEE, vol. 78, No. 9, Sep. 1990. 17 pages.
Liskov et al., “Programming Methodology Group Memo 77: Distributed Object Management in Thor”, Jun. 1993. 17 pages.
Miller Freeman, Mar. 31, 2001, What to do When a Pharmacist Suspects a Script is Forged, Pulse, London; Issue 486000, pp. 76.
Nahouraii et al., “Object-Oriented Databases”, Table of Contents only (IEEE Computer Society Press 1991). 4 pages.
Ozsu et al., “Distributed Data Management: Unsolved Problems and New Issues” (published in T. Casavant et al., Readings in Distributed Computing Systems (IEEE Comp. Soc. Press 1994). 35 pages.
PR Newswire, WellMed Introduces Industry's First Comprehensive Personal Health Management System Including Online Health Record, Aug. 23, 1999. 3 pages.
Press Release, Feb. 22, 1999. Apelon, Inc. “WellMed and Lexical Technology Announce Joint Development Agreement for Online Consumer Health Records”. 2 pages.
Quintana, Y. Intelligent Medical Information Filtering, International Journal of Medical Informatics, 1998. 14 pages.
Quintana, Y. User Modeling Information Filtering for Consumer Information, New Media Lab, IEEE 1997. 4 pages.
Rumelhart et al., Parallel Distributed Processing, Explorations in the Microstructure of Cognition, vol. 1: Foundations, PDP Research Group, The Massachusetts Institute of Technology, 1986. Chapters 4, 9-11. 132 pages.
Salton, Automatic Text Processing, The Transformation, Analysis, and Retrieval of Information by Computer, Cornell University, 1989. Chapters 5, 8-12. 269 pages.
Sasseen et al., Convectis: A Context Vector-Based On-Line Indexing System, Aug. 1997. 7 pages.
Sasseen et al., Docuverse: A Context Vector-Based Approach to Graphical Representation of Information Content, Aug. 1997. 12 pages.
Singhal et al., “The Architectural Overview of the Galaxy Distributed Operating System” (published in T. Casavant et al., Readings in Distributed Computing Systems (IEEE Comp. Soc. Press 1994). 21 pages.
Videotape, Barbara Liskov, “Thor: An Object-Oriented Database System,” The Distinguished Lecture Series VII (Nov. 29, 1993).
Related Publications (1)
Number Date Country
20080215367 A1 Sep 2008 US
Provisional Applications (1)
Number Date Country
60899234 Feb 2007 US