Medical Data Management System, Method And Computer Program

Information

  • Patent Application
  • 20220101987
  • Publication Number
    20220101987
  • Date Filed
    September 01, 2021
    3 years ago
  • Date Published
    March 31, 2022
    2 years ago
  • CPC
    • G16H40/20
    • G16H30/00
    • G16H10/60
    • G16H20/30
  • International Classifications
    • G16H40/20
    • G16H20/30
    • G16H10/60
    • G16H30/00
Abstract
A scheduling system includes: a plurality of input devices configured to output medical data, a workforce storage, configured to store working characteristics of a plurality of doctors, and a scheduler configured to receive as input data related to the medical data and the working characteristics, and configured to provide as output a plurality of schedules for the plurality of doctors for analysing the medical data.
Description
RELATED APPLICATION

This application claims the benefit of DE 10 2020 212 398.5, filed Sep. 30, 2020, which is hereby incorporated by reference in its entirety.


BACKGROUND

Timely interpretation of medical data, such as radiological images, in vitro data, patient monitored data, and consequent patient management is critical for achieving the best patient outcomes. Achieving this requires having the right data, such as imaging studies, interpreted by the right doctor, such as a radiologist, a pathologist, or a surgeon, at the right time.


This is challenging for a hospital, due to the continuous generation of medical data, the complexity of clinical information and hospital systems and the coordination required between many clinicians, imaging systems and hospital information systems.


Moreover, even for smaller hospitals, and more so for larger ones, the availability of the various doctors is variable, and their competences are variable as well, as some might specialize in different organs and/or medical conditions. It is challenging to ensure that the schedule according to which the various doctors process the incoming medical data is optimized.


Furthermore, the recent expansion of AI in medical data analysis, such as assisting in radiology, has led to the emergence of opportunities and new coordination challenges. Multiple automated systems have demonstrated improvements in interpretation times for specific imaging studies in isolation, by prioritizing studies with AI-detected critical findings. However, incorporating multiple such systems in a hospital system without coordinating their prioritization results in priority conflicts that may hurt global interpretation times.


The known systems operate so as to schedule the analysis of the medical data, either in its original form or after AI manipulation, by the doctors in simple manners, such as based on a first-in-first-out queue or based on a priority ranking. In the latter case, priority rankings usually are based on an input given by the requesting entity, such as the doctor in charge of the patient, the ER, or the ICU, and are thus subjective and might suffer from abuse, since the requesting entity usually has an incentive in getting its own medical data analysed first and/or cannot compare the urgency of its request to the global workload of the hospital.


SUMMARY AND DESCRIPTION

There is therefore a need to ensure that the schedule according to which the various doctors process the incoming medical data is optimized with respect to a plurality of parameters, such as the doctors' working hours, the association of a given medical condition to the best available doctor for its analysis, the urgency associated to each patient and the respective medical data, budgetary constraints, etc.


A dynamic scheduling system incorporating a scheduler can be used to optimize the scheduling for analysing medical data. This framework can incorporate multiple information sources, multiple constraints, and multiple objectives.


The system can dynamically create schedules for assigning the medical data to available doctors, so as to optimize the objectives while operating within the given constraints, based on an analysis of the medical data. The system can continuously optimize the scheduling based on the incoming medical data.


Moreover, aspects of the embodiments relate to methods which allow scores associated to the medical data to be equalized, or calibrated. That is, in order to avoid skewing the operation of the scheduler due to scores created in a non-unitary manner, for instance because they have been generated by different devices using different approaches to the score computation, the embodiments can provide techniques that allow such scores to be equalized among them.


An embodiment can relate to a scheduling system, including a plurality of input devices configured to output medical data, a workforce storage, configured to store working characteristics of a plurality of doctors, and a scheduler configured to receive as input data related to the medical data, and the working characteristics, and configured to provide as output a plurality of schedules for the plurality of doctors for analysing the medical data.


In some embodiments, the data related to the medical data can be the medical data.


In some embodiments, the scheduler can be configured so as to construct the plurality of schedules so as to maximize a correspondence between a medical condition associated to the medical data and specialties of the plurality of doctors and to minimize a turn-around-time for analysing the medical data in consideration of the urgency of the various conditions associated with the various pieces of medical data.


In some embodiments, the scheduling system can further include a plurality of data analysers, configured to receive the medical data from the plurality of input devices, analyse the medical data so as to assign a score indicative of urgency of the medical data and configured to output a scored medical data, and wherein the data related to the medical data can be the scored medical data.


In some embodiments, the scheduling system can further include a plurality of data analysers, configured to receive the medical data, analyse the medical data so as to assign a score indicative of urgency of the medical data, and output a scored medical data, and a score calibrator, configured to receive the scored medical data, analyse the scored medical data so as to calibrate the score of the medical data, and output a calibrated medical data, and wherein the data related to the medical data can be the calibrated medical data.


In some embodiments, the scored medical data can includes a plurality of pieces of scored medical data, any given piece of scored medical data including medical data and a risk score, wherein the score calibrator, for the act of analysing the scored medical data, can be configured to carry out a score calibration method including the acts of: for a given piece of scored medical data, estimating prior probability as empirical probabilities reported in literature or measured from historical records, for the given piece of scored medical data, estimating conditional probabilities for relevant findings as a function of the risk score associated to the given piece of scored medical data, constructing a graphical model of an interrelation between the plurality of risk scores and the plurality of findings, and inferring a posterior probability of a clinical state associated to the given piece of medical data, preferably using Bayesian inference.


In some embodiments, the score calibrator, for the act of estimating conditional probabilities, can be configured to estimate conditional probabilities using documented performance measures, preferably sensitivity and specificity, and/or using classifier calibration techniques, preferably as isotonic regression and/or Platts scaling.


In some embodiments, the scheduling system can further include an objective storage configured to store one or more objectives for the operation of the scheduler, wherein the scheduler can further be configured to receive as input the one or more objectives.


In some embodiments, the scheduling system can further include a constraints storage configured to store one or more constraints, wherein the scheduler can further be configured to receive as input the one or more constraints.


In some embodiments, the medical data can include one or more of radiology image, in vitro data, and recorded patient data.


A further embodiment can relate to a scheduling method including the acts of: receiving as input data related to medical data output by a plurality of input devices, and working characteristics of a plurality of doctors, and providing as output a plurality of schedules for the plurality of doctors for analysing the medical data.


In some embodiments, the data related to the medical data can be the medical data.


In some embodiments, the scheduling method can further include an act of constructing the plurality of schedules so as to maximize a correspondence between a medical condition associated to the medical data and specialties of the plurality of doctors and minimize a turn-around-time for analysing the medical data in consideration of the urgency of the various conditions associated with the various pieces of medical data.


In some embodiments, the scheduling method can further include the acts of receiving the medical data from a plurality of input devices, analyse the medical data so as to assigning a score indicative of urgency of the medical data, and outputting a scored medical data, wherein the data related to the medical data can be the scored medical data.


In some embodiments, the scheduling method can further include the acts of receiving the medical data, analysing the medical data so as to assign a score indicative of urgency of the medical data, outputting a scored medical data, receiving the scored medical data, analysing the scored medical data so as to calibrate the score of the medical data, and outputting a calibrated medical data, and wherein the data related to the medical data can be the calibrated medical data.


In some embodiments, the scored medical data can include a plurality of pieces of scored medical data, any given piece of scored medical data including medical data and a risk score, wherein the act of analysing the scored medical data can include a score calibration method including the acts of: for a given piece of scored medical data, estimating prior probability as empirical probabilities reported in literature or measured from historical records, for the given piece of scored medical data, estimating conditional probabilities for relevant findings as a function of the risk score associated to the given piece of scored medical data, constructing a graphical model of an interrelation between the plurality of risk scores and the plurality of findings, and inferring a posterior probability of a clinical state associated to the given piece of medical data, preferably using Bayesian inference.


In some embodiments, the act of estimating conditional probabilities can include estimating conditional probabilities using documented performance measures, preferably sensitivity and specificity, and/or using classifier calibration techniques, preferably as isotonic regression and/or Platts scaling.


In some embodiments, the scheduling method can further include the acts of storing one or more objectives for the operation of the scheduler, receiving as input the one or more objectives.


In some embodiments, the scheduling method can further include the acts of storing one or more constraints, receiving as input the one or more constraints.


In some embodiments, the medical data can include any of radiology image, in vitro data, and recorded patient data.


Further embodiments of the embodiments can relate to a computer program or a computer-program product or a computer-readable storage medium including program code. The program code can be loaded and executed by at least one processor. Upon loading and executing the program code, the at least one processor can perform a scheduling method for processing of medical data in accordance with any of the methods described. It is to be understood that the features mentioned above and those yet to be explained below may be used not only in the respective combinations indicated, but also in other combinations or in isolation without departing from the scope of the invention.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 schematically illustrates a scheduling system 1000 according to one embodiment;



FIG. 2 schematically illustrates a scheduling system 2000 according to another embodiment;



FIG. 3 schematically illustrates a score calibration method 3000 of one embodiment;



FIG. 4 schematically illustrates a scheduling system 4000 according to yet another embodiment;



FIG. 5 schematically illustrates a scheduling system 5000 according to still another embodiment; and



FIG. 6 schematically illustrates a scheduling system 6000 for another embodiment.





DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Some examples of the present disclosure generally provide for a plurality of circuits or other electrical devices. All references to the circuits and other electrical devices and the functionality provided by each are not intended to be limited to encompassing only what is illustrated and described herein. While particular labels may be assigned to the various circuits or other electrical devices disclosed, such labels are not intended to limit the scope of operation for the circuits and the other electrical devices. Such circuits and other electrical devices may be combined with each other and/or separated in any manner based on the particular type of electrical implementation that is desired. It is recognized that any circuit or other electrical device disclosed herein may include any number of microcontrollers, a graphics processor unit (GPU), integrated circuits, memory devices (e.g., FLASH, random access memory (RAN), read only memory (ROM), electrically programmable read only memory (EPROM), electrically erasable programmable read only memory (EEPROM), or other suitable variants thereof), and software which co-act with one another to perform operation(s) disclosed herein. In addition, any one or more of the electrical devices may be configured to execute a program code that is embodied in a non-transitory computer readable medium programmed to perform any number of the functions as disclosed.


In the following, embodiments of the invention will be described in detail with reference to the accompanying drawings. It is to be understood that the following description of embodiments is not to be taken in a limiting sense. The scope of the invention is not intended to be limited by the embodiments described hereinafter or by the drawings, which are taken to be illustrative only.


The drawings are to be regarded as being schematic representations and elements illustrated in the drawings are not necessarily shown to scale. Rather, the various elements are represented such that their function and general purpose become apparent to a person skilled in the art. Any connection or coupling between functional blocks, devices, components, or other physical or functional units shown in the drawings or described herein may also be implemented by an indirect connection or coupling. A coupling between components may also be established over a wireless connection. Functional blocks may be implemented in hardware, firmware, software, or a combination thereof.


According to the techniques described herein, it is possible to obtain a plurality of pieces of medical data to be processed by a plurality of doctors and compute a plurality of schedules for the processing of those pieces of medical data based on various characteristics of the medical data as well as constraints associated to the doctors, such as their working hours.


According to various scenarios, it would be possible that such functionality is implemented in a hospital picture archiving and communications system, e.g., for radiological images implementing the imaging data. This is sometimes referred to as Picture archiving and communication system (PACS). Here, medical data acquired may be push notified to multiple subscribers.


In the context of this application, the term medical data is understood to generally relate to medically relevant data for enabling a diagnosis of a patient. In particular, the medical data can include one or more among a radiology image, in vitro data, and recorded patient data, such as any of temperature, blood pressure, weight, height, age, medical history, clinical score, etc.


The medical data does not need to have a specific format and can, for instance, include a combination of images and text, such as a magnetic resonance image and the patient's medical history.


In some cases, as it will appear more clearly from the subsequent description, the medical data can include one or more tags, which might be added to, or modified, during processing of the medical data. The tag can include information such as a numerical measurement of gravity or urgency of the medical data as judged by a requesting entity or by an artificial intelligence analysis of the medical data.



FIG. 1 schematically illustrates a scheduling system 1000 including a plurality of input devices 1100, 1101-110N configured to output medical data 1110.


The input devices 1100, 1101-110N can include any device capable of outputting medical data 1110 which can be used for the diagnosis of a patient, and in particular any of:

    • medical imaging devices, such as X-ray imaging, magnetic resonance imaging, ultrasound imaging, echocardiogram, etc.
    • medical measuring devices, such as a thermometer, an electrocardiogram machine, an oxygen saturation monitor, a sphygmomanometer, etc., or
    • computing devices, such as a personal computer, a tablet, or a smartphone, which can be used by medical personnel to collect medical data manually, for instance based on an interview. This could apply, for instance, to the age and weight of the patient but also to description of pain locations and levels, or more general to a description of symptoms, etc.


The scheduling system 1000 can further include a workforce storage 1300, configured to store working characteristics 1301-130N of a plurality of doctors. The workforce storage, as well as other storages described throughout the application, can be implemented by any storage device, such as a hard-disk or a memory, and can store the working characteristics 1301-130N as digital data. The working characteristics 1301-130N can include, for each of a plurality of doctors, any of:

    • working availability of doctors, such as a combination of days and hours at which those doctors are expected to be working,
    • specialties of the doctors, such as an indication of a medical field, for instance by an alphanumeric string identifying the fields such as “cardiology”, “neurology”, “ophthalmology”, etc.
    • turnaround time for evaluating medical data based on statistics from previous analysis etc.


For instance, the following can illustrate a schematic content of an exemplary workforce storage 1300 storing working characteristics 1301-1303 of three doctors:

















Doctor X
Doctor Y
Doctor Z





















Working
Mon-Fri 9.00-
Mon-Fri
Mon-Wed



availability
17.00
12.00-20.00
10.00-16.00,






Fri






10.00-16.00,



Specialty
Cardiology
General
Neurology





Radiology



Turn-around-
2 H 23 min
0 h 45 min
1 h 25 min



time










The scheduling system 1000 can further include a scheduler 1200 configured to receive as input data related to the medical data 1110 and the working characteristics 1301-130N. In the implementation illustrated in FIG. 1, the data related to the medical data 1110 is the medical data 1110 itself.


The scheduler 1200, as well as other schedulers described throughout the application, can be implemented, in some embodiments, as a computing device implementing optimization methods that are instances of mixed integer linear programming and/or mixed integer non-linear programming. These methods enable the scheduler 1200 to mathematically express constraints and objectives which will be described later.


Alternatively, or in addition, in some embodiments the scheduler 1200, as well as other schedulers described throughout the application, can be implemented as a neural network.


The scheduler 1200 can be configured to provide as output a plurality of schedules 1401-140N for the plurality of doctors for analysing the medical data 1110. In some embodiments, the schedules can be a combination of at least an identifier of a piece of medical data, for instance an X-ray image, and a schedule for a given doctor for analysing the piece of medical data identified by the identifier.


For instance, in some cases, the schedules could be implemented as a list of identifiers of pieces of data for a given doctor. For instance, the following can illustrate a schematic illustration of the schedules 1401-140N for the three doctors X, Y, Z of the previous examples, assuming ten pieces of medical data D1-D10 to be analysed:

















Doctor X
Doctor Y
Doctor Z









D1
D10
D6



D5
D9
D7




D4




D8




D3




D2










That is, the schedules might include one or more schedules, each schedule being associated to one doctor, for instance through an appropriate identifier, where the schedule of a given doctor includes at least an ordered list of pieces of medical data to be analysed, preferably ordered based on their urgency.


In some embodiments, the schedule of a given doctor can further include time information, preferably associated to the piece of medical data, so as to also inform the doctor about the time at which the analysis of the piece of medical data is expected. An example of this approach is schematically illustrated in the following:

















Doctor X
Doctor Y
Doctor Z





















Mon 9.00-10.00
D1
D10




Mon 10.00-11.00

D9
D6



Mon 11.00-12.00

D4



Mon 12.00-13.00
D5
D8
D7



Mon 13.00-14.00

D3



Mon 14.00-15.00

D2










In some embodiments, the schedules outputted by the scheduling system can be integrated into radiology information systems (technical devices coordinating the image readings) or hospital information systems so that the objectives are realized.


In some embodiments, the scheduler 1200 can be configured so as to construct the plurality of schedules 1401-140N so as to


maximize a correspondence between a medical condition associated to the medical data 1110 and the specialties of the plurality of doctors, and so as to minimize a turn-around-time for analysing the medical data 1110.


In particular, in some embodiments, the turn-around-time can be minimized as a function of the urgency of the various conditions associated with the various pieces of medical data, with the more urgent medical conditions being scheduled to receive a lower turn-around-time and the less urgent medical conditions being scheduled to receive a higher turn-around-time.


In the example above, for instance, it can be considered that D2 had less urgency than D10, for instance because of a more urgent medical condition, such as a haemorrhage vs. a fracture. Still for instance, in the example above, of it can be considered that D5, which is scheduled to be analysed at the same time as D7, was related to a medical condition more related to cardiology than to neurology and thus associated to a doctor more expert in cardiology, and vice versa.



FIG. 2 schematically illustrates a scheduling system 2000. The scheduling system 2000 differs from scheduling system 1000 by further including a plurality of data analysers 2500, 2501-250N, configured to receive the medical data 1110 from the plurality of input devices 1100, 1101-110N, analyse the medical data 1110 so as to assign a score indicative of urgency of the medical data 1110, and output a scored medical data 2510.


The data analysers 2500 can include any of a manual, rule-based or neural network-based systems for judging the risk, or urgency, or priority, of the medical data.


In the manual mode, the risk can be for instance inserted by an operator, such as the entity requiring the analysis or by an operator performing a first level triage on the medical data 1110. In the rule-based and neural network-based mode, the risk can be associated to the medical data based on a set of predetermined rules and/or based on a neural network trained so as to associate a higher risk to more urgent conditions associated to the various pieces of medical data.


In some embodiments, the scheduling system 2000 differs from scheduling system 1000 in that it includes a scheduler 2200, which differs from scheduler 1200 in that the data related to the medical data provided as input to the scheduler 2200 is the scored medical data 2510.


In those embodiments, the scheduler 2200 can construct the plurality of schedules 1401-140N as previously described while also taking into account the level of urgency associated to the various pieces of medical data, in particular so as to reduce the turn-around-time as the urgency increases. In this manner, in addition to the advantages already obtained by the system 1000, it can also be ensured that more urgent pieces of medical data are analysed in a prioritized manner.


As still represented in FIG. 2, in some embodiments the system 2000 can further include a score calibrator 2600, configured to receive the scored medical data 2510, analyse the scored medical data 2510 so as to calibrate the score of the medical data 1110, and output a calibrated medical data 2610.


In particular, in cases in which the various data analysers 2501-250N operate independently of each other, there might be a problem in that the urgency scores given by the individual data analyser might be in relation to each other, while the urgency scores given by different individual data analysers might not. For instance, a given data analyser, i.e., data analyser 2101, might correctly determine that a piece of medical data 1110 has an urgency higher than another piece of medical data, correctly associating a 9/10 urgency score to the first piece of medical data and a 6/10 urgency score to the second piece of medical data. Similarly, another data analyser, i.e., data analyser 250N, might associate an urgency score of 8/10 to a third piece of medical data and 5/10 to a fourth piece of medical data. Due to the possibly different operation of the two data analysers, it might however be the case that the urgency scores from different data analysers are not directly comparable to each other. I.e., the 9/10 of the data analyser 2501 might actually be less urgent than the 8/10 of the data analyser 250N.


The score calibrator 2600 is intended to solve this potential issue. In particular, in some embodiments, the score calibrator 2600 can calibrate individual risk scores based on historical or contemporary empirical performance, performance models and/or prevalence at the healthcare system, hospital, departmental or scanner level.


The calibrated risk score can be combined into a common representation, such as a risk vector, to reflect the probability of each of a set of radiological findings or clinical states. More details on possible implementations of such risk vector will be provided in the description below.


Additionally, risk scores from some data sources, such as electronic health records (laboratory values, vital signs, and clinical history), may indicate a need for prioritization beyond the presence of specific findings. These calibrations can be done in advance or updated dynamically based on contemporary data.


In particular, FIG. 3 schematically illustrates a score calibration method 3000 which can be carried out by the score calibrator 2600 for calibrating the scored medical data 2510. The score calibrator can be implemented as hardware or software.


Here, it is assumed that the scored medical data 2510 includes a plurality of pieces of scored medical data 2510, any given piece of scored medical data 2510 including medical data and a risk score, associated to the medical data.


The score calibrator 2600, for the act of analysing the scored medical data 2510, can thus be configured, for a given piece of scored medical data 2510, to carry out an act S3100 of estimating prior probability as empirical probabilities reported in literature or measured from historical records.


Furthermore, the score calibrator 2600 can be further configured, for the given piece of scored medical data 2510, to carry out an act S3200 of estimating conditional probabilities for relevant findings, as a function of the risk score associated to the given piece of scored medical data 2510.


In particular, in some embodiments, for the act S3200, of estimating conditional probabilities, the score calibrator 2600 can be configured to estimate S3200 the conditional probabilities using documented performance measures, preferably sensitivity and specificity, and/or using classifier calibration techniques, preferably as isotonic regression and/or Platts scaling.


Additionally, the score calibrator 2600 can be further configured to carry out an act S3300 of constructing a graphical model of an interrelation between the plurality of risk scores and the plurality of findings.


Those skilled in the art will recognize that the graphical model can be implemented in any manner allowing representation of conditional dependence between variables, such as the prior probabilities and the conditional probabilities described above, as a graph.


Moreover, the score calibrator 2600 can be further configured to carry out an act of S3400 inferring a posterior probability of a clinical state associated to the given piece of medical data, preferably using Bayesian inference.


In some embodiments, the posterior probabilities of the clinical states can then be used as weighting factors for the risk vector.


A simplified example of such an approach is provided in the following. It will be understood that the specific example is not intended to be limiting the invention but rather clarify the description.


A hospital system can have 3 AI systems:


one that detects haemorrhage,


one that detects haemorrhage and infarct, and


one that detects calvarial fractures.


In this exemplary implementation, various variables can be defined by table 1 and table 2 below.













TABLE 1







Variable
Meaning
Values









H
Patient has haemorrhage
Y/N



I
Patient has infarct
Y/N



F
Patient has fracture
Y/N



A
Primary reason for admission
Trauma, Stroke,





Headache, etc.



N
Outcome of clinical
0, 1, . . . , 42




evaluation for stroke



AI_1H
Score of AI1 for haemorrhage
0-1 or n/a



AI_2H
Score of AI2 for haemorrhage
0-1 or n/a



AI_1I
Score of AI1 for infarct
0-1 or n/a



AI_3F
Score of AI3 for fracture
0-1 or n/a





















TABLE 2







Dependence
Representation
Estimation









P(H)
Conditional
hospital historical records




probability table



P(I)
Conditional
hospital historical records




probability table



P(F)
Conditional
hospital historical records




probability table



P(A|H, I, F)
Conditional
hospital historical records




probability table



P(N|I)
Parametric
hospital historical records




distribution



P(AI_1H|H)
Parametric
literature or internal study




distribution



P(AI_2H|H)
Parametric
literature or internal study




distribution



P(AI_1I|I)
Parametric
literature or internal study




distribution



P(AI_3F|F)
Parametric
literature or internal study




distribution










The conditional distributions in Table 2 can be fit to historical data or fit to contemporary data by recording the underlying disease states, clinical score, and AI scores in an internal study, and fitting the parametric models using expectation maximization. Notably, the conditional distribution of the AI score on the underlying disease state, for instance P(AI_1H|H) can be computed using the same data that is typically used for ROC analysis of AI classifiers.


A graphical model can be built containing the variables in Table 1 and the dependencies in Table 2, as schematically indicated below, where “=>” indicates a connection from a node to another in the graphical model:


I=>N, I=>AI1,I, I=>A;

H=>AI1,H, H=>AI2,H, H=>A;


F=>A, F=>AI3,F.

A calibrated risk score can thus be formulated as a vector of the posterior probabilities of I, H and F, given the observed medical data for the patient a, n, a1I, ai1H, ai2H, ai3F:






P I,H,F|A=a,N=n,AI
1I
=a
1I
,AI
1H
=ai
1H
,AI
2H
=ai
2H
,AI
3F
=ai
3F)





=P(I,H,F,A=a,N=n,AI1I=ai1I,AI1H=ai1H,AI2H=ai2H,AI3F=ai3F)/P(A=a,N=n,AI1I=ai1I,AI1H=ai1H,AI2H=ai2H,AIHF=ai3F)





=P(I)P(H)P(F)P(N=n|I)P(A=a|I,H,F)P(AI1H=ai1H|H)P(AI2H=ai2HH)P(AI2I=ai2I|I)P(AI3F=ai2F|F)/Sum_{I,H,F}P(I,H,F,A=a,N=n,AI1I=ai1I,AI1H=ai1H,AI2H=ai2H,AI3F=ai3F)


This vector can then be used by the scheduler, as will result from the following description.


In the presence of the score calibrator 2600, the scheduling system 2000 thus differs from scheduling system 1000 in that it includes a scheduler 2200, which differs from scheduler 1200 in that the data related to the medical data provided as input to the scheduler 2200 the calibrated medical data 2610.


In those embodiments, the scheduler 2200 can thus construct the plurality of schedules 1401-140N as previously described while also ensuring that the various urgency scores associated to the various pieces of medical data are interpreted in a correct manner, even when outputted by a plurality of different data analysers 2501-250N.



FIG. 4 schematically illustrates a scheduling system 4000. The scheduling system 4000 differs from scheduling system 1000 by further including an objective storage 4700 configured to store one or more objectives for the operation of the scheduler 4200.


In particular, the objectives can be given as input to the scheduler 4200 so as to indicate to the scheduler 4200 what priorities are to be considered when constructing the schedules 1401-140N.


In the examples above some objectives have already been indicated, such as maximize a correspondence between a medical condition associated to the medical data 1110 and the specialties of the plurality of doctors and minimize a turn-around-time for analysing the medical data 1110.


In the previously described embodiments, those objectives might be stored in the scheduler, for instance at the configuration or during the training thereof. The presence of the objective storage 4700 allows the objectives for the scheduler 4200 to be controlled during the operation of the scheduler 4200, for instance by adding or removing objectives, or by changing the relative weight associated to the various objectives, which are then provided as an input to the scheduler 4200.


Each of objectives might include, for instance, a numerically expressed weight associated to a natural-language expressed goal, the goals including, for instance:

    • maximize a correspondence between a medical condition associated to the medical data 1110 and the specialties of the plurality of doctors, this allows to achieve a higher analysis quality and reduce analysis time,
    • minimize a turn-around-time for analysing the medical data 1110, this allows to generally obtain a speedy processing of the medical data,
    • optimize a turn-around-time for analysing the medical data 1110 based on the risk score associated to it, the higher the risk score the lower the turn-around-time, balance analysing load among the various doctors, so that workload is evenly distributed to reduce burnout and maintain quality of service,
    • minimize overtime, this allows to reduce burnout and increase the quality of the analysis,
    • minimize operational cost, this allows to ensure financial viability of the hospital, for instance by, when two available doctors can both be assigned to a task, choosing the doctor with a lower cost, etc.



FIG. 5 schematically illustrates a scheduling system 5000. The scheduling system 5000 differs from scheduling system 1000 by further including a constraints storage 5800 configured to store one or more constraints 1301-130N. In some embodiments, as it will be clearer from the following description, the constraints might be doctor specific, that is, some constraints might have different values or different formulations depending on the specific doctor which is considered for the scheduling.


In particular, the constraints can be given as input to the scheduler 5200 so as to indicate to the scheduler 5200 what limits are to be considered when constructing the schedules 1401-140N.


Each of the constraints might include, for instance, a numerically expressed weight associated to a natural-language expressed goal, the goals including, for instance:

    • maximum interpretation time allowed for any piece of medical data 1100,
    • maximum interpretation time as a function of the urgency, such as the risk score, or the medical data,
    • maximum working hours of a given doctor, expressed daily and/or over a period of a plurality of days



FIG. 6 schematically illustrates a scheduling system 6000. The scheduling system 6000 is an example of how the various features previously described with reference to scheduling systems 1000-5000 can be combined together. It will be clear to those skilled in the art that any combination of any of the features of the various scheduling systems described above can be implemented, and not only the exemplary combination illustrated in FIG. 5.


As it is clear from the description above, the embodiment therefore allows an optimization-based approach to be implemented for a scheduling system. In the following additional embodiments and specific implementation approaches are disclosed, which can be combined with the embodiments above.


Reading tasks, such as the pieces of medical data, are to be completed and a number of medical providers, such as doctors, can assess, evaluate, and complete the tasks. The task pool is assumed to be dynamic, such that new tasks can be added, and tasks can be removed as they are completed or taken off the pool for any reason.


In some embodiments, xijk can denote a binary decision variable which indicates the assignment of task i∈custom-character to medical provider j∈custom-character at time unit k∈custom-character where custom-character and can custom-character represent the sets of tasks and medical providers and custom-character={1, 2, 3, . . . , kmax}can represent the ordered planning timeline with respect to time bins. It is then possible to define the following assignment variable:







x

i

j

k


=

{




1





if





task





i











is





assigned





to





medical





provider





j





at





time





unit






k
.







0
,

otherwise
.










Each time bin can span a finite amount time and tasks can span more than a unit of these time slots. The duration of task i in terms of time units can be denoted as di.


Each task in the pool can be associated with an accumulated wait time, denoted by wi, before the scheduling operation is executed. A binary variable can be defined to indicate the start time of the task:







y

i

k


=

{




1





if





task





i











starts





at





unit






k
.







0
,

otherwise
.










Multiple input variables can be defined to be able to encapsulate medical provider specific requirements. The binary input variable eijk can be used to identify staff that can work at time unit k, i.e., available, and task i lists staff j as eligible:







e

i

j

k


=

{




1





if





medical





provider





j











is





available





and





eligible





to





perform





task





i





at











time





unit






k
.







0
,

otherwise
.










This variable can be used to prevent assignments that are not feasible in terms of staff availability or certification or expertise. A target task amount can be associated to each personnel denoted as tj,target and a staffing cost per unit time slot for task i and staff j as cij.


The scheduling system can then use the information provided by the score calibrator, in the embodiments where present, in scheduling the tasks. In particular, each task can be associated with a score vector, svi that distributes the risk of the patient with respect to underlying conditions. For the purposes of scheduling, this score vector can be mapped to a scalar value using a function ƒ:custom-characterNcustom-character+, that accepts the N-dimensional score vector as input. The choice for the function ƒ an differ based on the preferences of the hospital or the unit. Example choices include, but are not limited to, weighted averaging, mean, median and maximum of the score vector svi. The scalar urgency value of the task can be then denoted by ui such that ƒ(svi)ui.


The optimization and input variables described above can thus be listed as in the table below:














Variable Name
Definition
Type







xijk
1 if task i is assigned to
Optimization



staff j at time unit k


di
Duration of task i in terms of
Input



time bins


wi
The duration task i has been in
Input



the task pool


yik
1 if task i starts at time unit
Optimization



k


eijk
1 if staff j is eligible to
Input



perform task i at time unit k


cij
Cost of task i, being performed
Input



by staff j


tj, target
The target task amount staff j
Input



has to


svi
Score vector of task i due to
Input



the score coordinator


ui
Urgency value of task i
Input









The constraints for scheduling system can then be summarized as follows:


Completion of tasks with respect to availability and eligibility: each task is preferably completed with respect to availability and eligibility constraints:











j

𝒥







k

𝒦





x

i

j

k




e

i

j

k





=

d
i


,



i


𝒯
.







Completion of the task by single personnel: to formulate this constraint an indicator function custom-character:Z+N×J→{0,1}N×J can be defined. Here custom-character+ can refer to the set of all non-negative integers. The constraint can then be written as:











j

P




𝒥


{




k

𝒦




x

i

j

k



}



=
1

,



i

T






Continuity of each task: These constraints incorporate the start time of the task and ensure that once a task is started, it can end without interruption:











j

𝒥




x

i

j

k



=




l
=

max


(

1
,

k
-

d
i

+
1


)



k




y

i

l






i

T





,

and








k

𝒦







This allows that if xijk=1 then yik has to be 1 within the duration of the task as it must have started. The following constraint ensures that tasks finish without interruption:











l
=
1



k
max

-

d
i

+
1




y

i

l



=
1

,



i


𝒯
.







Maximum wait time for a task: to prevent a task being on the task fool for an indefinite amount of time, the following constraint can be incorporated:









w
i

+




l

𝒦





y

i

l


×
l





max_wait

_time


,



i

𝒯






In this constraint any wait time that might have been accumulated before the current scheduling effort can be accounted for, via the inclusion of wi. Here the variable max_wait_time can be a user defined input that sets a time limit on the maximum time a task can stay in the job pool.


In some embodiments, a modified version of this constraint can be used to avoid infeasibilities in cases where it is not possible to schedule a task due to lack of eligible medical staff or other availability issues. The constraint can then be modified to include the non-negative slack variable lat ei for each task i:









w
i

+




l

𝒦





y

i

l


×
l






max_wait

_time

+

lat


e
i




,



i

𝒯






In order to avoid unnecessary delays, the slack variables, latei, can be incorporated into the objectives that will be explained below.


Deviation from target task amount: a target amount of task each medical staff should perform in the scheduling period is denoted by tj,target. Since it might not be possible to exactly match the target value, due to excess demand or lack of demand or urgencies, two non-negative slack variables, tj,over and tj,under, can be used to compensate for the deviation from the target:












i

𝒯







k

𝒦





d
i

×

x

i

j

k





-

C

j
,

o

v

e

r



+

C

j
,

u

n

d

e

r




=

C

i
,

t

a

r

get




,



j

𝒫






When a staff gets assigned more tasks than they are supposed to then tj,over>0 and tj,under=0. When a staff gets assigned less tasks than they are supposed to then tj,over=0 and tj,under>0.


The scheduling system can then optimize for any of the following objectives:


Minimization of late tasks: this objective is directly related to Constraint 4 where slack variables are used to bend the maximum wait time in the task pool:








𝒪

l

a

t

e


=




i

𝒯





g
i



(

l

a

t


e
i


)




,




where gi(.) is a function through which the slack variables are mapped to costs. In linear optimization this function is usually chosen as the identity mapping. Alternatively, or in addition, quadratic, piece-wise linear or other functions can be chosen to more heavily penalize large values of latei.


Minimization of urgency-weighted turn-around-time: this objective uses the urgency score of the tasks, ui, to minimize the turn around time of the jobs:








𝒪

T

A

T


=




i

𝒯





h
i



(





l

𝒦





y

i

l


×
l


,

u
i


)




,




where the term custom-characteryil×l identifies the start time of the task and the function hi(.) combines the start time with the urgency of task and maps to it a cost value.


One possible choice for this function can be the multiplicative weighting of the start time with the urgency value such as hi(custom-characteryil×l, ui)=ui×(custom-characteryil×1). Alternatively, or in addition, other functions such as quadratic forms that penalize the weighted start time more aggressively can be used.


Task-Staff Correlation: this objective function seeks to maximize the correlation of the task and staff assignments. Each task can be represented by a few keywords stemming from such as the type of exam, anatomy, suspected findings, and its translation into a real-valued vector denoted by tdi. Similarly, each medical personnel can be associated with a profile that summarizes their expertise denoted by pdj. Then the cost function becomes:








𝒪

c

o

r

r


=




i

𝒯







j

𝒫





v


(


t


d
i


,

pd
j


)




𝒥


(




k

𝒦




x

i

j

k



)






,




where v(.) is a measure of correlation and or fit and the inner most summation with the indicator function is used to count each task once even though they can span multiple time bins.


Minimize operational cost: through this objective, the assignment costs can be minimized:







𝒪

c

o

s

t


=




i

𝒯







j

P







k

𝒦





c

i

j


×

d
i

×

x

i

j

k










Load Balancing Across Medical Staff: this objective is related to constraint 5. The slack variables defined in that constraint are used in this objective to minimize the deviation from the target task amounts:







𝒪
LB

=



γ
j






j

𝒫





n

j
,

o

v

e

r





(

t

j
,

o

v

e

r



)




+


η
j






j

𝒫






n

j
,

u

n

d

e

r





(

t

j
,

u

n

d

e

r



)


.








Here nj,over(.) and nj,under(.) can be functions that penalize the slack variables. Various functions can be implemented, such as any of linear functions, non-linear and piecewise linear functions, to achieve balanced distribution of task amounts. γj and ηj can be used to individually weigh each cost term.


The scheduling system can thus have up to five cost functions that aim at optimizing different aspects of task assignment and scheduling. The user, such as a healthcare provider, can prioritize between these objectives. If an ordering of the objectives in terms priority exists, this can be translated to lexicographic optimization. A weighting of the objects can be used as well. Here an example is provided with five objectives:






custom-character
total
=b
1
custom-character
late
+b
2
custom-character
TAT
+b
3
custom-character
corr
+b
4
custom-character
cost
+b
5
custom-character
LB,


where b1,b2,b3,b4,b5 custom-character+. The scheduling system defined above can thus be seen as a mixed integer optimization.


Although various constraints and objectives have been disclosed, other constraints and objectives can be easily added to the scheduling system to encapsulate the needs of the healthcare providers. Similarly, constraints and objectives can be removed if they are deemed unnecessary.


The scheduling system can thus be used to optimize the task assignments each time a new task is added to the task pool by keeping the existing assignments for uncompleted tasks and updating the wait times for each task accordingly.


Although various embodiments of the invention have been described above with reference to specific characteristics for each embodiment, the present invention is not limited to the embodiments described. In particular, additional embodiments falling within the scope of the invention can be implemented by combining one or more of the features of a given embodiment with one or more of the features of one or more of the remaining embodiments.


Moreover, the various methods described above can be implemented by a computer program or a computer-program product or a computer-readable storage medium including program code. The program code can be loaded and executed by at least one processor. Upon loading and executing the program code, the at least one processor can perform a scheduling method for processing of medical data in accordance with any of the methods described above.

Claims
  • 1. A scheduling system comprising: a plurality of input devices configured to output medical data,a workforce storage configured to store working characteristics of a plurality of doctors,a scheduler configured to receive as input data related to the medical data and the working characteristics and configured to provide as output a plurality of schedules for the plurality of doctors for analysing the medical data.
  • 2. The scheduling system of claim 1, wherein the data related to the medical data is the medical data.
  • 3. The scheduling system of claim 1, wherein the scheduler is configured so as to construct the plurality of schedules so as to maximize a correspondence between a medical condition associated to the medical data and specialties of the plurality of doctors and minimize a turn-around-time for analysing the medical data in consideration of an urgency of various conditions associated with the various pieces of medical data.
  • 4. The scheduling system of claim 1, further comprising a plurality of data analysers configured to receive the medical data from the plurality of input devices, analyse the medical data so as to assign a score indicative of urgency of the medical data, and output a scored medical data, and wherein the data related to the medical data is the scored medical data.
  • 5. The scheduling system claim 1, further comprising: a plurality of data analysers configured to receive the medical data, analyse the medical data so as to assign a score indicative of urgency of the medical data, and output a scored medical data (2510), anda score calibrator configured to receive the scored medical data, analyse the scored medical data so as to calibrate the score of the medical data, and output a calibrated medical data, andwherein the data related to the medical data is the calibrated medical data.
  • 6. The scheduling system of claim 5, wherein the scored medical data comprises a plurality of pieces of scored medical data, any given piece of scored medical data comprising medical data and a risk score,wherein the score calibrator, for analysis of the scored medical data, is configured to: for a given piece of scored medical data, estimate prior probability as empirical probabilities reported in literature or measured from historical records,for the given piece of scored medical data, estimate conditional probabilities for relevant findings as a function of the risk score associated to the given piece of scored medical data,construct a graphical model of an interrelation between the plurality of risk scores and the plurality of findings, andinfer a posterior probability of a clinical state associated to the given piece of medical data, preferably using Bayesian inference.
  • 7. The scheduling system of claim 6, wherein the score calibrator, for the estimation of the conditional probabilities, is configured to estimate the conditional probabilities using documented performance measures and/or using classifier calibration techniques.
  • 8. The scheduling system of claim 1, further comprising an objective storage configured to store one or more objectives for the operation of the scheduler, wherein the scheduler is further configured to receive as input the one or more objectives.
  • 9. The scheduling system of claim 1, further comprising a constraints storage configured to store one or more constraints, wherein the scheduler is further configured to receive as input the one or more constraints.
  • 10. The scheduling system of claim 1, wherein the medical data comprises any of radiology image, in vitro data, and recorded patient data.
  • 11. A scheduling method comprising: receiving as input data related to medical data output by a plurality of input devices and working characteristics of a plurality of doctors, andproviding as output a plurality of schedules for the plurality of doctors for analysing the medical data.
  • 12. The method of claim 11, wherein the data related to the medical data is the medical data.
  • 13. The method of claim 11, further comprising: constructing the plurality of schedules so as to maximize a correspondence between a medical condition associated to the medical data and specialties of the plurality of doctors and minimize a turn-around-time for analysing the medical data in consideration of an urgency of various conditions associated with the various pieces of medical data.
  • 14. The method of claim 11, further comprising: receiving the medical data from the plurality of input devices,assigning a score indicative of urgency of the medical data, andoutputting a scored medical data,wherein the data related to the medical data is the scored medical data.
  • 15. The method of claim 11, further comprising: receiving the medical data,assigning a score indicative of urgency of the medical data,outputting a scored medical data,receiving the scored medical data,calibrating the score of the scored medical data, andoutputting a calibrated medical data, andwherein the data related to the medical data is the calibrated medical data.
  • 16. The method of claim 15, wherein the scored medical data comprises a plurality of pieces of scored medical data, any given piece of scored medical data comprising the medical data and a risk score, wherein, analysing the scored medical data comprises: for a given piece of scored medical data, estimating prior probability as empirical probabilities reported in literature or measured from historical records,for the given piece of scored medical data, estimating conditional probabilities for relevant findings as a function of the risk score associated to the given piece of scored medical data,constructing a graphical model of an interrelation between the plurality of risk scores and the plurality of findings, andinferring a posterior probability of a clinical state associated to the given piece of medical data, preferably using Bayesian inference.
  • 17. The method of claim 16, wherein estimating the conditional probabilities comprises estimating the conditional probabilities using documented performance measures and/or using classifier calibration techniques.
  • 18. The method of claim 11, further comprising: storing one or more objectives for the operation of a scheduler,receiving as input the one or more objectives.
  • 19. The method of claim 11, further comprising: storing one or more constraints,receiving as input the one or more constraints.
  • 20. The method of claim 11, wherein the medical data comprises any of radiology image, in vitro data, and recorded patient data.
Priority Claims (1)
Number Date Country Kind
10 2020 212 398.5 Sep 2020 DE national