CPC G16H 50/70 (2018.01) [A61B 5/7267 (2013.01); G16H 10/60 (2018.01); G16H 15/00 (2018.01); G16H 50/20 (2018.01); G16H 50/50 (2018.01); G16H 70/20 (2018.01); G06Q 50/26 (2013.01); G16H 10/20 (2018.01); G16H 20/10 (2018.01)] | 12 Claims |
1. A computer-implemented method, comprising:
defining, by a processor of a mapping server, a pre-identified cohort of patients by identifying a reduced set of patients having a common medical event in a medical record of each patient, the set of patients reduced (i) based on a sequence of events in the medical record of each patient, and (ii) by excluding a patient based on a diagnosis in the medical record of the patient;
randomizing, by the processor of the mapping server, an order of two or more medical events from the medical record of each patient in the pre-identified cohort, the medical record including two time-separated medical events in at least two overlapping timelines including past diagnoses, medications, lab tests and procedures for the pre-identified cohort of patients to a medical-event embedding engine of the mapping server;
providing, by the processor of the mapping server, the two or more medical events from the medical record of each patient in the pre-identified cohort to the medical-event embedding engine of the mapping server, the medical-event embedding engine having parameters trained by a neural network model executed by the processor of the mapping server to cause the medical-event embedding engine to generate an output vector corresponding to a medical event in an input medical record, the processor of the mapping server configured to perform computations in parallel using the neural network model;
generating, by the processor of the mapping server, a vector with the medical-event embedding engine by operating on the two or more medical events for each of the patients in the pre-identified cohort, each vector corresponding to a medical event in the medical record of one of the patients in the pre-identified cohort;
generating, by the processor of the mapping server, a weight for each vector using a timestamp for the medical event corresponding to the vector, wherein a vector with a more recent timestamp has a greater weight than a vector with a less recent timestamp;
combining, with the processor of the mapping server, the vector for each patient in the pre-identified cohort to form a single vector representation of a medical history for each patient in the pre-identified cohort by generating a weighted average of the vectors using the weight for each vector;
reducing, by the processor of the mapping server, a number of dimensions of each single vector representation to reduce a computational complexity of a clustering operation performed by the processor of the mapping server;
identifying, by the processor of the mapping server, with a clustering engine of the mapping server, multiple clusters of the patients in the pre-identified cohort that have similar patient journeys by performing the clustering operation on the single vector representations;
identifying, by the processor of the mapping server, with a cluster profiling engine of the mapping server, a differentiating medical event of each of the clusters by performing a cluster-profiling operation using an output of the clustering engine and the medical records of the patients in the clusters; and
providing, by the processor and for display, at least relative numbers of the differentiating medical event in at least one of the clusters.
|