Medical information processing system and medical information processing method, medical information processing service providing method, and program
The medical information processing system, which includes a server cluster configured using a plurality of virtual machines, includes a first controller that distributes a processing request to a non-emergency system processing request queue or an emergency system processing request queue depending on a type of the received processing request, a non-emergency system processing module that performs a process corresponding to a non-emergency system processing request stacked in the non-emergency system processing request queue, an emergency system processing module that performs a process corresponding to an emergency system processing request stacked in the emergency system processing request queue, and a second controller that controls the number of the processing modules, in which control by the second controller includes temporarily stopping a part of a plurality of non-emergency system processing modules in operation and newly activating the emergency system processing module.
1 . A medical information processing system comprising one or more processors configured to implement a plurality of virtual machines, a processor of the one or more processors is configured to:
perform processing request distribution of receiving a non-emergency system processing request and an emergency system processing request and distribute the non-emergency system processing request to a non-emergency system processing request queue and the emergency system processing request to an emergency system processing request queue depending on whether each of the non-emergency system processing request and the emergency system processing request is a process classified into non-emergency or a process classified into emergency, wherein the emergency system processing request is associated with a first allowable waiting time for the emergency processing request to complete and the non-emergency system processing request is associated with a second allowable waiting time for the non-emergency processing request to complete;
monitor the non-emergency system processing request queue and perform a process of a non-emergency system corresponding to instruction content of the non-emergency system processing request stacked in the non-emergency system processing request queue;
monitor the emergency system processing request queue and perform a process of an emergency system corresponding to instruction content of the emergency system processing request stacked in the emergency system processing request queue; and
perform calculation resource usage state control for controlling the number of the non-emergency system processes to be operated and the number of the emergency system processes to be operated based on the number of the emergency system processing requests that have been received and the number of the emergency system processes in operation and the second allowable waiting time, wherein
the calculation resource usage state control includes a process for temporarily stopping a part of a plurality of the non-emergency system processes in operation and newly activating the emergency system process to increase the number of the emergency system processes in response to a first processing waiting time from receiving the emergency system processing request until completion being longer than a first allowable waiting time determined based on a number of the non-emergency system processes that can be temporarily stopped.
2 . The medical information processing system according to claim 1 , wherein the first allowable waiting time is dynamically calculated based on an upper limit of the number of the non-emergency system processes that can be temporarily stopped to accommodate the emergency system processing request in a manner that the none-emergency system processes can still finish within the second processing waiting time.
3 . The medical information processing system according to claim 1 , wherein the processor is configured to:
dynamically calculate an upper limit of the number of the non-emergency system processes that are temporarily stoppable within a range in which the second processing waiting time until completion of a process for the non-emergency system processing request falls within the second allowable waiting time, temporarily stop the non-emergency system processes of which the number does not exceed the upper limit, and newly activate the emergency system process instead.
4 . The medical information processing system according to claim 1 , wherein the processor is configured to:
increase the number of the plurality of virtual machines and newly activate the plurality of emergency system processes on a virtual machine that has been added to increase the number of the emergency system processes.
5 . The medical information processing system according to claim 1 , wherein the processor is configured to:
decrease the number of the emergency system processes in a case where a state in which the number of the emergency system processes waiting for a process is equal to or greater than a defined number is maintained for defined time or more.
6 . The medical information processing system according to claim 1 ,
wherein the processor is configured to:
decrease the number of the emergency system processes added with temporary stop of the non-emergency system process and resume the non-emergency system process that has been temporarily stopped in a case where a state in which the number of the emergency system processes waiting for a process is equal to or greater than a first defined number is maintained for first defined time or more.
7 . The medical information processing system according to claim 4 , wherein the processor is configured to:
decrease the number of the emergency system processes on the virtual machine that has been added and decrease the number of the virtual machines that has been added in a case where a state in which the number of the emergency system processes waiting for a process is equal to or greater than a second defined number is maintained for second defined time or more.
8 . The medical information processing system according to claim 4 ,
wherein the processor is configured to:
decrease the number of the emergency system processes added with temporary stop of the non-emergency system process and resume the non-emergency system process that has been temporarily stopped in a case where a state in which the number of the emergency system processes waiting for a process is equal to or greater than a first defined number is maintained for first defined time or more; and
after resuming all of the non-emergency system processes that have been temporarily stopped,
decrease the number of the emergency system processes on the virtual machine that has been added and decrease the number of the virtual machines that have been added.
9 . The medical information processing system according to claim 1 ,
wherein the processor is configured to:
calculate a current processing waiting time of a case of receiving a processing request for each of the non-emergency system processing request and the emergency system processing request and provide a user terminal of a medical institution with information on the current processing waiting time.
10 . The medical information processing system according to claim 1 ,
wherein the processor is configured to:
prepare a first plan promising that a maximum waiting time until completion of a process for the non-emergency system processing request is a third waiting time, and a maximum waiting time until completion of a process for the emergency system processing request is a fourth waiting time shorter than the third waiting time, and
a second plan promising that at least one of the maximum waiting time until the completion of the process for the non-emergency system processing request or the maximum waiting time until the completion of the process for the emergency system processing request is a waiting time shorter than the maximum waiting time of the first plan; and
include the non-emergency system process, the emergency system process, and the virtual machine for the first plan that are allocated to a process of a processing request from a medical institution that has selected the first plan, and
the non-emergency system process, the emergency system process, and the virtual machine for the second plan that are allocated to a process of a processing request from a medical institution that has selected the second plan.
11 . The medical information processing system according to claim 10 ,
wherein the processor is configured to:
increase or decrease the number of the non-emergency system processes for the second plan, the number of the emergency system processes for the second plan, and the number of the virtual machines for the second plan according to an increase or decrease in the number of the medical institutions selecting the second plan.
12 . A medical information processing service providing method implemented by using the medical information processing system according to claim 1 , comprising:
receiving, by the medical information processing system, the processing request from a plurality of medical institutions via a communication line; and
executing, by the medical information processing system, a process corresponding to the processing request and returning the processing result to a medical institution that is a request source of the processing request.
13 . A medical information processing method that is executed by a computer comprising one or more processors configured to implement a plurality of virtual machines, the method comprising:
performing processing request distribution of receiving a non-emergency system processing request and an emergency system processing request and distribute the non-emergency system processing request to a non-emergency system processing request queue and the emergency system processing request to an emergency system processing request queue depending on whether each of the non-emergency system processing request and the emergency system processing request is a process classified into non-emergency or a process classified into emergency, wherein the emergency system processing request is associated with a first allowable waiting time for the emergency processing request to complete and the non-emergency system processing request is associated with a second allowable waiting time for the non-emergency processing request to complete;
monitoring the non-emergency system processing request queue and perform a process of a non-emergency system corresponding to instruction content of the non-emergency system processing request stacked in the non-emergency system processing request queue;
monitoring the emergency system processing request queue and perform a process of an emergency system corresponding to instruction content of the emergency system processing request stacked in the emergency system processing request queue; and
performing calculation resource usage state control for controlling the number of the non-emergency system processes to be operated and the number of the emergency system processes to be operated based on the number of the emergency system processing requests that have been received and the number of the emergency system processes in operation and the second allowable waiting time, wherein
the calculation resource usage state control includes a process for temporarily stopping a part of a plurality of the non-emergency system processes in operation and newly activating the emergency system process to increase the number of the emergency system processes in response to the first processing waiting time from receiving the emergency system processing request until completion being longer than a first allowable waiting time determined based on a number of the non-emergency system processes that can be temporarily stopped.
14 . A non-transitory, computer-readable tangible recording medium which records thereon a program for causing a computer comprising one or more processors configured to implement a plurality of virtual machines collectively implement a process comprising:
performing processing request distribution of receiving a non-emergency system processing request and an emergency system processing request and distribute the non-emergency system processing request to a non-emergency system processing request queue and the emergency system processing request to an emergency system processing request queue depending on whether each of the non-emergency system processing request and the emergency system processing request is a process classified into non-emergency or a process classified into emergency, wherein the emergency system processing request is associated with a first allowable waiting time for the emergency processing request to complete and the non-emergency system processing request is associated with a second allowable waiting time for the non-emergency processing request to complete;
monitoring the non-emergency system processing request queue and perform a process of a non-emergency system corresponding to instruction content of the non-emergency system processing request stacked in the non-emergency system processing request queue;
monitoring the emergency system processing request queue and perform a process of an emergency system corresponding to instruction content of the emergency system processing request stacked in the emergency system processing request queue; and
performing calculation resource usage state control for controlling the number of the non-emergency system processes to be operated and the number of the emergency system processes to be operated based on the number of the emergency system processing requests that have been received and the number of the emergency system processes in operation and the second allowable waiting time, wherein
the calculation resource usage state control includes a process for temporarily stopping a part of a plurality of the non-emergency system processes in operation and newly activating the emergency system process to increase the number of the emergency system processes in response to the first processing waiting time from receiving the emergency system processing request until completion being longer than a first allowable waiting time determined based on a number of the non-emergency system processes that can be temporarily stopped.