Method, apparatus and computer system for patient-physician matching
The method employs an ensemble of machine learning models to efficiently match patients with suitable physicians by processing different categories of physician properties and considering patient constraints, thereby improving patient outcomes and providing transparent explanations.
Patent Information
- Application Number
- PCT/EP2024/053073
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-12-22
- Filing Date
- 2024-02-07
- Publication Date
- 2025-06-26
AI Technical Summary
Existing systems fail to effectively match patients with the most suitable physician considering patient symptoms, preferences, and constraints such as location and doctor availability, while also providing pre-diagnosis suggestions.
A method utilizing an ensemble of machine learning models to process different categories of physician properties separately, generating vector-based representations for physicians and patients, and using attention-capable models to provide explanations and prioritize matches based on constraints.
This approach efficiently matches patients with the most appropriate physicians, considering various constraints, and provides transparent explanations for the matching process, ultimately improving patient outcomes.
Smart Images

Figure EP2024053073_26062025_PF_FP_ABST
Abstract
Description
[0001] METHOD, APPARATUS AND COMPUTER SYSTEM FOR PATIENT-PHYSICIAN MATCHING
[0002] The present invention relates to a method, computer program, non-transitory computer-readable medium and apparatus for patient-physician matching.
[0003] Some physicians, through specialization or experience, are better at treating certain diseases than others. Patients facing some symptoms often do not know which physician to go to at first. This can lead to the patient visiting several physicians with different specialities before reaching the right one or even missing the emergency of the situation. In addition, patients as well as specialists might have some real-live constraints and requirements, for example that the patients cannot travel far distances, or that the doctors do not have any appointments available.
[0004] While determining which physician is the right one for the given symptoms can be done manually, Al may detect patterns unknown to humans. In the following, some Al-based approaches for automating some aspects of the treatment of patients are discussed.
[0005] Han, Qiwei, et al. 'A hybrid recommender system for patient-doctor matchmaking in primary care" presents a mechanism to match patients with family doctors. The paper presents a hybrid recommender system to present each patient with a list of family doctor recommendations. The paper models the patient trust of family doctors using a large-scale dataset of consultation histones, while accounting for the temporal dynamics of their relationships. The hybrid recommended system specifically focuses on the “trust” of patients towards doctors; It does not consider the constraints that patients or doctors might have (e.g.: locations of doctors and patients, capabilities of doctors); further, it does not decide which specialist type to match based on the patient’s requirements, and the type of doctor is fixed.
[0006] Sudhanshu, et al. "Recommending best course of treatment based on similarities of prognostic markers" focuses on recommending the best course of treatment for a given patient based on similarities of prognostic markers. It aims at recommending remedies based on the symptoms experienced by patients. For this, the disclosure does extensive data pre-processing, organizes the given symptoms in a sparse matrix, and finds the rows that have the maximum sum of symptoms weight based on cosine similarity. This approach returns a list of probable diseases and treatment suggestions. It focuses on finding a course of treatment based on a fixed set of treatment options and based on a fixed set of symptoms. It does not consider matches between patients and doctors of any kind and fails to consider patient preferences or constraints.
[0007] U.S. Patent Application No. 16 / 239,495 titled "Systems and methods for triaging a health-related inquiry on a computer-implemented virtual consultation application" present a virtual consultation application. It uses a patient questionnaire and symptoms as input and outputs a probability condition report, which is a report that contains at least one probable health issue of the patient. Additionally, it provides a triaged recommendation to the patient, with the recommendation telling the patient to a) review existing information in a medical knowledge database; b) ask a question to a network of healthcare professionals; c) initiate a text-based electronic message or video chat communication with a healthcare professional; d) seek out a healthcare professional (real-world); and / or e) seek emergency medical care. In the cited disclosure, healthcare professionals can be evaluated based on their qualifications and performance. However, the focus is on patients asking health- related questions in a mobile application, which the mobile application answers based on heuristics and based on a scheduler. The virtual consultation application does not automatically assign patients to real-world doctors (of different specialties and with different equipment and location) and does not consider existing constraints such as doctor availability.
[0008] In summary, none of the mentioned related works provide a system, that can match a patient to a real-life physician specialist, considering patient symptoms, as well as patient preferences (on e.g. locations, qualification), and doctor availabilities (constraints), while providing to the patient a list of potential matches, and giving some pre-diagnosis suggestions.
[0009] It is therefore an object of the present invention to improve and further develop a computer-implemented method to match patients to physicians. In accordance with the invention, the aforementioned object is accomplished according to the subject-matter of the independent claims.
[0010] Various examples of the present disclosure are based on the finding, that the matching of patients and physician is a highly complex task that is challenging to tackle with a single machine learning model, as the number of features to consider is enormous. To allow for a more efficient implementation, the matching process is broken into different categories, which are then processed by separate sub-models that feed into an ensemble model. By using such separate models, the different categories may be tackled with vastly smaller models, with input feature sizes that are tailored to the number of features considered in the respective categories. Moreover, to allow for an even higher flexibility, sub-models can be exchanged to allow for considering different features in different scenarios, e.g., to allow using different sub-models for different medical fields. This allows a more efficient matching between patients and physicians, with a lower effort required for training the respective models and with less space being required for storing the models being used. The proposed concept may thus assign patients to the physician most likely to succeed with the treatment and may, through the use of attention-capable models, provide corresponding explanations, while taking into account constraints and requirements by doctors and patients, allowing the patient and the medical staff to confirm or reject the suggestion, therefore improving the patient outcome.
[0011] Some aspects of the present disclosure relate to a method for patient-physician matching. The method comprises obtaining, for a plurality of physicians, a representation of the respective physician. The representation of a physician comprises a plurality of sub-representations representing a category of properties of the respective physician. The method comprises obtaining, for one or more patients, a representation of the respective patient, with the representation of a patient comprising information on one or more symptoms of the patient. The method comprises determining, using an ensemble of machine learning models, matching scores representing matches between the plurality of physicians and the one or more patients. The ensemble of machine learning models comprises separate submodels for different categories of properties of the respective physicians. The ensemble of machine learning models takes the representations of the physicians and the representations of the one or more patients as input. The method comprises providing, based on the matching scores, information on one or more recommended matches between the plurality of physicians and the one or more patients. As outlined above, by using an ensemble of machine learning models, differently sized inputs can be used for the different categories of properties, which enables a more efficient training of the machine learning model(s) being used, as each model being used can be trained only for a specific task, with the results of the individual models being combined to yield a suitable matching.
[0012] For example, the method may comprise, for the plurality of physicians, obtaining a hierarchical tree-based representation of the respective physician, and transforming the hierarchical tree-based representation of the respective physician into a vectorbased representation of the physician. For example, branches of the hierarchical tree-based representation of the respective physician may represent the categories of properties. During the transformation into the vector-based representation, separate vectors may be generated for the branches of the hierarchical tree-based representation. Tree-based representations allow a high degree of flexibility for specifying the properties of a physician, as the number and arrangement of leaves in the branches of the hierarchical trees can vary across categories.
[0013] Regardless of whether a tree-based hierarchical representation is used as a starting point, the respective physicians may be represented by vector-based representations (which may be derived from the hierarchical tree-based representation). For example, separate vectors may represent the different categories of properties. The bit width of a vector representing a category of properties may be based on a number of properties included in the category of properties. In particular, the input bit widths of the sub-models of the ensemble of machine learning models may be based on the corresponding bit widths of the vectors representing the categories of properties. As a result, the individual submodels need only consider a number of input vectors that is tailored to the task at hand, which may facilitate the training of the individual sub-models. When using an ensemble of machine learning models, the results of the individual sub-models may then be combined by a further sub-model that is tasked with combining the results yielded by the sub-models. Accordingly, the ensemble of machine learning models may comprise a further sub-model for combining outputs of the separate sub-models for the different categories of properties. For example, the further sub-model may take as input the outputs of the separate sub-models for the different categories of properties. Additionally, the further sub-model may take as input information on a prioritization of properties to be used for selection of a physician included in the representation of the patient. This may bias the matching of physicians and patients according to the individual preference of the patients, which may increase the likelihood of the patient visiting the proposed or selected physician(s).
[0014] One major challenge in machine learning is the black-box nature of using a machine learning model - for a given input, it is hard to explain how the machine learning model arrives at its output. In machine learning models tasked with translating text and other text-based machine learning models, the so-called “attention” technique has been applied. Attention is a technique that seeks to predict the relative relevance of the input features and uses that prediction to guide the subsequent task. In the present context, this technique, implemented in a so-called transformer model, can be used to predict, and steer which input features are particularly considered during matching of physicians and patients, which may increase the explainability of the matching result. For example, the ensemble of machine learning models may comprise at least one transformer machine learning model. The method may comprise obtaining information on an attention weighting applied by the at least one transformer machine learning model and providing information on an impact of features input into the at least one transformer machine learning model based on the information on the attention weighting. This may improve the explainability of the matching.
[0015] While the aforementioned techniques already provide a suitable matching of patents to physicians on a patient-by-patient basis, from the point of view of large health organizations, such as insurance companies, municipal, regional or country-wide health organizations etc., it may be desirable to perform a matching that improves the overall quality of the matching across many patients, instead of focusing on individual patients. In some examples, this can be done using a graph-based technique. For example, the method may comprise generating a bipartite graph comprising a first partial graph comprising a plurality of vertices representing the plurality of physicians, a second partial graph comprising one or more vertices representing the one or more patients, and a plurality of edges between the plurality of vertices representing the plurality of physicians and the one or more vertices representing the one or more patients. For example, the plurality of edges may represent the matching scores or adjusted matching scores. The method may comprise determining the one or more recommended matches between the plurality of physicians and the one or more patients based on the bipartite graph. For example, in the (weighted) bipartite graph, the edge with the largest weight may be identified, and the patient connected to the edge may be matched to the physician connected to the edge. A capacity of the physician may be reduced accordingly, and the patient (and all connected edges) may be removed from the graph. This may be repeated until no additional match can be established, followed by regenerating the graph with the remaining patients. Such an approach can increase the overall quality of the matching.
[0016] This graph-based approach can also be used to allow for a dynamic integration of new patients. For example, the method may comprise, upon obtaining a representation of a further patient, dynamically inserting a further vertex into the second partial graph representing the further patient and a plurality of further edges between the further vertex and the plurality of vertices representing the plurality of physicians. The method may then comprise determining a recommended match for the further patient based on the bipartite graph. This way, new patients can be matched dynamically without having to start from scratch.
[0017] In some examples, the plurality of edges may represent a combination of the matching scores or adjusted matching scores and a seventy of a medical condition of the respective patient. This way, patients suffering from more severe conditions may be matched earlier and with a higher priority, which may improve the health outcome of these patients. In some examples, machine learning may be used to take a first look at the symptoms of the patients, e.g., to give an early estimate of potential conditions, and / or to estimate the severity of the condition. For example, the act of obtaining, for the one or more patients, a representation of the patent may comprise generating, using at least one further machine learning model, an estimate of a medical condition of the patient based on the representation of the patient, and providing information on the estimate of the medical condition. This information may be used, by the patient and / or by the selected physician, to prepare a subsequent visit of the physician by the patient, which may also improve the health outcome following the visit.
[0018] For example, the estimate of the medical condition may comprise at least one of information on an estimated severity of the medical condition and information on an estimated classification of the medical condition. The former information may be used to prioritize patients likely having severe medical conditions, while the latter information can be used by the physician to prepare the meeting, e.g., by preparing equipment or pre-booking a medical facility.
[0019] According to an example, the method may comprise providing, if the estimate of the medical condition of the patient indicates a medical condition that is severe according to a severity criterion, an alert comprising information on the medical condition being severe according to the seventy criterion. This way, patients having conditions that are prima facie severe can be further prioritized and / or made aware that a visit at the physician is urgently advised.
[0020] In some examples, the method may comprise providing, upon selection of a physician by a patient, information on the estimate of the medical condition to a computer system associated with the selected physician. This may help the physician prepare for the visit of the patient, which may improve the outcome of the patient visit.
[0021] For example, the act of obtaining the representation of a patient may comprise obtaining health sensor data of a medical monitoring device, fitness tracker, smartwatch, or mobile device of the patient, and transforming the health sensor data to obtain at least a portion of the representation of the patient. For example, the health sensor data may comprise at least one of heartbeat-related sensor data, breathing-related sensor data, blood oxygenation sensor data, motion sensor data, gyroscope data, body temperature sensor data, blood pressure sensor data, and blood sugar sensor data. This way, the objectivity of the representation of the patient can be improved (thus improve the quality of the representation of the patient), the task of requesting a matching can be facilitated (for the patient), and valuable data can be collected that can be used for identifying the medical condition.
[0022] For this purpose, the method may comprise providing, upon selection of a physician by a patient, the health sensor data, or a processed version thereof to a computer system associated with the selected physician. The physician can use this data to help in identifying the medical condition, and to prepare the visit of the patient, which may improve the health outcome of the visit.
[0023] While a matching according to the symptoms of the patients is useful for identifying the right type of physician, other aspects are relevant as well, such as distance between physician and patient, availability of appointments at the physician at a time that is suitable for the patient, rating of the physician etc. Such secondary information can be used to further improve the quality of the matching, and thus also the health outcome, as the patient is more likely to actually visit a physician that is accessible for the patient. For example, the method may comprise determining adjusted matching scores based on the matching scores and secondary information on the respective physicians, the information on the one or more recommended matches may be provided based on the adjusted matching scores. For example, the secondary information on the physician may comprise secondary information on the physician in one or more of a plurality of categories, the plurality of categories comprising one or more availability of appointments at the physician, location of the physician, quality score of the physician and available capacity of the physician. Such secondary information is useful for improving the likelihood of the patient actually visiting the physician, and for reducing the burden on the patient.
[0024] In various examples, the act of determining the adjusted matching scores may comprise determining, for one or more of a plurality of categories of the secondary information, an adjustment factor, and determining the adjusted matching scores based on the one or more adjustment factors and based on the matching scores. Thus, the matching scores may be adjusted according to various constraints.
[0025] For example, the method may comprise removing matching scores or adjusted matching scores failing a matching score threshold. As such matches are unlikely to be relevant, they can be removed, which may decrease the complexity of the subsequent selection of a suitable physician for a patient.
[0026] In practice, two categories of properties of a physician tend to have a large impact - the specialties offered by the physician, and the equipment that is available to the physician. Accordingly, the representation of a physician may comprise at least a first category representing one or more treatment specialties offered by the physician and a second category representing medical equipment being available to the physician.
[0027] With respect to the patient, at least some of the following pieces of information may be useful for matching a patient to a physician. For example, the representation of a patient may comprise at least one of information on an age of the patient, information on a sex or gender of the patient, information on a weight of the patient, information on a size of the patient, information on the one or more symptoms, information on a location of the one or more symptoms, information on a time of occurrence of the one or more symptoms, information on a location of the patient, information on an availability of the patient and information on a prioritization of properties to be used for selection of a physician. For example, the representation of a patient may comprise a vector representation of at least a subset of properties of the patient or of a symptom of the patient. Such vector representations may be used as input to the various machine learning models discussed herein.
[0028] Another aspect of the present disclosure relates to a computer program comprising instructions which, when the program may be executed by a computer, processor, processing circuitry or microcontroller, cause the computer, processor, processing circuitry or microcontroller to perform the above method. Another aspect of the present disclosure relates to a non-transient computer readable medium containing program instructions for causing a computer to perform the above method.
[0029] Another aspect of the present disclosure relates to an apparatus comprising interface circuitry, machine-readable instructions, and processor circuitry to execute the machine-readable instructions to perform the above method.
[0030] There are several ways how to design and further develop the teaching of the present invention in an advantageous way. To this end it is to be referred to the dependent claims on the one hand and to the following explanation of preferred embodiments of the invention by way of example, illustrated by the figure on the other hand. In connection with the explanation of the preferred embodiments of the invention by the aid of the figure, generally preferred embodiments and further developments of the teaching will be explained. In the drawing
[0031] Figs. 1a and 1 b show flow charts of examples of a method for patient-physician matching;
[0032] Fig. 1c shows a schematic diagram of an example of an apparatus for patientphysician matching;
[0033] Fig. 2 shows a schematic overview of examples of components of an example of the proposed concept;
[0034] Fig. 3 shows a more detailed diagram of some components of an example of the proposed concept; and
[0035] Fig. 4 shows a more detailed diagram of an interplay between some components of an example of the proposed concept.
[0036] In the following, a method and an apparatus will be introduced briefly in connection with Figs. 1 a and 1 b (for the method) and Fig. 1c (for the apparatus). Some aspects of the present disclosure further relate to a computer program (or computer- readable medium comprising such a computer program) for implementing the method. Additional details on the method, apparatus, and corresponding computer programs will be provided in connection with Figs. 2, 3 and 4.
[0037] Figs. 1a and 1 b show flow charts of examples of a method for patient-physician matching. The method comprises obtaining 110, for a plurality of physicians, a representation of the respective physician. The representation of a physician comprises a plurality of sub-representations representing a category of properties of the respective physician. The method comprises obtaining 120, for one or more patients, a representation of the respective patient. The representation of a patient comprises information on one or more symptoms of the patient. The method comprises determining 140, using an ensemble of machine learning models, matching scores representing matches between the plurality of physicians and the one or more patients. The ensemble of machine learning models comprises separate sub-models for different categories of properties of the respective physicians. The ensemble of machine learning models takes the representations of the physicians and the representations of the one or more patients as input. The method comprises providing 190, based on the matching scores, information on one or more recommended matches between the plurality of physicians and the one or more patients. For example, the method may be performed by a computer system, such as the computer system 100, or an apparatus 10 thereof, discussed in connection with Fig. 1 c.
[0038] Fig. 1 c shows a schematic diagram of an example of an apparatus 10 for patientphysician matching, and of a computer system 100 comprising such an apparatus. The apparatus 10 comprises interface circuitry 12 and processor circuitry 14 to perform the method of Figs. 1 a and / or 1 b. For example, the apparatus 10 may comprise machine-readable instructions for providing the functionality of the method, with the processor circuitry executing the machine-readable instructions to perform the method of Figs. 1 a and / or 1 b. The processor circuitry 14 is coupled with the interface circuitry 12 and with optional memory / storage circuitry 16. For example, the processor circuitry 14 may be configured to provide the functionality of the apparatus 10, e.g., in conjunction with the interface circuitry 12 (for exchanging information) and / or with the memory / storage circuitry 16 (for storing information).
[0039] For example, the interface circuitry 12 may include or correspond to a network interface circuitry and / or a device interface circuitry configured to be communicatively coupled to one or more other devices, such as processor circuitry 14. For example, the interface circuitry 12 may include a transmitter, a receiver, or a combination thereof (e.g., a transceiver), and may enable wired communication, wireless communication, or a combination thereof. For example, the processor circuitry 14 may include or correspond to a digital signal processor circuitry (DSP), a graphical processing unit (GPU), and / or a central processing unit (CPU). The processor circuitry 14 may be coupled to the storage circuitry(s) 16. The storage circuitry 16 may include instructions (e.g., executable instructions), such as computer-readable instructions or processor circuitry-readable instructions. The instructions may include one or more instructions that are executable by a computer, such as by the processor circuitry 14. For example, the memory / storage circuitry 16 may include or correspond to volatile or nonvolatile storage circuitry, such as Random Access Memory (RAM), magnetic disks, optical disks, or flash memory devices. The memory / storage circuitry 16 may include both removable and nonremovable memory devices.
[0040] The present method (and, accordingly, the apparatus being used to perform the method, and the computer program being used to implement the method) relate to techniques for improving a matching between patients and physicians (i.e. , doctors, caregivers etc.), for the purpose of improving the health outcomes of the patient. The proposed concept utilizes the insight, that, when matching patients and physicians (for the purpose of the patient visiting the physician), there are different categories that can be considered. For example, for a patient having a medical condition related to the lungs, it may be relevant that a) the physician is adept at treating pulmonary conditions (i.e., has a specialty at treating pulmonary conditions), and b) the physician has the necessary equipment for diagnosing the medical condition (such as an X-ray machine or other non-invasive imaging device). When matching a patient, according to the patient’s symptoms, to a physician, these categories can be considered separately, by using separate machine learning models for the purpose of identifying how good the patient matches the physician according to the specialties offered by the physician, and according to the medical equipment at the disposal of the physician.
[0041] In the following, this basic concept is illustrated in the context of a larger embodiment. It is to be noted that various features of this larger embodiment are optional with respect to this basic concept, providing illustrative examples for illustrating the proposed concept.
[0042] Some examples of the present disclosure relate to methods and systems of matching patient needs to doctor specialists (i.e., physicians), e.g., by building weighted trees which will consider constraints. For example, the proposed approach may comprise one or more of the four following technical operations leading to offer for each patient a ranking solution of possible and well to best-fitting specialists based on a pre-diagnosis and requirements from the patient and the physician.
[0043] Fig. 2 shows a schematic overview of examples of components of the proposed concept.
[0044] On the left, two types of input are shown - a patient interview 210 (e.g., in fixed form), and information about the doctor / physician 220 (such as speciality, equipment, availability, location or quality). The input may be patient data, e.g., for multiple patients, e.g., in the form of input to a questionnaire via a mobile application or via an interview with a healthcare specialist (operation “obtaining 120, for one or more patients, a representation of the respective patient” in the method of Figs. 1 a and 1 b). Further, information on available doctors is being input (operation “obtaining 110, for a plurality of physicians, a representation of the respective physician” in the method of Figs. 1a and 1 b)
[0045] The input is processed in block 230 shown in the middle of Fig. 2, representing the method, apparatus, computer program and computer-readable medium discussed in connection with Figs. 1a and 1 b. Inside this block, the four (or five) proposed operations are shown. For example, the proposed operations may include operation / module A.1 : Obtaining a doctor representation (i.e., obtaining 110, for a plurality of physicians, a representation of the respective physician). For example, the proposed operations may include operation / module A.2: Obtaining a patient representation (i.e., obtaining 120, for one or more patients, a representation of the respective patient). For example, the proposed operations may include operation / module B: Patient - doctor specialities (and equipment) matching (i.e., determining 140, using an ensemble of machine learning models, matching scores representing matches between the plurality of physicians and the one or more patients), which is a 1 -to-many matching. For example, the proposed operations may include operation / module C: Patient - doctors ranking based on constraints (such as time, location and / or quality, which is a 1 to many ranked doctors ranking, which may correspond to optional operation determining 160 adjusted matching scores shown in Fig. 1 b). For example, the proposed operations may include operation / module D: Patients - doctor prioritization (which is a many to many prioritization), and in which the patient representations from C are merged, which may correspond to providing 190, based on the matching scores, information on one or more recommended matches between the plurality of physicians and the one or more patients). The result 240 (shown in Fig. 2) may be a short list of doctors with ranking for each patient, and a suggestion of a diagnosis. In other words, the output may be a ranked doctor list for each patient, containing an ordered list of the specialists that the patient should see with potential appointment suggestions. In addition, the system may output a diagnosis suggestion.
[0046] As outlined in connection with Fig. 2, the proposed concept may include up to four (or five, if A.1 and A.2 are counted separately) modules (boxes A-D in Fig. 2), that will be described in more detail in the following.
[0047] In the following, module / operation A (including A.1 and A.2) are discussed. Module / operation A relates to a module / operation for obtaining a patient and doctor representation, with an optional emergency alarm feature.
[0048] Operation A.1 : Doctor Representation: In this operation, a representation for each doctor in the pool of doctors (i.e., the plurality of doctors) is computed. One representation may be computed per doctor. Fig. 3 block 310 shows a visualization of computing such a representation. As input, (all) available information about a doctor may be used, e.g., information extracted from the website, publications, praxis equipment, but also information about the quality of the doctor (e.g., publicly available review data), as well as locations and available appointments. The output may be a tree-based doctor vector representation, with one vector per branch that describes the doctor for specific categories. Thus, the representation of a doctor (physician) comprises a plurality of sub-representations representing a category of properties of the respective physician. The respective physicians are represented by vector-based representations, with separate vectors representing the different categories of properties. The bit width of a vector representing a category of properties may be based on a number of properties included in the respective category.
[0049] Preferably, the vectors are derived from a hierarchical tree-based representation. The method may comprise, for the plurality of physicians, obtaining a hierarchical tree-based representation of the respective physician, and transforming the hierarchical tree-based representation of the respective physician into a vectorbased representation of the physician. For example, each branch in the tree may represent one category of interest, e.g., the equipment at the disposal of the doctor (also denoted praxis equipment or practice equipment), or the doctor specialty information. In other words, branches of the hierarchical tree-based representation of the respective physician may represent the categories of properties, and, during the transformation into the vector-based representation, separate vectors may be generated for the branches of the hierarchical tree-based representation. For example, the representation of a physician may comprise at least a first category representing one or more treatment specialties offered by the physician (i.e., the tree may comprise a first branch representing the one or more treatment specialties) and a second category representing medical equipment being available to the physician (i.e., the tree may comprise a second branch representing the medical equipment being available to the physician).
[0050] The leaves of the tree may contain the specific information for this doctor, e.g., the availability of an X-ray machine, ECG (Electrocardiogram) equipment, etc. in the practice for the “practice equipment” branch. The tree structure may be pre-defined, based on the specific setup of the method and based on the data availability. For each branch in the tree (or, more generally, for each category), one numeric vector may be computed that contains information of all the leaves in this tree. For example, 1 -hot encoding may be used to encode the availability of certain praxis equipment elements. By using a tree-based structure, an arbitrary number of leaves per branch can be used, while retaining a fixed set of vectors (one per category). In addition, different kinds of leaves can be used for different specialists.
[0051] This operation may be performed to update the doctor information occasionally or prior each matching iteration.
[0052] Operation A.2: Patient Representation with Emergency Alarm Feature: In this operation, a vector representation for each patient may be computed, based on the patient input. In addition, this operation may contain an emergency alarm feature.
[0053] As input, information that the patient enters in a predefined survey may be used. For example, this can be basic information like age, weight, size, as well as symptoms (e.g., breath problems, pain), and specific information (e.g., location of pain), temporal information (time since first occurrence of symptoms), as well as background information (location, time availability). As a result, the representation of a patient may comprise at least one of information on an age of the patient, information on a sex or gender of the patient, information on a weight of the patient, information on a size of the patient, information on the one or more symptoms, information on a location of the one or more symptoms, information on a time of occurrence of the one or more symptoms, information on a location of the patient, information on an availability of the patient and information on a prioritization of properties to be used for selection of a physician. In some examples, health sensor data of a sensing device of the patient may be used as part of, or to generate part of, the representation of the patient. For example, the act of obtaining the representation of a patient may comprise obtaining health sensor data of a medical monitoring device, fitness tracker, smartwatch, or mobile device of the patient. For example, the health sensor data may be included in the representation of the patient, and / or the method may comprise transforming the health sensor data to obtain at least a portion of the representation of the patient. For example, the health sensor data may comprise different types of sensor data, such as heartbeat-related sensor data (e.g., a heartrate), breathing-related sensor data (e.g., a breathing frequency), blood oxygenation sensor data, motion sensor data, gyroscope data, body temperature sensor data, blood pressure sensor data, and blood sugar sensor data.
[0054] In some examples, the patient may define patient category priorities. For example, the patient may specify priorities, i.e. what kind of categories are important (e.g. proximity, quality, praxis equipment), which may add weighting factors in later stages (e.g., operations B and C) for the choice of doctors.
[0055] As output, a vector representation of the patient may be provided. Optionally, a severity score, an alarm, and / or a pre-diagnosis may be provided.
[0056] From the patient input, this module may create a vector representation. In other words, the representation of a patient may comprise a vector representation of at least a subset of properties of the patient or of a symptom of the patient. For example, a simple one (hidden)-layer MLP (Multi-Layer Perceptron) encoding may be used that uses the patient input as input, and which may compute a fixed size vector representation as output.
[0057] A multi-layer perceptron (MLP) is a type of artificial neural network that consists of at least three layers of nodes: an input layer, one or more hidden layers, and an output layer. Each node, except for the input nodes, is a neuron that uses a nonlinear activation function. MLP utilizes a supervised learning technique called backpropagation for training the network. To create a vector from the patient input, which may include multiple-choice or free-text descriptions, using an MLP, the input may be encoded into a format that can be processed by the MLP. For example, multiple-choice questions can be converted into a one-hot encoding, and natural language processing (e.g., tokenization, embedding) can be used to convert free- text description into a representation (e.g., an embedding) that represents the free- text description in vector format. The MLP may take the representation of the patient input as input features and provide the desired vector representation of the patient input as output. For example, supervised learning with backpropagation may be used to train the MLP to provide suitable vector representations for a given patient input.
[0058] In some examples, a pre-diagnostic model that outputs a severity score may be used. Accordingly, as further shown in Fig. 1 b, the act of obtaining 120, for the one or more patients, a representation of the patent may comprise generating 130, using at least one further machine learning model (i.e., the pre-diagnostic model), an estimate of a medical condition of the patient based on the representation of the patient, and providing information on the estimate of the medical condition. The prediagnostic model may be implemented as a classification model (or regression model) that may be trained to output a pre-diagnostic based on the fixed-size vector input.
[0059] Both classification models and regression models are models that are trained using supervised learning. A classification model is a type of model that is designed to predict a categorical target variable. The aim of classification is to correctly identify which category or class an input, e.g., the vector representation of the patient, belongs to based on its features. In the present case, the classification may relate to the medical condition causing the symptom(s) of the patient. A classification machine learning model is a type of model that is designed to predict a categorical target variable. The aim of classification is to correctly identify which category or class an input belongs to based on its features. A regression model in machine learning is used for predictive modeling where the output variable is a continuous value. Unlike classification models, where the goal is to predict a categorical label, regression models are designed to forecast numerical quantities such as a seventy of a medical condition.
[0060] The pre-diagnostic may include one or both of the following: a) a severity score may be computed for the person (with a high score indicating very severe problem), and b) a hint may be output to the patient on with respect to the health issue that the patient is facing (i.e., a diagnosis suggestion). In other words, the estimate of the medical condition may comprise at least one of information on an estimated seventy of the medical condition and information on an estimated classification of the medical condition. The former may be provided by training the pre-diagnostic model, using supervised learning, with a regression head for providing a numerical estimate of the severity of the medical condition. The latter may be provided by training the pre-diagnostic model, using supervised learning, with a classification head for providing a classification of the medical condition. In both cases, training samples comprising the representation of the patient (e.g., of the patient’s symptoms) as training input data, and a severity score (or severity classification) and / or a classification of the medical condition as desired training output (or label) may be used to train the pre-diagnostic model using supervised learning. This diagnosis suggestion may increase transparency but might by no means replace a doctor’s check.
[0061] For example, the pre-diagnostic model may be implemented as a simple MLP architecture, trained in a supervised way on previous cases. For example, a database of previous cases may be used to generate the training samples. In another example, the pre-diagnostic model (as well as the alarm model) may be implemented as a decision tree. The decision criteria can be double-checked by a health professional before the system goes into use - to enhance transparency. The encoding of the patient data helps also to anonymize the patient information.
[0062] The fixed-size vector representation, as well as the pre-diagnostic may be input into an alarm model, which computes, based on the symptoms, whether the patient symptoms are very serious (e.g., according to the severity criterion), e.g. hinting at a heart attack. In other words, as further shown in Fig. 1 b, the method may comprise providing 135, if the estimate of the medical condition of the patient indicates a medical condition that is severe according to a severity criterion, an alert comprising information on the medical condition being severe according to the seventy criterion. For example, the severity criterion may be a threshold to which the severity score is compared, or may be built-into the alarm model (in case the alarm model is a machine learning model that classifies a patient’s medical condition as severe (or not). The alarm model may output an alarm, telling the patient to immediately attend the emergency room, highlighting the severe symptoms, and offering a direct connection to emergency hotline. In various examples, these patients flagged here as emergency patients will NOT go in the next operations of the pipeline, because they are to be treated with highest priority. The alarm model may be trained in a supervised way. Alternatively (or additionally), the alarm model may be a decision tree, where the decision criteria can be double checked by a health professional before the system goes into use - to enhance transparency.
[0063] Operation B: patient-specialist (i.e., physician) matching. In this operation, for each patient, a list may be computed, which indicates which kind of specialists should be seen by the patient, and how well the match between patient and doctor is. As input, the patient vector representation, the (tree-based) doctor vector representation, and a database with cases may be used (with the database comprising patient symptoms (features) and matching specialists (labels)). For example, the database with cases may be used to train the model(s) being used for patient-specialist matching. As output, a score w£for each patient doctor match may be provided, in an ordered fashion. The higher the score, the higher the match between patient, patient symptoms, patient priorities, and doctors may be. The doctors in this list can match certain requirements, such as availability of an X-ray system.
[0064] To perform the matching, a tabular machine learning model trained in a supervised manner may be used. More specifically, the model may be implemented as an ensemble model. An ensemble model, in the context of machine learning, refers to a technique that combines the predictions from multiple models to improve the overall performance. The core idea is that by pooling together the predictions of different models, the ensemble can often achieve better predictive accuracy and generalization to unseen data than any single model could on its own.
[0065] One dataset sample may contain one person-specialist combination. In other words, the ensemble model may take the representation of one physician and of one patient as input. As the model is implemented as an ensemble model, it may contain or use sub-models. In particular, the ensemble of machine learning models comprises separate sub-models for different categories of properties of the respective physicians, with the ensemble of machine learning models taking the representations of the physicians and the representations of the one or more patients as input (one at a time). As described for operation / module A1 , the doctor vector may have one vector per branch that describes (i.e., represents) the doctor for specific categories. In Module B, one sub-model (Fig. 3, B 320, ML modell , ML model 2, ... ) is trained per patient-vector and doctor-vector-branch. The input bit widths of the sub-models of the ensemble of machine learning models are based on the corresponding bit widths of the vectors representing the respective categories of properties. For example, one model may be trained to compute the match between doctor specialization and symptoms, another model may be trained to compute the match between doctor equipment and symptoms, etc. The features are the patient vector (from block A2 330) as well as, e.g., from the tree-based doctor vector, the categories that describe the doctor's specialties, for example, the type of the doctor (cardiologist, general practitioner, pulmonary specialist ...) and the equipment of the doctor. Each sub-model may output a score, which is being provided to a model (denoted ensemble 340 in Fig. 3) that combines the individual scores. The ensemble of machine learning models may comprise a further submodel (the ensemble) for combining outputs of the separate sub-models for the different categories of properties. For example, the technique of stacking may be used, in which the further sub-model is trained to combine the predictions of the plurality of sub-models. For example, end-to-end training, using supervised learning, may be used to train the plurality of sub-models together with the further sub-model as ensemble of models. For example, the vector representations of a patient and of a physician may be used as training input data, and a label regarding how suitable a physician is for treating this patient may be used as desired training put during the supervised training.
[0066] The ensemble (model) then learns to combine these scores and may return one final score 350 per patient-vector and doctor-tree-vector. For example, the ensemble model may receive as input not only the scores output by the sub-models, but also the patient category priorities (see description of module / operation A.1 ). In other words, the further sub-model may take as input the outputs of the separate sub-models for the different categories of properties and information on a prioritization of properties to be used for selection of a physician included in the representation of the patient.
[0067] In effect, for each patient, various outputs are generated, one per doctor. The model learns (i.e., is trained) to compute a match-score for each patient-specialist combination. For example, a high score may represent a good match between symptoms and specialist, and a low score may represent a bad match. In a simplified example, a person with high cholesterol and high blood pressure and higher body mass index (BMI) may have a high match score with a cardiologist, but a low match score with an eye doctor. The model may also learn that the combination of specific symptoms may lead to different outcomes.
[0068] In some examples, the models may be realized by a transformer architecture. The attention that the transformer model assigns to each feature may highlight which symptoms and which features of the specialist have led to the prediction of the score. In other words, the ensemble of machine learning models may comprise at least one transformer machine learning model (e.g., the further machine learning model 340, and / or the plurality of machine learning models may be transformer machine learning models). As further shown in Fig. 1 b, the method may comprise obtaining 150 information on an attention weighting applied by the at least one transformer machine learning model and providing 155 information on an impact of features input into the at least one transformer machine learning model based on the information on the attention weighting. For transparency reasons, the patient may be able to see the most important features (the features with highest attention) that lead to the match score. For example, the weighting of the features may be highlighted on a per-vector basis (if the further sub-model is implemented as transformer), or on a per-feature basis (if the individual sub-models are implemented as transformers)
[0069] Operation C: Doctor ranking for each patient. For this operation, as inputs, for each patient, the patient vector representation, the (tree-based) doctor vector representation, constraints for each doctor (e.g.: availability of appointments, location, quality, capacity), and the ranked list of doctors that the patient should visit and the weights (from operation B) may be used. As output, for each patient: a list of doctors, and a weight that describes the match of the patient to the doctor may be provided. Contrary to operation / module B, this operation / module may also consider constraints such as doctor availability, or doctor location.
[0070] In operation C, a model is provided that ranks each doctor not only based on specialties and equipment (operation B), but also based on constraints and other information of the doctor (e.g. location, available appointments, quality, capacity). Further, the operation may prune the list of doctors (i.e., remove doctors from the list).
[0071] To perform match-score computation, given that a match between patients and doctor specialties has already been computed (i.e. the medical match has already been computed), the model may now adjust the match scores to consider certain constraints on the doctor that might increase or decrease the match between a patient and a doctor. Accordingly, as further shown in Fig. 1 b, the method may comprise determining 160 adjusted matching scores based on the matching scores and secondary information on the respective physicians, and the information on the one or more recommended matches may be provided based on the adjusted matching scores. For example, given the situation that two doctors match to the symptoms of the patient equally well, but one doctor is very far away from the location of the patient, the model may assign higher weight to the doctor that is close by.
[0072] In the present context, the “secondary information” is information that characterizes at least the physician (e.g., a rating of the physician in a rating portal, or a remaining capacity of the physician for appointments), or the physician-patient relationship (e.g., distance between the physician and the patient, or an availability of appointments at times that are suitable for the patient). For example, the secondary information on the physician may comprise secondary information on the physician in one or more of a plurality of categories, the plurality of categories comprising one or more availability of appointments at the physician (and overlap thereof with times provided by the patient), location of the physician (and distance to the location of the patient), quality score of the physician and available capacity of the physician. For example, the act of determining the adjusted matching scores may comprise determining, for one or more of a plurality of categories of the secondary information, an adjustment factor, and determining the adjusted matching scores based on the one or more adjustment factors and based on the matching scores.
[0073] For each patient, the system may run a model for a patient-doctor combination with a weight higher than a certain threshold to make sure that only medically suitable doctors are considered. Patient-physician combinations with a lower weight may be pruned (i.e., removed, no longer considered). In operation A.1 , a (tree-based) doctor vector representation was generated. In this operation, the model may consider the leaves that describe constraints of the doctor (e.g., availability of appointments, location, quality, capacity). On the patient input side (generated by the vectorization of the answers of the survey), the model may also have information on the location of the patient, and from the Patient Category Priorities (Module A.2), it may know which categories are most important to the patient. The model may compute a value for each constraint category, with two different possibilities:
[0074] In some examples, the model may use a distance value: For all categories where a patient information and doctor information are given, the model may compute a distance value for each constraint category between the doctor information and the patient information. For example, if the distance of doctor location and patient location is far, then the calculated distance will be high. Each of these values may be scaled by min-max scaling (taking minimum and maximum distance for each category for this specific patient). Further, each of these values may be transformed, such that higher values mean better (i.e. lower distance between the patient and the doctor is preferable). To give an example, (x) = (l / (x + le08) ) may be used, where x are the scaled values, to transform the values such that higher values describe better outcomes.
[0075] Alternatively, absolute values may be used. For categories, in which no distance can be computed from a doctor vs a patient parameter, a score may be computed that defines the goodness of the value of the specific category. For example, for the quality parameter of the doctor, a score from 1 to 5 can be attributed based on patient reviews.
[0076] All values, as well as the match-scores from module B may then be combined with a weighted combination. For example, this can be a weighted linear combination, where the weights are given by the patient category priorities (see operation A.2).
[0077] After this operation, a weight (i.e., the adjusted matching score) may be output that represents the match of the patient to the doctor considering given constraints. In some examples, pruning may be performed. To reduce the list of possible matches between patient and doctors, the list of doctors for each patient may be pruned. For this, a threshold may be defined, and only doctors that have a matchscore higher than this threshold may be kept in the list. The method may comprise removing 170 matching scores or adjusted matching scores failing a matching score threshold. For example, the threshold may be the average of the weights.
[0078] Operation D is used to perform patient-doctor prioritization. As input, the patientdoctor list with weights represented by the match-score (i.e. , the matching scores or adjusted matching scores) as computed in operation / module C may be used. Further, for each patient, the seventy score, as computed in Module A.2, may be used as input. As output, for each patient, a recommendation of doctor(s) may be given, optionally also highlighting the reason of the ranking.
[0079] In this operation / module, the task may be to match multiple patients with multiple available doctors, as shown in Fig. 4 (on the right, Fig. 4-2, block 430). For example, both, Patient 1 410 and Patient n 420 may have a high match-score with Doctor A, but Doctor A may only have limited capacity. For this reason, an iterative approach may be introduced as follows:
[0080] In each iteration, a bipartite graph may be defined, where on one side (i.e., a second partial graph) the nodes represent all patients, and on the other side (i.e., a first partial graph), the nodes represent all doctors. In other words, as further shown in Fig. 1 b, the method may comprise generating 180 a bipartite graph comprising a first partial graph comprising a plurality of vertices representing the plurality of physicians, a second partial graph comprising one or more vertices representing the one or more patients, and a plurality of edges between the plurality of vertices representing the plurality of physicians and the one or more vertices representing the one or more patients. The plurality of edges may represent the matching scores or adjusted matching scores. The one or more recommended matches between the plurality of physicians and the one or more patients may then be determined 190 based on the bipartite graph. The edges between the nodes represent whether a specific doctor is in the patientdoctor list of the specific patient. The edges are weighted. The weights of the edges may be computed by a linear combination of the patient-doctor match-score (Module C), and the patient-seventy-score (Module A.2). In other words, the plurality of edges may represent a combination of the matching scores or adjusted matching scores and a severity of a medical condition of the respective patient. This weighting considers that some patients might have more severe problems than others, and thus may be prioritized.
[0081] Now, the patient with the highest-weighted edge may be assigned to the doctor that is connected to this edge, the edge may be, and the capacity of the doctor may be decreased. Next, the patient with the second highest-weighted edge may be assigned respectively. All patients that have been assigned a doctor match may be removed from the graph (as well as the connected edges).
[0082] In the next iteration, patients that did not get a match yet may be assigned a higher weight in all their edges, and another iteration of the previous operation (assigning the patient with the highest-weighted edge to the doctor that is connected to the edge etc.) starts. If new patients enter their information, they may be added as new nodes in the bipartite graph, after the end of an iteration. In other words, the method may comprise, upon obtaining 120 a representation of a further patient, dynamically inserting 185 a further vertex into the second partial graph representing the further patient and a plurality of further edges between the further vertex and the plurality of vertices representing the plurality of physicians and determining a recommended match for the further patient based on the bipartite graph. If doctors add new available capacities, these capacities may be added to the graph, after the end of an iteration.
[0083] This procedure is highly dynamic and may ensure that new patients can be added, capacities can be updated, and by increasing the weights of patients not assigned to doctors yet, patients may get matches to doctors in the end.
[0084] The result may be, after the bipartite-graph-based prioritization, for each patient, a (e.g., at least one) matched physician that is recommended for a visit. Across various patients, the information on the one or more recommended matches between the plurality of physicians and the one or more patients may comprise a (single) match for each patient. In some examples, the information on the one or more recommended matches may be transmitted to respective computer systems of the respective physicians, to trigger the respective computer systems to schedule a visit. Alternatively, or additionally, a portion of the information on the one or more recommended matches containing the respective selective match (and / or the best matches according to the matching scores or adjusted matching scores) may be provided to the respective patients. In addition, in some examples, the physicians may be provided with additional information to enable them to prepare for the visit. For example, the method may comprise providing 195, upon selection of a physician by a patient or upon selection based on the bipartite graph, information on the estimate of the medical condition and / or the health sensor data or a processed version thereof to a computer system associated with the selected physician.
[0085] In the following, some examples of concrete use cases for the proposed concept are given.
[0086] In a first use case, denoted “automated patient-specialist mapping system”, insurances are providing advice to patients seeking advice on which healthcare specialists they should visit based on their symptoms. These patients and the healthcare specialists further have constraints, such as appointment availability, requirements on quality, and proximity of locations. Further, multiple patients may have similar symptoms and thus might need similar doctors.
[0087] In this use case, the patient data may be obtained as input from patients on their symptoms via an app. Further, sensor measurements on the patients' health may be collected, e.g., automated blood pressure and heartbeat measurements, temperature measurements - e.g., from a smart watch or medical monitoring device. User input may be obtained with respect to constraints such as distance and availability and with respect to preferred features. The data on the doctors may be obtained from publicly available information, e.g., from website, publications, certificates, online reviews; constraints such as location and appointment availability. In some examples, the calendars of doctors may be used to obtain information on scheduling options. As medical information, a database with previous cases of patients that have been matched to specialists may be used.
[0088] The system disclosed in the present disclosure helps to match each patient based on their symptoms, based on some patient-based measurements, and based on their requirements and constraints to suitable specialists (based on the doctors' qualifications, quality, availability, and location). It may compute a patient vector, multiple tree-based doctor vectors, and may assign match scores to each combination. Further, based on the patient information, it may compute a diagnosis suggestion. Using a bi-partite, multi- operation prioritization algorithm, it may assign a small list of potential doctors with available appointments for each patient, considering the match score and the severity of the health issue.
[0089] As output, each patient may be provided with a ranked list of specialists that are well suited to the given symptoms, and that do meet the user-input constraints, e.g., distance to the home and / or appointment availability. Further, for transparency reasons, the system may return the symptoms that have been most important for the models' predictions. The patients may be notified as soon as one or multiple matches (list of specialists) are found. For example, the sensor measurements, or processed versions thereof, may be automatically provided to a doctor being selected by a patient.
[0090] In various examples, the system uses as input patient specific measurements on certain health parameters, e.g., temperature, blood pressure, heart rate - e.g., from a smart watch or medical monitoring device. Further, the system may compute a diagnosis suggestion for the patient.
[0091] In a second use case, denoted “automated patient-specialist mapping system with alarm module”, patients are seeking advice, which healthcare specialists they should visit, based on their symptoms. These patients and the healthcare specialists further have constraints, such as appointment availability, requirements on quality, and proximity of locations. Further, multiple patients may have similar symptoms and thus may need similar doctors. Some patients may underestimate their symptoms, and while they think visiting a doctor in a few weeks might be enough, immediate action by an emergency medical team may be necessary.
[0092] In this use case, the patient data may be obtained as input from patients on their symptoms via an app. Further, sensor measurements on the patients' health may be collected, e.g., automated blood pressure and heartbeat measurements, temperature measurements - e.g., from a smart watch or medical monitoring device. User input may be obtained with respect to constraints such as distance and availability and with respect to preferred features. The data on the doctors may be obtained from publicly available information, e.g., from website, publications, certificates, online reviews; constraints such as location and appointment availability. In some examples, the calendars of doctors may be used to obtain information on scheduling options. As medical information, a database with previous cases of patients that have been matched to specialists may be used.
[0093] The system disclosed in the present disclosure helps to match each patient based on their symptoms, based on some patient-based measurements, and based on their requirements and constraints to suitable specialists (based on the doctors' qualifications, quality, availability, and location). For example, it may compute a patient vector, multiple (tree-based) doctor vectors, and may assign match scores to each combination. Further, based on the patient information, it may compute a diagnosis suggestion. Using a bi-partite, multi-operation prioritization algorithm, it may assign a small list of potential doctors with available appointments for each patient, e.g., considering the match score and the problem's seventy. If the model in module B detects that the patient's symptoms are profoundly serious and urgent action is needed, it may automatically trigger an emergency alarm, making sure that the patient receives immediate medical care.
[0094] As output, each patient may be provided with a ranked list of specialists that are well suited to the given symptoms, and that do meet the user-input constraints, e.g., distance to the home or appointment availability. Further, for transparency reasons, the system may return the symptoms that have been most important for the models' predictions. The patients may be notified as soon as one or multiple matches (list of specialists) are found. For example, the sensor measurements, or processed versions thereof, may be automatically provided to a doctor being selected by a patient.
[0095] For example, the system may receive as input patient specific measurements on certain health parameters, e.g., temperature, blood pressure, heart rate - e.g., from a smart watch or medical monitoring device. Further, the system may compute a diagnosis suggestion for the patient. In addition, the system may trigger an alarm, in case severe symptoms are entered by the patient or are measured by the medical monitoring device.
[0096] By using a hierarchical tree-based representation and matching model to match doctors with patients (operations B and C), arbitrarily long feature vectors are possible, and patients can enter preferences on different categories.
[0097] Formulating the matching of patients and doctors as a weighted, bipartite graph (with nodes on one hand being patients and on other hand being doctors) where the weights describe a combination of severity of the problem and of match between doctor and patient, considering constraints (operation D) may ensure that the patients get matching specialists, but also that patients with more severe problems get higher priority. It also considers that multiple specialists might be suitable for a patient.
[0098] When using a dynamic, weighted bipartite graph-based prioritization module that iteratively assigns slots for suitable and available doctors to a patient (operation D), the “dynamic” part takes into account that new patients come up over time, and doctors might get more / less appointments over time. The iterative part takes into account that multiple operations are needed to match each patient to a suitable doctor and that not all doctors are available for all patients.
[0099] Various examples of the present disclosure provide methods and systems for providing an improved matching from physicians to patient needs, comprising one or more of the following operations / components. For example, the proposed concept may include a doctor representation component (operation / module A.1 ), which may provide a characterization of physicians based on different aspects, such as specialty, equipment at the praxis will be encoded in vectors for each aspect. For example, the encoded information on the doctors may be stored for patient matching. Generating the doctor representations may be performed to update the doctor information occasionally or prior to each matching iteration.
[0100] For example, the proposed concept may include a patient representation, prediagnosis and alarm component (operation / module A.2). For example, the patient information may be encoded, which may facilitate or improve patient data privacy. The encoded information may also allow the prediction of a pre-diagnosis. Based on this pre-diagnosis, some cases may be elevated to an emergency and may directly ask the patient to go to the emergency hospital. In case no alarm is raised, the next operations may occur.
[0101] For example, the proposed concept may include a patient-doctor speciality matching component for matching patient - doctors’ categories (operation / module B). The models may take the encoded information of the patients and match them to the encoded description of the physician categories. The ensemble of those models may output a score for each patient - physician possible match. The higher the score, the better the match may be.
[0102] For example, the proposed concept may include a patient-doctor-ranking component (operation / module C).
[0103] For example, the proposed concept may include a patient-doctor prioritization component for prioritizing patients to doctors and considering the constraints on the patients and doctors (operation module D). This component may perform merging the patient-doctors trees and formulating a bipartite graph. It may consider the constraints from multiple requests and extract ranked doctors for each patient. An iterative approach may be used to assign one or multiple doctors to each patient with dynamic updates of weights.
[0104] As output, a ranked doctor list for each patient may be provided, containing an ordered list of the specialists that the patient should see with potential appointment suggestions. In addition, the system may output a diagnosis suggestion. As compared to related work, the proposed concept has several advantages. As compared to other approaches, in the proposed concept, every patient may provide with a short list of doctors that best fit their needs. The proposed concept supports the patient to find the most adequate doctor specialist based on a pre-diagnosis and based on patient constraints. In the following, the differences as compared to Han, Qiwei, et al. 'A hybrid recommender system for patient-doctor matchmaking in primary care.", Sudhanshu et al. "Recommending best course of treatment based on similarities of prognostic markers." and U.S. Patent Application No. 16 / 239,495 will be discussed in more detail.
[0105] As compared to Han et al, the proposed concept is more broadly applicable and considers more information. Han et al. specifically focus on the “trust” of a patient towards doctors and cannot decide which specialist to match to. The proposed concept, on the other hand, has a broader scope and higher functionality because it can take into account more features (quality of doctors, symptoms, locations...), and can decide between multiple specialists. By considering more information, our invention can lead to more accurate matches.
[0106] As compared to Sudhanshu et al., the proposed concept may provide a larger functionality: It can find matches between patients and doctors of any kind, which the concept proposed by Sudhanshu et al. cannot, because it is only focusing on recommending the best course of treatment.
[0107] As compared to U.S. Patent Application No. 16 / 239,495, the proposed concept is more focused on real-life patient-doctor matching: it can consider constraints and preferences of users and may use an iterative approach to match patients and doctors. Thus, the proposed concept may provide improved results for the given task of matching patient to available real-life doctors. By taking into account a weighted combination of problem seventy and match score, some examples of the present invention can more specifically focus on given real-life constraints and thus give more realistic matches and consider multiple patients and multiple doctors. Another advantage of the proposed concept as compared to other approaches is that the proposed concept may explain the attributes of the doctor specialists to the patients, leading to higher transparency. The pre-diagnosis that is given in some examples may also enhance transparency.
[0108] Machine learning is a branch of artificial intelligence that involves the development of algorithms and models that allow computers to learn and make predictions or decisions without being explicitly programmed. It focuses on creating systems that can improve their performance over time by learning from data.
[0109] Training a machine learning model refers to the process of teaching the model to make accurate predictions or decisions. During training, the model is exposed to a large amount of data, which is used to adjust the model's internal parameters or weights. The model learns patterns, relationships, or rules from the training data, allowing it to generalize and make predictions on new, unseen data.
[0110] Training data is the set of examples or instances that is used to teach a machine learning model. It is often labelled data, meaning that each example is associated with a known outcome or target value. The training data consists of both input features and the corresponding output or target variable. The model learns from this data by analyzing the patterns and relationships between the input features and the target variable. Training algorithms, such as supervised learning, semi-supervised learning, unsupervised learning or reinforcement learning may be used for training the machine learning model.
[0111] Machine learning models, such as the machine learning model being trained in the present disclosure, are often implemented as Artificial Neural Networks (ANNs), and in particular Deep Neural Networks, Support Vector Machines, Decision Tree models, or Random Forest models.
[0112] Examples may involve or relate to computer programs, including program codes to execute one or more of the mentioned methods when the program is executed on a computer, processor, or other programmable hardware component. As a result, steps, operations, or processes from various methods described above can also be executed by computers, processors, or other programmable hardware components. Examples may additionally cover program storage devices, such as digital data storage media, which are machine-, processor-, or computer-readable and encode and / or contain machine-executable, processor-executable, or computer-executable programs and instructions. These devices may include or be digital storage devices, magnetic storage media like magnetic disks and tapes, hard disk drives, or optically readable digital data storage media, for instance. Other examples encompass computers, processors, control units, field programmable logic arrays (FPLAs), field programmable gate arrays (FPGAs), graphics processing units (GPUs), applicationspecific integrated circuits (ASICs), integrated circuits (ICs), or system-on-a-chip (SoC) systems that are programmed to carry out the steps of the aforementioned methods. In simpler terms, examples may involve computer programs and storage media comprising computer programs, as well as hardware components like processors and control units, which can be programmed to execute the methods described above.
[0113] When certain aspects are mentioned in relation to a device or system, they should also be considered as descriptions of the corresponding methods. For example, a block, component, or functional aspect of the device or system may correspond to a method step or feature of the related method. Therefore, aspects described regarding a method should also be understood as depicting a corresponding element, property, or functional feature of the corresponding device or system. In simpler terms, if something is described in relation to a device or system, it can also be applied to the corresponding method, and vice versa.
[0114] Many modifications and other embodiments of the invention set forth herein will come to mind to the one skilled in the art to which the invention pertains having the benefit of the teachings presented in the foregoing description and the associated drawings. Therefore, it is to be understood that the invention is not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation. L i s t o f r e f e r e n c e s i g n s Apparatus Interface circuitry Processor circuitry Memory / storage circuitry Computer system Obtain representations of physicians Obtain representation(s) of patient(s) Generate estimate of medical condition Provide an alert Determine matching scores Obtain attention weighting Provide information on impact of input features Determine adjusted weighting scores Remove matching scores failing a weighting score threshold Generate a bi-partite graph Insert further vertex into the graph Provide information on recommended matches Provide additional data to physician Patient interview Doctor’s information Proposed concept Result Module / operation A.1 Module / operation B Module / operation A.2 Ensemble Resulting score Module / operation C for patient 1 Module / operation C for patient n Module / operation D
Claims
C l a i m s1 . A computer-implemented method for patient-physician matching, comprising: obtaining (110), for a plurality of physicians, a representation of the respective physician, wherein the representation of a physician comprises a plurality of sub-representations representing a category of properties of the respective physician; obtaining (120), for one or more patients, a representation of the respective patient, the representation of a patient comprising information on one or more symptoms of the patient; determining (140), using an ensemble of machine learning models, matching scores representing matches between the plurality of physicians and the one or more patients, wherein the ensemble of machine learning models comprises separate submodels for different categories of properties of the respective physicians, and wherein the ensemble of machine learning models takes the representations of the physicians and the representations of the one or more patients as input; and providing (190), based on the matching scores, information on one or more recommended matches between the plurality of physicians and the one or more patients.
2. The method according to claim 1 , wherein the respective physicians are represented by vector-based representations, with separate vectors representing the different categories of properties, wherein the bit width of a vector representing a category of properties is based on a number of properties included in the category of properties.
3. The method according to one of the claims 1 or 2, wherein the ensemble of machine learning models comprises a further sub-model for combining outputs of the separate sub-models for the different categories of properties, wherein the further sub-model takes as input the outputs of the separate submodels for the different categories of properties and information on aprioritization of properties to be used for selection of a physician included in the representation of the patient.
4. The method according to one of the claims 1 to 3, wherein the ensemble of machine learning models comprises at least one transformer machine learning model, the method comprising obtaining (150) information on an attention weighting applied by the at least one transformer machine learning model, and providing (155) information on an impact of features input into the at least one transformer machine learning model based on the information on the attention weighting.
5. The method according to one of the claims 1 to 4, wherein the method comprises generating (180) a bipartite graph comprising a first partial graph comprising a plurality of vertices representing the plurality of physicians, a second partial graph comprising one or more vertices representing the one or more patients, and a plurality of edges between the plurality of vertices representing the plurality of physicians and the one or more vertices representing the one or more patients, the plurality of edges representing the matching scores or adjusted matching scores, and determining (190) the one or more recommended matches between the plurality of physicians and the one or more patients based on the bipartite graph.
6. The method according to claim 5, wherein the method comprises, upon obtaining (120) a representation of a further patient, dynamically inserting (185) a further vertex into the second partial graph representing the further patient and a plurality of further edges between the further vertex and the plurality of vertices representing the plurality of physicians, and determining a recommended match for the further patient based on the bipartite graph.
7. The method according to one of the claims 5 or 6, wherein the plurality of edges represent a combination of the matching scores or adjusted matching scores and a severity of a medical condition of the respective patient.
8. The method according to one of the claims 1 to 7, wherein the act of obtaining (120), for the one or more patients, a representation of the patent comprises generating (130), using at least one further machine learning model, an estimate of a medical condition of the patient based on the representation of the patient, and providing (195), upon selection of a physician, information on the estimate of the medical condition to a computer system associated with the selected physician.
9. The method according to one of the claims 1 to 8, wherein the act of obtaining the representation of a patient comprises obtaining health sensor data of a medical monitoring device, fitness tracker, smartwatch or mobile device of the patient, and transforming the health sensor data to obtain at least a portion of the representation of the patient.
10. The method according to claim 9, wherein the method comprises providing (195), upon selection of a physician by a patient, the health sensor data or a processed version thereof to a computer system associated with the selected physician.
11. The method according to one of the claims 1 to 10, wherein the method comprises determining (160) adjusted matching scores based on the matching scores and secondary information on the respective physicians, such as availability of appointments at the physician, location of the physician, quality score of the physician and available capacity of the physician, wherein the information on the one or more recommended matches is provided based on the adjusted matching scores.
12. The method according to one of the claims 1 to 11 , wherein the method comprises removing (170) matching scores or adjusted matching scores failing a matching score threshold.
13. The method according to one of the claims 1 to 12, wherein the representation of a physician comprises at least a first category representingone or more treatment specialties offered by the physician and a second category representing medical equipment being available to the physician.
14. A computer program comprising instructions which, when the program is executed by a computer, processor, processing circuitry or microcontroller, cause the computer, processor, processing circuitry or microcontroller to perform the method of one of the claims 1 to 13.
15. An apparatus (10) comprising interface circuitry (12), machine-readable instructions, and processor circuitry (14) to execute the machine-readable instructions to perform the method according to one of the claims 1 to 13.
Citation Information
Patent Citations
Systems and methods for triaging a health-related inquiry on a computer-implemented virtual consultation application
US20190139648A1
Cited By
Doctor-patient intelligent matching method and system fusing real-time doctor-seeing information
CN121483536A