Healthcare Data Capacity Management
The use of stateless atomic processing units managed by a performance management unit addresses inefficiencies in healthcare data management systems by dynamically adjusting capacity, enhancing processing speed and resource utilization.
Patent Information
- Application Number
- JP2023141544
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2022-09-02
- Filing Date
- 2023-08-31
- Publication Date
- 2025-05-01
- Estimated Expiration
- 2043-08-31
AI Technical Summary
Conventional healthcare data management systems face inefficiencies due to inflexible allocation of processing units, leading to underutilization or insufficient capacity, resulting in longer processing times and increased energy and cost burdens.
A computer-implemented method using stateless atomic processing units arranged in modular processing pipelines, managed by a performance management unit that adjusts the number and distribution of units based on real-time performance monitoring to match demand.
This approach reduces processing time, minimizes memory consumption, and optimizes resource utilization by adapting processing capacity to dynamic demands, ensuring timely delivery of medical test results and reducing underutilized power.
Smart Images

Figure 0007671324000001 
Figure 0007671324000002 
Figure 0007671324000003
Abstract
Description
[Technical field]
[0001] The present invention relates to a computer-implemented method for managing processing power in a healthcare data management system, a healthcare data management system, and a non-transitory computer-readable storage medium. [Background technology]
[0002] In a healthcare data management system, healthcare data received from a medical device, e.g., a point-of-care medical device or a laboratory device, typically requires further processing before being output to the healthcare information management system for evaluation by a medical professional or the like. As an example, if a medical device performs NMR spectroscopy on a sample, the medical device may provide a spectrum as output data. Rather than the spectrum being provided to the healthcare information management system for evaluation by a medical professional, it may be desirable to determine the molecular structure to which the spectrum corresponds, and the molecular structure is output to the healthcare information management system with or without the underlying spectrum. Thus, a user of the healthcare information management system is provided with easily accessible information.
[0003] Such processing is conventionally performed in a series of processing steps: continuing with the example of NMR spectroscopy, a first step may be filtering the spectrum to reduce noise, a second step may be identification of peaks within the spectrum, and a third step may be correlation of the identified peaks with known substances.
[0004] The processing may be performed in one or more processing units in one or more computers. The demand for processing capacity in the healthcare data management system may vary, for example, due to the number of medical devices used at a given time or the maintenance of the processing units. However, in conventional healthcare data management systems, the distribution, allocation, and / or number of processing units for performing data processing is fixed. Thus, conventional healthcare data management systems cannot accommodate either peaks or troughs in demand for processing capacity. Such inflexibility is inefficient because there are periods when the available processing capacity of a particular processing stage is greater than necessary and the available processing capacity of another processing stage is insufficient to meet the demands of that processing stage. Insufficient processing capacity of a given processing stage results in longer processing times than if the processing stage had a greater processing capacity, meaning that medical personnel and the like must wait longer after a medical test is performed to get the results of that test. Moreover, underutilized processing capacity represents an energy and cost burden.
[0005] Generally, one or more of the steps that make up a given data processing operation will take substantially longer to complete than other steps of the data processing operation. Continuing with the previous example, identifying peaks in an NMR spectrum may be a step that a processing unit can perform more quickly than associating the identified peaks with chemical structures.
[0006] The present invention has been made in consideration of the above considerations. Summary of the Invention
[0007] Accordingly, in a first aspect, an embodiment of the present invention provides a computer-implemented method for managing processing capacity in a healthcare data management system, the healthcare data management system including: a plurality of medical devices generating healthcare data; one or more processing pipelines receiving the healthcare data from the one or more medical devices, the or each processing pipeline being formed from a plurality of processing stages, the processing stages being arranged in series and performing respective operations on the received healthcare data, each processing stage being implemented on a stateless atomic processing unit; a healthcare middleware receiving processed data from the one or more processing pipelines and providing the processed data to the healthcare information management system; and a performance management unit managing the processing capacity of each processing pipeline.
[0008] A computer-implemented method of a first aspect includes monitoring, by a performance management unit, performance of the or each processing pipeline; and adjusting, by the performance management unit, a number of stateless atomic processing units implementing a given processing stage in the given processing pipeline based on the monitored performance.
[0009] Such a method of managing processing power reduces the time it takes to process data from medical devices because the processing power of the healthcare data management system is adapted to existing process demands by using stateless atomic processing units that can be deployed in a modular manner. This ultimately means that medical test results can be provided to medical personnel and the like sooner after the test is performed. Furthermore, such a method reduces memory consumption within the healthcare data management system and reduces underutilized processing power within the healthcare data management system.
[0010] By processing pipeline it may be understood that a data pipeline, both of which may be understood as a set of data processing elements (e.g. processing stages) connected in series, where the output of one element is the input of the next element. By stateless processing unit it may be understood that the processing unit is instantiated without knowledge or reference to past processing performed, and each operation performed by a stateless processing unit is performed entirely on information pertaining to the input. By atomic stateless processing unit it may be understood that a stateless processing unit performs operations that cannot be further divided, i.e. that cannot be further conceptually divided.
[0011] The computer-implemented method may be applied to a healthcare data management system where there are multiple processing pipelines and one or more processing stages in a given one of the multiple processing pipelines are shared with another one of the multiple processing pipelines or with a subset (e.g., more than one) of the multiple processing pipelines. Thus, when there are processing stages shared between multiple processing pipelines, the processing time of the multiple pipelines may be reduced by increasing the number of stateless atomic processing units that implement a single stage, providing greater flexibility within the healthcare data management system with respect to allocation of processing power.
[0012] The step of monitoring the performance of the or each processing pipeline may be performed by a performance management unit comparing performance parameters with performance thresholds. Thus, advantageously, the performance management unit is provided with a quantitative way of measuring the performance of the system so that an objective decision can be made regarding the adjustment of the number of stateless atomic processing units implementing a given processing stage.
[0013] The performance parameters monitored by the performance management unit may include one or more of the following: the amount of memory used by a given processing pipeline or processing stage, the time it takes for the healthcare data received from a given medical device to reach the healthcare middleware, and the amount of processing power used by a given processing pipeline or processing stage. This is beneficial in that the monitoring performed by the performance management unit can reflect the characteristics of the healthcare data management system that are important and influenced by the number of stateless atomic processing units implementing a given processing stage, i.e., the time it takes for the processed data to be provided to the healthcare information management system after the relevant tests are performed, as well as the amount of processing power and memory in use.
[0014] The method of the first aspect may be applied to a healthcare data management system in which the one or more medical devices are one or more laboratory equipment and / or one or more point-of-care devices. Advantageously, this may increase the flexibility of the method with respect to different healthcare data management systems to which it may be applied.
[0015] In the method of the first aspect, the performance management unit may receive definitions of one or more processing pipelines, specifying one or more processing stages of each processing pipeline, and may create additional processing pipelines based on the monitored performance. The performance management unit may create a single additional processing pipeline, or may create multiple additional processing pipelines. Similarly, the performance management unit may remove one or more processing pipelines based on the monitored performance. This is advantageous to provide a method with greater flexibility in how the processing capacity of the healthcare data management system is managed. This is illustrated by an example where the demand of some stages in a given processing pipeline exceeds the processing capacity of those stages, and the entire pipeline may be replicated instead of, or in addition to, increasing the number of stateless atomic processing units that implement those processing stages of the pipeline. Similarly, if the performance management unit is able to remove one or more processing pipelines, this may enable removing an entire processing pipeline when the monitored performance indicates that the pipeline is underutilized and / or multiple processing stages that form the processing pipeline are underutilized.
[0016] A given or each atomic processing unit in the healthcare data management system, the number of which is adjusted by the method of the first aspect, may be provided as either a physical machine or a virtual machine. By virtual machine, it may mean either a virtualized hardware stack along with a virtualized operating system, or a container runtime (a particular application / executable / software suite running within a virtualized container). Advantageously, providing the atomic processing unit as a virtual machine may reduce provisioning and deployment times. Advantageously, providing the given or each atomic processing unit as a physical machine may increase processing throughput.
[0017] The method may further comprise a performance management unit for increasing the number of stateless atomic processing units implementing a given processing stage in a given processing pipeline when the monitored performance indicates that the given processing pipeline is over-utilized, and decreasing the number of stateless atomic processing units implementing a given processing stage in a given processing pipeline or removing one or more processing pipelines when the monitored performance indicates that the given processing pipeline is under-utilized. Thus, the method of the first aspect can appropriately respond to changes in demand for processing capacity in the healthcare data management system.
[0018] In a second aspect, an embodiment of the present invention provides a healthcare data management system comprising: a plurality of medical devices configured to generate healthcare data; one or more processing pipelines connected to one or more of the medical devices and configured to receive healthcare data therefrom, where the or each processing pipeline is formed from a plurality of processing stages, the processing stages being arranged in series and configured to perform respective operations on the received healthcare data, where each processing stage is implemented on a stateless atomic processing unit; a healthcare middleware connected to the or each processing pipeline and configured to receive processed data therefrom and to provide the processed data to a healthcare information management system; and a performance management unit configured to manage a processing capacity of the or each processing pipeline by monitoring a performance of the or each processing pipeline and adjusting a number of stateless atomic processing units implementing a given processing stage in the given processing pipeline based on the monitored performance.
[0019] Such a healthcare data management system can reduce latency for processing data from medical devices because the processing power of the healthcare data management system is adapted to existing process demands by using stateless atomic processing units that can be deployed in a modular manner. This ultimately means that medical test results can be provided to medical personnel and the like sooner after the test is performed. Furthermore, such a healthcare data management system reduces memory consumption associated with its operation and reduces underutilized processing power.
[0020] The healthcare data management system of the second aspect may include any one, or any compatible combination, of the optional features described with reference to the first aspect.
[0021] In a third aspect, there is provided a non-transitory computer-readable storage medium comprising machine-executable instructions that, when executed on one or more processors, cause the processors to perform the computer-implemented method of the first aspect.
[0022] The present invention includes combinations of the described embodiments and preferred features unless such combinations are expressly not permitted or explicitly avoided. [Brief description of the drawings]
[0023] Embodiments of the present disclosure will now be described, by way of example only, with reference to the accompanying drawings, in which:
[0024] [Figure 1] FIG. 1 illustrates the flow of data through a healthcare data management system. [Diagram 2] 2 is a table of data relating to the processing of information by the individual processing stages that make up the processing pipeline. [Diagram 3] 2 is a table of data relating to the processing of information by the individual processing stages that make up the processing pipeline. [Figure 4] FIG. 1 illustrates the flow of data through a healthcare data management system. [Diagram 5] A process flow diagram for a healthcare data management system that processes healthcare data and a process flow diagram for a method of managing the processing capacity of the healthcare data management system are included. [Figure 6] A process flow diagram for a healthcare data management system that processes healthcare data and a process flow diagram for a method of managing the processing capacity of the healthcare data management system are included. [Figure 7] FIG. 2 is a process flow diagram of the steps of a performance management unit for monitoring the performance of a processing pipeline. [Figure 8] FIG. 1 is a process flow diagram of the steps of determining adjustments to the healthcare data management system performed by the performance management unit. [Figure 9] 1 is an example of metadata contained within a healthcare data packet. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0025] Aspects and embodiments of the present disclosure will now be described with reference to the accompanying drawings. Further aspects and embodiments will be apparent to those skilled in the art.
[0026] [Figure 1] FIG. 1 is a diagram illustrating the flow of data through a healthcare data management system 100. A medical device, in this case a laboratory device 110, is connected to two data processing pipelines 101a, 101b of the healthcare data management system 100. The processing pipelines 101a, 101b are then themselves connected to a healthcare middleware (HCMW) 115, which outputs data from the healthcare data management system 100 to a healthcare information management system 125, which may be a laboratory management system (LMS), laboratory information system (LIS), or hospital information system (HIS), for use by medical personnel and others to access the data output by the HCMW 115. The two processing pipelines 101a, 101b of FIG. 1 are also connected to a performance management unit (PMU) 120 within the healthcare data management system 100.
[0027] The laboratory equipment 110 may be used to perform one or more tests that generate healthcare data, such as testing for blood glucose levels in a sample, the presence of an analyte in a sample, reading a DNA or RNA sequence, mass spectrometry testing, blood gas analysis, etc. Upon performing one or more tests and thereby generating healthcare data, the healthcare data is transmitted from the medical device (i.e., the laboratory equipment 110) to the processing pipeline 101 in a healthcare data packet. The processing pipeline 101 processes the received healthcare data into processed data that may be utilized by an end user of the healthcare information management system 125. In one example, the medical device may be an NMR machine, and the healthcare data provided by the NMR machine may include an NMR spectrum. The processing pipeline 101n may then process the NMR spectrum received from the medical device into a molecular structure that corresponds to the spectrum output by the NMR machine. Each processing pipeline 101n is formed from multiple processing stages 102n, each performing a different operation on the data passing through the pipeline 101n. The processing stages 102n of a pipeline 101n are arranged in series within the pipeline 101n and define the overall process performed by that pipeline 101n on the healthcare data received. In FIG. 1, the processing pipeline 101a includes processing stages 102a, 102b and 102c, and the processing pipeline 101b includes processing stages 102d, 102e and 102f. Both processing pipelines 101a, 101b in FIG. 1 receive data from the same laboratory equipment 110. The healthcare data received by each processing pipeline 101 may be the same as the healthcare data received by another processing pipeline 101, or a given medical device may provide different healthcare data to each processing pipeline 101 to which it is connected.In either case, the processing pipelines 101a, 101b of FIG. 1 include different processing stages 102 from each other, so that even if the healthcare data provided to both of these processing pipelines 101 from the lab equipment 110 is the same, the healthcare data is subjected to different processing in each processing pipeline 101, and the processed data output by each to the HCWM 115 is different. To continue with the previous example with NMR data, the overall process performed by the pipeline 101 receiving an NMR spectrum and outputting a corresponding molecular structure may include processing stages 102 of (i) filtering the spectrum to reduce noise, (ii) identifying peaks in the spectrum, and (iii) correlating the identified peaks with known substances.
[0028] Each processing stage 102 in the processing pipeline 101 is implemented on a stateless atomic processing (SAP) unit 103. The processing unit 103 being a "stateless" processing unit means that there is no record of previous events in a given sequence of interactions with another computer or program, device, or other external element. Each interaction request (i.e., receipt of data from a previous processing stage 102, or elsewhere in the healthcare data management system 100) must be processed by the processing unit 103 based entirely on the information accompanying the interaction request. The processing unit 103 being an "atomic" processing unit means that the processing performed by the processing unit 103 is an indivisible and irreducible sequence of operations that occur in their entirety or not at all.
[0029] Since the processing steps 102 are implemented on the SAP unit 103, the healthcare data packet also includes metadata that enables the healthcare data packet to be provided to the correct processing pipeline 101 with the correct sequence of processing steps 102 so that the desired processing data is obtained from the healthcare data, together with the analytical data obtained from the tests performed by the medical device. The healthcare data packet metadata is further described in relation to FIG. 9. If a processing step is implemented on a single SAP unit, the SAP unit and the processing step may be referenced by the system via the same identifier, e.g., 102d. However, if a processing step is replicated across multiple SAP units (e.g., 102a), the system will reference a given SAP, e.g., 102a1 and 102a2, that implements that processing step. It may be understood that if a processing step is replicated across n SAP units, this corresponds to providing n pipelines that include the same processing step.
[0030] It can be appreciated that certain processing stages 102 that make up a processing pipeline 101 may take substantially longer to complete than other processing stages 102 that make up that processing pipeline 101. Referring back to the NMR example above, for example, identifying peaks in an NMR spectrum may be a processing stage 102 that can be performed in less time than a processing stage 102 that associates the identified peaks with chemical structures, given the same processing power for each stage. Considering a scenario in which multiple packets of healthcare data are being sent to a given processing pipeline 101, it is clear that the slowest processing stage 102 among the processing stages 102 that make up that processing pipeline 101 may become a bottleneck within that processing pipeline 101 in terms of the time it takes for a packet of healthcare data to pass through the processing pipeline 101.
[0031] This bottleneck problem is illustrated by the data in the table of Figure 2. The table provides the three processing stages 102 that make up the processing pipeline 101, along with the processing time of each processing stage 102 (the average time required for a SAP unit 103 to execute the processing stage 102 on a packet of healthcare data) and the number of SAP units 103 that implement each processing stage 102.
[0032] Next, data is presented for two scenarios: a first scenario in which a new healthcare data packet enters the pipeline every 2 ms for the past 200 ms, starting from the time t=0 ms when the processing pipeline is empty, and a second scenario in which a new healthcare data packet enters the pipeline every 0.5 ms for the past 200 ms, starting from the time t=0 ms when the processing pipeline is empty. If a data packet is passed to a processing stage 102 that is already occupied with processing a previous data packet, the data packet joins a queue to be processed by the processing stage 102. For each of the two scenarios described above, the number of data packets that are queued at each processing stage 102 when a data packet that enters the processing pipeline 101 at t=200 ms arrives at that processing stage is provided, along with the time that the data packet consequently spends in that queue. In the first scenario, the only queue that occurs in the processing pipeline 101 is for the processing stage 102b. Each data packet arriving at processing stage 102a is processed before the next data packet arrives (since it is the first stage of processing pipeline 101, the processing time of processing stage 102a is 1 ms and a packet arrives at processing stage 102a every 2 ms), and each data packet leaving processing stage 102b and passed to processing stage 102c is processed before the next data packet arrives at processing stage 102c (since this is the processing time of the previous processing stage 102c and there is a single SAP unit 103 implementing processing stage 102b, the processing time of processing stage 102c is 5 ms and a packet arrives at processing stage 102c every 10 ms). On the other hand, data packets arrive at processing stage 102b from processing stage 102a every 2 ms and processing stage 102b takes 10 ms to process each data packet, which means that a queue evolves for processing stage 102b. A data packet that enters processing pipeline 101 at t=200ms then spends 1000ms in the queue for processing stage 102b.
[0033] In a second scenario, where the processing time of each processing stage 102 and the number of SAP units 103 executing each processing stage 102 are the same, it can be seen that an increase in the frequency of healthcare data packets entering the processing pipeline 101 will generate a queue for processing stage 102a as well as an even larger queue for processing stage 102b, since the processing time of processing stage 102a is longer than the time interval between healthcare data packets arriving at processing stage 102a. Note that since processing stage 102b is already acting as a bottleneck, no queue is developed for processing stage 102c, even though the processing time of stage 102c is larger than the time interval between healthcare data packets entering processing pipeline 101a.
[0034] The present invention addresses bottleneck problems that may arise in a processing pipeline 101 by being able to adjust the number of SAP units 103 implementing a given processing stage 102 in a given processing pipeline 101. The concept of multiple SAP units implementing a given processing stage 102 is illustrated in FIG. 1 by processing stage 102a of pipeline 101a including two SAP units 103, processing stage 102b of pipeline 101a including a single SAP unit 103, and processing stage 102c of pipeline 101a including three SAP units 103. In general, for a given processing pipeline 101, the PMU 120 monitors the performance of that processing pipeline 101, and the PMU 120 can then decide to adjust the number of SAP units 103 implementing a given processing stage 102 in that pipeline 101 based on the monitored performance. The monitoring and adjustment steps performed by the PMU 120 are further described in relation to FIGS. 5-8.
[0035] Figure 3 provides a table of data showing how the present invention can address the bottleneck problem discussed above with reference to Figure 2. The data in the table in Figure 3 is the same as the table in Figure 2, except that the PMU 120, which monitored the performance of the processing pipeline 101, adjusted the number of SAP units 103 implementing processing stages 102b and 102c in the processing pipeline 101. The number of SAP units 103 implementing processing stage 102b was adjusted because under both scenarios in Figure 2 (healthcare data packets input every 2 ms and every 0.5 ms), processing stage 102b was responsible for the increase in processing time of healthcare data packets input to the pipeline 101 due to the queue developed for processing stage 102b. The number of SAP units 103 implementing processing stage 102c has been adjusted because under both scenarios processing stage 102b is not the cause of the increase in processing time of healthcare data packets entering pipeline 101, and now three SAP units 103 are implementing processing stage 102c, meaning that processing capacity within healthcare data management system 100 is underutilized.
[0036] In Fig. 3, the number of SAP units 103 in which processing stage 102b is implemented has increased from 1 to 5. Each SAP unit 103 of a given processing stage 102 is parallel to the other SAP units 103 of that processing stage 102, meaning that in the case of Fig. 3 processing stage 102b can be executed simultaneously on up to 5 different data packets. The result of the adjustment to the number of SAP units 103 implementing processing stage 102b is that the queue for processing stage 102b under the first scenario of Fig. 2 is eliminated in Fig. 3 and the queue for processing stage 102b under the second scenario of Fig. 2 is substantially reduced in Fig. 3. Furthermore, in Fig. 3 the number of SAP units 103 in which processing stage 102c is implemented has decreased from 3 to 1. This adjustment means that processing stage 102c can only operate on one data packet at a time, but this does not prevent the passage of data through processing pipeline 101, as there is still sufficient processing capacity in processing stage 102c to be able to start processing a data packet sent from processing stage 102b to processing stage 102c as soon as it reaches processing stage 102c.
[0037] It can thus be seen that the present invention can reduce wait times for processing data from medical devices because the processing power of the healthcare data management system 100 is adapted to existing process demands by using the SAP unit 103, which can be deployed in a modular manner. This ultimately means that medical test results can be provided to medical personnel and the like sooner after the test is performed. Furthermore, underutilized processing power within the healthcare data management system 100, 400 can be reduced and the saved processing power can be utilized elsewhere within the healthcare data management system 100, 400.
[0038] 4 is a diagram illustrating the flow of data through a healthcare data management system 400. The healthcare data management system 400 of FIG. 4 includes several modifications to the healthcare data management system 100 of FIG.
[0039] First, instead of the single laboratory device 110 in Fig. 1, the healthcare data management system 400 in Fig. 4 includes multiple medical devices of different types. Specifically, in the healthcare data management system 400 in Fig. 4, there are multiple laboratory devices 410a-410n and multiple point-of-care (POC) devices 412a-412m.
[0040] Further, in FIG. 4, there are three processing pipelines 401a, 401b, 401c, all three of which are in communication with the PMU 420. The processing pipeline 401a receives healthcare data from multiple laboratory devices 410, and the processing pipelines 401b and 401c both receive healthcare data from multiple POC devices 412. The processing pipelines 401a and 401c are formed of four processing stages (402a-402d for processing the pipeline 401a; 402g, 402h, 402i, and 402d for processing the pipeline 401c), and the processing pipeline 401b is formed of three processing stages (401e, 401f, 401d). As in FIG. 1, the number of SAP units 403 in which each processing stage is implemented varies among each processing stage 402 in FIG. 4. The processing pipelines 401b and 401c may receive the same healthcare data from the POC device 412, or the POC device 412 may provide different healthcare data to each processing pipeline 401. In either case, the processing pipelines 401b and 401c include different processing stages 402, so that even if the healthcare data provided to both of them from the POC device 412 is the same, the healthcare data has undergone different processing in each processing pipeline 401b, 401c, so that the processed data output by the two processing pipelines 401b, 401c to the HCWM 415 is different.
[0041] In FIG. 4, processing stage 402d is common to multiple processing pipelines (in this case, processing stage 402d is common to all three processing pipelines), and therefore the SAP unit 403 in which processing stage 402d is implemented is shared across the processing pipelines 401 in which it is common. A processing stage 402 common to multiple processing pipelines may be a process such as exporting processed data from a preceding processing stage in some format. In FIG. 4, there are five SAP units 403 in which processing stage 402d is implemented, and a data packet passing through any of the ongoing pipelines 401 may be passed to any of the SAP units 403 implementing processing stage 402d (i.e., a given SAP unit 403 implementing processing stage 402d may receive a data packet from any of processing stages 402c, 402f, or 402i). 4 is the final processing stage 402 of each processing pipeline 401, the location of the common processing stage 402 within the processing pipeline 401 is not particularly limited. The common processing stage 402 can be the first processing stage 402 within a given processing pipeline 401, or an intermediate processing stage 402 within a given processing pipeline 401. Thus, if there is a common processing stage 402 for multiple processing pipelines 401, the processing time of the multiple processing pipelines 401 can be reduced by increasing the number of SAP units 403 within a single processing stage 402, and the healthcare data management system 400 can be made more flexible in terms of handling variations in the rate at which healthcare data packets are received by different processing pipelines 401.
[0042] 5 includes a process flow diagram (PFD) for the healthcare data management systems 100, 400 (steps S100-S700) that process healthcare data, and a PFD for the process (steps S10-S20) that manages the processing capacity of the healthcare data management systems. First, the PFD of the healthcare data management systems 100, 400 that process healthcare data will be described.
[0043] In step S100, a healthcare data packet is received from a medical device, e.g., a lab device 110, 410 or a POC device 412. Next, in step S200, the healthcare data packet is assigned to a given processing pipeline 101, 401 in the healthcare data management system 100, 400 based on the metadata contained in the healthcare data packet. The healthcare data packet then enters the assigned processing pipeline 101, 401 and passes through the various processing stages 102, 402 contained within that processing pipeline (S300-S500), as described above in connection with Figures 1 and 4, with each processing stage 102, 402 being implemented on one or more SAP units 103, 403. Once the healthcare data packet has been processed by the processing pipeline 101, 401 into processed data, in step S600, the processed data is output to the HCMW 115, 415, which provides the processed data to the HCIMS 125, 425 in step S700.
[0044] While the healthcare data management system 100, 400 processes the healthcare data according to steps S100-S700, the PMU 120, 420 is executing a process of managing the processing capacity of the healthcare data management system 100, 400. As step S10, the PMU 120, 420 monitors the performance of the processing pipelines 101, 401 in the healthcare data management system 100, 400. Then, in step S20, the PMU may adjust the number of SAP units 103, 403 implementing a given processing stage 102, 402 in a given processing pipeline 101, 401 based on the results of the performance monitoring in step S10 to adjust the performance of the monitored processing pipeline. After performing step S20, the PMU 120, 420 may return to step S10 for further performance monitoring of one or more processing pipelines 101, 401 while the healthcare data management system 100, 400 is operating.
[0045] This process of managing the processing capacity of the healthcare data management system 100, 400 can be understood by referring to Figures 2 and 3, which can represent the state of the healthcare data management system 100, 400 before and after steps S10-S20 are executed, respectively. In Figure 2, only one SAP unit 103, 403 is executing the processing stage 102b, and the performance of the pipeline 101a of which the processing stage 102b forms part is insufficient (there is a large queue of data packets waiting to receive the processing stage 102b at time t=200 ms). However, in Figure 3, steps S10 and S20 are executed by the PMU 120, 420, so that the number of SAP units 103, 403 implementing the processing stage 102b is adjusted to five SAP units 103, 403. As a result of this adjustment, the performance of the pipeline 101 of which the processing stage 102b forms part has been improved (there is a smaller queue of data packets waiting to receive the processing stage 102b at time t=200 ms). Furthermore, in FIG. 2, three SAP units 103 implement the processing stage 102c, meaning that the processing capacity is underutilized. In FIG. 3, the number of SAP units 103 in which the processing stage 102c is implemented has been reduced from three to one. This adjustment means that the processing stage 102c can only be executed for one data packet at a time, but this does not prevent the passage of data through the processing pipeline 101, since there is still sufficient processing capacity in the stage 102c that a data packet sent from the processing stage 102b to 102c can start to be processed as soon as it reaches the processing stage 102c.
[0046] FIG. 6 includes a PFD (steps S100 to S700) for the healthcare data management systems 100, 400 that process healthcare data, and a PFD (steps S10 to S20) for the process of managing the processing capacity of the healthcare data management systems 100, 400.
[0047] With respect to the PFD of the healthcare data management system 100, 400 for processing healthcare data, the PFD in Fig. 6 is very similar to the equivalent PFD in Fig. 5, except that the PFD in Fig. 6 includes steps S300a-S600a corresponding to the first processing pipeline 101, 401 and steps S300b-S600b corresponding to the second processing pipeline 101, 401. With respect to managing the processing capacity of the healthcare data management system 100, 400, both the first processing pipeline 101, 401 and the second processing pipeline 101, 401 are monitored and adjusted.
[0048] Considering the PFD (steps S10-S20) for managing the processing capacity of the healthcare data management systems 100, 400, step S10 of the PMU 120, 420 monitoring the performance of the processing pipelines 101, 401 is the same as in Fig. 5. However, in Fig. 6, step S20 of adjusting the processing capacity of the healthcare data management systems 100, 400 includes the option of adjusting the number of SAP units 103, 403 implementing a given processing stage in a given processing pipeline (i.e., the same adjustment as described in relation to Fig. 5) and the option of adjusting the number of processing pipelines 101, 401 based on the monitored performance.
[0049] The PMU 120, 420 that adjusts the number of processing pipelines 101, 401 may take the form of a PMU that creates additional processing pipelines 101, 401 formed from the same processing stages 102, 402 arranged in the same order as another processing pipeline 101, 401 already present in the healthcare data management system 100, 400 whose performance the PMU 120, 420 is monitoring. To create the additional processing pipelines 101, 401, the PMU 120, 140 may receive definitions of one or more processing pipelines 101, 401, the definitions specifying multiple processing stages 102, 402 of each processing pipeline 101, 401. These definitions may be received, for example, from an administrator of the healthcare data management system, or the definitions may be derived from a data packet that defines (internally) the pipelines it expects to be processed in. Thus, the healthcare data management system 100, 400 may comprise multiple processing pipelines 101, 401 that can perform the same processing as each other on the received healthcare data. Therefore, at least a portion of the healthcare data packets that were assigned to the additional equivalent processing pipeline 101, 401 can be assigned to the additional processing pipeline 101, 401 created by the PMU 120, 420, thereby improving the performance of the processing pipeline 101, 401 having the additional equivalent processing pipeline 101, 401 created.
[0050] Alternatively, the PMU 120, 420 adjusting the number of processing pipelines 101, 401 may take the form of a PMU 120, 420 removing one or more processing pipelines 101, 401 from the healthcare data management system 100, 400. If there are multiple processing pipelines 101, 401 formed from the same multiple processing stages 102, 402 arranged in the same order with respect to each other, removing one of the processing pipelines 101, 401 does not remove the ability of the healthcare data management system 100, 400 to perform the healthcare data processing of that processing pipeline 101, 401 (because another equivalent processing pipeline 101, 401 remains in the healthcare data management system 100, 400), but may reduce memory consumption in the healthcare data management system 100, 400 and reduce underutilized processing capacity in the healthcare data management system 100, 400. In some examples, the PMU 120, 420 may remove all instances of a pipeline that is determined to be none in use. The PMU may create processing pipelines that do not currently exist, i.e., in response to a request from a medical device or upon receipt of data from a medical device. For example, an NMR machine may be taken offline for long term maintenance, so the pipelines that utilize that data may not be in use. In response, the PMU 120, 420 may remove these pipelines and bring them back up only when it detects that the NMR machine is back online and generating data.
[0051] Adjustments to the number of processing pipelines 101, 401 by the PMU 120, 420 may be utilized by the PMU 120, 420 to monitor the performance of the processing pipelines 101, 401 to indicate that there are multiple processing stages 102, 402 within a given processing pipeline 101, 401 that are over-utilized (i.e., operating near or at maximum capacity) or under-utilized (i.e., operating well below maximum capacity), or that there is an entire processing pipeline 101, 401 that is over-utilized or under-utilized.
[0052] FIG. 7 is a PFD providing more details on an example of how step S10 of FIG. 5 and FIG. 6 of monitoring the performance of the processing pipeline 101, 401 may be performed. Step S10 is performed by the PMU 120, 420. In step S11, the PMU 120, 140 obtains measurements of one or more performance parameters for the processing pipeline 101, 401 it is monitoring. The performance parameters may be one (or more) of the amount of memory used by a given processing pipeline 101, 401 or processing stage 102, 402, the time it takes for a healthcare data packet received from a given medical device to reach the healthcare middleware 115, 415, and the amount of processing power used by a given processing pipeline 101, 401 or processing stage 102, 402. In step S12, the PMU 120, 140 obtains a threshold value of the performance parameter for which a measurement was obtained in step S11. For example, the thresholds may represent: the maximum amount of memory that can be used by a given processing pipeline 101, 401 or processing stage 102, 402, the maximum allowable time for a healthcare data packet received from a given medical device to reach the healthcare middleware 115, 415, or the maximum amount of processing power that can be used by a given processing pipeline 101, 401 or processing stage 102, 402. In step S13, the PMU 120, 140 compares the measurements of one or more performance parameters obtained in step S11 with the corresponding thresholds obtained in step S12. In step S14, the results of step S13 are recorded (e.g., stored in a cache or long-term short-term memory) within the healthcare data management system 100, 400.
[0053] FIG. 8 is a PFD providing in more detail an example of a method of step S20 of FIG. 5 and FIG. 6 for adjusting the number of SAP units 103, 403 implementing a given processing stage 102, 402 in a given processing pipeline 101, 401 and / or, in the case of step S20 of FIG. 6, adjusting the number of processing pipelines 101, 401 in the healthcare data management system 100, 400 based on the monitored performance. Step S20 is performed by the PMU 120, 420. In step S21, the PMU 120, 140 retrieves one or more performance parameter comparison results stored in S14. Subsequently, in step S22, the PMU determines whether the results of the performance parameter comparison indicate that the processing pipeline 101, 401 and / or processing stage 102, 402 to which it is associated is over-utilized.
[0054] If the determination of step S22 is positive, the PMU 120, 420 proceeds to step S23, where the PMU 120, 140 increases the number of SAP units 103, 403 implementing the given processing stage 102, 402 in the given processing pipeline 101, 401 to which the performance parameter comparison result pertains. Alternatively or additionally, the PMU 120, 140 creates one or more additional processing pipelines 101, 401 formed from the same processing stages 102, 402 arranged in the same order as the processing pipeline 101, 401 to which the performance parameter comparison result pertains. Either or both of these actions are performed by the PMU 120, 420 to improve the performance of that processing stage 102, 402 and / or processing pipeline 101, 401.
[0055] If the determination in step S22 is negative, the PMU 120, 420 proceeds to step S24, where the PMU 120, 140 determines whether the results of the performance parameter comparison indicate that the processing pipeline 101, 401 and / or processing stage 102, 402 to which it is associated is underutilized.
[0056] If the determination of step S24 is positive, the PMU 120, 420 proceeds to step S25, where the PMU 120, 140 reduces the number of SAP units 103, 403 implementing the given processing stage 102, 402 in the given processing pipeline 101, 401 to which the performance parameter comparison result pertains. Alternatively or additionally, if there are multiple processing pipelines 101, 401 formed from the same processing stages 102, 402 arranged in the same order as the processing pipeline 101, 401 to which the performance parameter comparison result pertains, the PMU 120, 420 may remove one or more of such processing pipelines 101, 401. Either or both of these actions are performed by the PMU 120, 420 to reduce memory consumption within the healthcare data management system 100, 400 and to reduce underutilized processing capacity present within the healthcare data management system 100, 400.
[0057] Following steps S23 or S25, or following a negative result in step S24, the PMU 120, 140 proceeds to step S26, where the PMU 120, 140 is instructed to return to step S10 for further performance monitoring of one or more processing pipelines 101, 401 while the healthcare data management system 100, 400 is operating.
[0058] FIG. 9 is an example of metadata included in a healthcare data packet. FIG. 9 illustrates metadata that may be included in a healthcare data packet, namely, a packet ID that may be used to identify the data in the packet; a device ID that may be used to identify the medical device from which the data packet originates; a processing stage sequence that indicates the sequence of processing stages 102, 104 that the healthcare data in the packet must go through; and a processing pipeline 101, 401 that is assigned to the healthcare data packet for it to pass through based on the processing stage sequence specified for the healthcare data in the packet. The metadata includes information that enables the healthcare data packet to be provided to the correct processing pipeline 101, 401 with the correct sequence of processing stages 102, 402 to obtain the desired processed data from the healthcare data. If a given processing stage is implemented in parallel on multiple stateless atomic processing units, the metadata also includes information that identifies which of the multiple stateless atomic processing units the data packet is assigned to. For example, in FIG. 9, the processing stage sequence is defined as follows: 01-22a-04-18c. This indicates that the data packet should be processed first by processing stage 01. It should then be processed by processing stage 22 and stateless atomic processing unit a (e.g., 102a1 as described above). It should then be processed by processing stage 04 which finally provides the data packet to processing stage 18 and stateless atomic processing unit c (e.g., 102c3 with reference to FIG. 1).
[0059] The metadata may be generated by the performance management unit 120, 420 early in the process and inserted into the healthcare data packet upon its receipt by the healthcare data management system 100, 400. The metadata then travels with the healthcare data packet through the process. Alternatively, the performance management unit 120, 420 may communicate with the medical device and instruct the medical device on how to generate the metadata or provide the metadata to the medical device for encapsulation within the healthcare data packet.
[0060] As used herein, the term "laboratory equipment" encompasses any device or device component operable to perform one or more processing / workflow steps on one or more biological samples and / or one or more reagents. The term "equipment" includes pre-analytical, post-analytical, and analytical equipment.
[0061] The term "analyzer" / "analytical instrument" as used herein encompasses any device or device component configured to obtain measurements. An analyzer is operable to determine parameter values of a sample or its components through various chemical, biological, physical, optical or other technical procedures. An analyzer may be operable to measure said parameters of a sample or at least one analyte and return the obtained measurements. The list of possible analytical results returned by an analyzer includes, but is not limited to, the concentration of an analyte in a sample, the presence of an analyte in a sample (corresponding to a concentration above the detection level), optical parameters, data obtained from DNA or RNA sequences, mass spectrometry of proteins or metabolites, and digital (yes or no) results indicating various types of physical or chemical parameters. The analytical instrument may comprise units that assist in pipetting, dosing, and mixing of samples and / or reagents. The analyzer may comprise a reagent holding unit for holding reagents for performing the assay. The reagents may be arranged in the form of containers or cassettes containing individual reagents or groups of reagents, arranged, for example, in appropriate containers or positions in a storage compartment or conveyor. It may comprise a consumable supply unit. An analyzer may comprise process and detection systems whose workflow is optimized for a particular type of analysis. Examples of such analyzers are clinical chemistry analyzers, coagulation chemistry analyzers, immunochemistry analyzers, urine analyzers, nucleic acid analyzers used to detect the outcome of a chemical or biological reaction or to monitor the progress of a chemical or biological reaction.
[0062] As used herein, the term "pre-analytical equipment" encompasses any device or device component configured to perform one or more pre-analytical workflow steps, including, but not limited to, centrifugation, resuspension (e.g., by mixing or vortexing), capping, decapping, recapping, sorting, tube type identification, sample quality determination, and / or aliquoting steps. Said steps may also include adding chemicals or buffers to the sample, concentrating the sample, incubating the sample, etc.
[0063] As used herein, the term "post-analytical equipment" encompasses any device or device component configured to perform one or more post-analytical workflow steps, including, but not limited to, sample removal, transport, re-capping, decapping, temporary storage / buffering, storage (refrigerated or non-frozen), retrieval and / or disposal.
[0064] The term "point-of-care device" as used herein encompasses any analyzer used in a point-of-care environment, such as (but not limited to) blood glucose testing, coagulation testing, blood gas and electrolyte analysis, urinalysis, cardiac marker analysis, hemoglobin diagnostics, infectious disease testing, cholesterol screening or nucleic acid testing NAT. Results may be viewable directly on the POC analyzer / device or may be transmitted to and displayed in a healthcare information management system.
[0065] As used herein, the term "healthcare data" encompasses any data obtained from one or more medical devices through the operation of such devices on one or more patients, or one or more samples obtained therefrom.
[0066] As used herein, the term "connected" encompasses both a direct and an indirect communication path between two or more elements. The communication path may be provided through a physical entity, such as a wired connection, or through a non-physical communication system, such as a network.
[0067] As used herein, the term "stateless" encompasses the lack of record of prior events in a given sequence of interactions with another computer or program, device, or other external element. Each interaction request must be processed based entirely on the information that accompanies the interaction request.
[0068] As used herein, the term "atomic processing unit" encompasses a processing unit that performs a particular process, which is an indivisible and irreducible sequence of operations that occur in their entirety or not at all.
[0069] The systems and methods of the above embodiments, in addition to the structural components and user interactions described, may be implemented in a computer system (particularly computer hardware or computer software).
[0070] The term "computer system" includes hardware, software, and data storage devices for implementing the system or performing the methods according to the above-described embodiments. For example, a computer system may include a central processing unit (CPU), input means, output means, and data storage devices. A computer system may have a monitor for providing a visual output display. The data storage devices may include RAM, disk drives, or other computer-readable media. A computer system may include multiple computing devices connected by a network and capable of communicating with each other via the network.
[0071] The methods of the above-described embodiments may be provided as a computer program, or as a computer program product or computer readable medium carrying a computer program configured to perform the above-described methods when executed on a computer.
[0072] The term "computer-readable medium" includes, but is not limited to, any non-transitory medium that can be read and accessed directly by a computer or computer system. Media can include, but are not limited to, magnetic storage media, such as floppy disks, hard disk storage media, and magnetic tape, optical storage media, such as optical disks or CD-ROMs, electrical storage media, such as memory, including RAM, ROM, and flash memory, and hybrids and combinations of the above, such as magnetic / optical storage media.
[0073] Although the present disclosure has been described in conjunction with the exemplary embodiments set forth above, many equivalent modifications and variations will be apparent to those skilled in the art given this disclosure. Accordingly, the exemplary embodiments of the present disclosure set forth above are considered to be illustrative and not limiting. Various modifications to the described embodiments may be made without departing from the spirit and scope of the present disclosure.
[0074] In particular, while the methods of the above embodiments have been described as being implemented on the systems of the described embodiments, the methods and systems of the present disclosure need not be implemented in conjunction with each other and may be implemented on alternative systems or using alternative methods, respectively.
[0075] The features disclosed in the foregoing description, or in the following claims, or in the accompanying drawings, and expressed in a specific form or in terms of means for performing a disclosed function or a method or process for obtaining a disclosed result, may be utilized, individually or in any combination of such features, as appropriate, to realize the invention in its diverse forms.
[0076] While the present invention has been described in conjunction with the exemplary embodiments set forth above, many equivalent modifications and variations will be apparent to those skilled in the art given this disclosure. Accordingly, the exemplary embodiments of the present invention set forth above are considered to be illustrative and not limiting. Various modifications to the described embodiments may be made without departing from the spirit and scope of the present invention.
[0077] For the avoidance of doubt, any theoretical explanations provided herein are provided for the purpose of enhancing the understanding of the reader, and the inventors do not wish to be bound by any of these theoretical explanations.
[0078] Any section headings used herein are for organizational purposes only and are not to be construed as limiting the subject matter described.
[0079] Throughout this specification, including the claims which follow, unless the context requires otherwise, the terms "comprise" and "include," as well as variations such as "comprises," "comprising," and "including," are understood to imply the inclusion of stated integers or steps or groups of integers or steps but not the exclusion of any other integers or steps or groups of integers or steps.
[0080] It should be noted that, as used in this specification and the appended claims, the singular forms "a," "an," and "the" include plural referents unless the context clearly dictates otherwise. Ranges may be expressed herein as from "about" one particular value and / or to "about" another particular value. When such a range is expressed, another embodiment includes from the one particular value and / or to the other particular value. Similarly, when values are expressed as approximations, by use of the antecedent "about," it will be understood that the particular value forms another embodiment. The term "about" with respect to numerical values is arbitrary and means, for example, + / - 10%. [Explanation of symbols]
[0081] 100 Healthcare Data Management Systems 101a-b Processing Pipeline 102a-f Processing stages 103 Stateless Atomic Processing Unit 110 Laboratory Equipment 115 Healthcare middleware 120 Performance Management Unit 125 Healthcare Information Management Systems 400 Healthcare Data Management System 400a-c Processing Pipeline 402a-I Processing Pipeline 403 Stateless Atomic Processing Unit 410a-n Laboratory Equipment 412a-m Point-of-care devices 415 Healthcare middleware 420 Performance Management Unit 425 Healthcare Information Management System
Claims
1. 1. A computer-implemented method for managing processing power in a healthcare data management system (100, 400), comprising: A plurality of medical devices that generate healthcare data; a plurality of processing pipelines (101, 401) for receiving healthcare data from said one or more medical devices, each of said plurality of processing pipelines (101, 401) being formed from a plurality of processing stages (102, 402) arranged in series and performing respective operations on said received healthcare data, each processing stage (102, 402) being implemented on a stateless atomic processing unit (103, 403); a healthcare middleware (115, 415) that receives processed data from the plurality of processing pipelines (101, 401) and provides the processed data to a healthcare information management system (125, 425); a performance management unit (120, 420) for managing the processing capacity of each of the plurality of processing pipelines (101, 401); Including, The computer-implemented method further comprises: monitoring the utilization state of each of the plurality of processing pipelines (101, 401) by the performance management unit (120, 420); adjusting, by said performance management unit (120, 420), based on said monitored utilization, the number of stateless atomic processing units (103, 403) implementing a given processing stage (102, 402) in a given processing pipeline (101, 401) whose utilization has been monitored; 4. A computer-implemented method comprising:
2. The computer-implemented method of claim 1, wherein one or more processing stages (102, 402) in a given processing pipeline (101, 401) of the plurality of processing pipelines are shared with another processing pipeline (101, 401) of the plurality of processing pipelines.
3. 2. The computer-implemented method of claim 1, wherein the performance management unit (120, 420) monitors the utilization state of each of the plurality of processing pipelines (101, 401) by comparing performance parameters of each of the plurality of processing pipelines (101, 401) obtained by measurement with performance thresholds.
4. the performance management unit (120, 420) monitors performance parameters of each of the plurality of processing pipelines (101, 401) as the utilization state, the performance parameters being one or more of the amount of memory used by a given processing pipeline (101, 401) or processing stage (102, 402), the time it takes for healthcare data received from a given medical device to reach the healthcare middleware (115, 415), and the amount of processing power used by a given processing pipeline (101, 401) or processing stage (102, 402); The computer-implemented method of claim 1 , further comprising adjusting a number of stateless atomic processing units (103, 403) implementing a given processing stage (102, 402) in a given processing pipeline (101, 401) for which the performance parameters are monitored.
5. The computer-implemented method of claim 1 , wherein the one or more medical devices are one or more laboratory instruments (110, 410) and / or one or more point-of-care devices (412).
6. 2. The computer-implemented method of claim 1, wherein the performance management unit (120, 420) receives definitions of the processing pipelines (101, 401) specifying one or more processing stages (102, 402) of each of the processing pipelines (101, 401) and creates additional processing pipelines (101, 401) including stateless atomic processing units by duplicating the given processing pipeline (101, 401) whose utilization is monitored.
7. 2. The computer-implemented method of claim 1, wherein the or each atomic processing unit (103, 403) is provided as either a physical machine or a virtual machine.
8. The performance management unit (120, 420) increasing the number of stateless atomic processing units (103, 403) implementing a given processing stage (102, 402) in a given processing pipeline (101, 401) when the monitored utilization indicates that the given processing pipeline (101, 401) is over-utilized; 2. The computer-implemented method of claim 1, further comprising: reducing a number of stateless atomic processing units (103, 403) implementing a given processing stage (102, 402) in a given processing pipeline (101, 401) or removing one or more processing pipelines (101, 401) if the monitored utilization indicates that the given processing pipeline (101, 401) is underutilized.
9. A healthcare data management system (100, 400), comprising: A plurality of medical devices configured to generate healthcare data; a plurality of processing pipelines (101, 401) connected to one or more of said medical devices and configured to receive said healthcare data therefrom, each of said plurality of processing pipelines (101, 401) being formed from a plurality of processing stages (102, 402) arranged in series and configured to perform respective operations on said received healthcare data, each processing stage (102, 402) being implemented on a stateless atomic processing unit (103, 403); a healthcare middleware (115, 415) coupled to each of the plurality of processing pipelines (101, 401) and configured to receive processed data therefrom and provide the processed data to a healthcare information management system (125, 425); A performance management unit (120, 420) for calculating the processing capacity of each of the plurality of processing pipelines (101, 401), Monitor the utilization status of each of the plurality of processing pipelines (101, 401); Based on the monitored utilization state, the number of stateless atomic processing units (103, 403) implementing a given processing stage (102, 402) in a given processing pipeline (101, 401) whose utilization state is monitored is adjusted. A performance management unit (120, 420) configured to manage the performance by A healthcare data management system (100, 400).
10. A healthcare data management system (100, 400) as described in claim 9, wherein the one or more processing stages (102, 402) in a given processing pipeline (101, 401) are shared with another processing pipeline (101, 401) of the plurality of processing pipelines.
11. The healthcare data management system (100, 400) of claim 9 or 10, wherein the performance management unit (120, 420) is configured to monitor the utilization status of each of the plurality of processing pipelines (101, 401) by comparing performance parameters of each of the plurality of processing pipelines (101, 401) obtained by measurement with performance thresholds.
12. the performance management unit (120, 420) is configured to monitor performance parameters of each of the plurality of processing pipelines (101, 401) as the utilization state, the performance parameters being one or more of the amount of memory used by a given processing pipeline (101, 401) or processing stage (102, 402), the time it takes for healthcare data received from a given medical device to reach the healthcare middleware (115, 415), and the amount of processing power used by a given processing pipeline (101, 401) or processing stage (102, 402); The healthcare data management system (100, 400) of claim 9 or 10, wherein the performance management unit (120, 420) is configured to adjust the number of stateless atomic processing units (103, 403) implementing a given processing stage (102, 402) in a given processing pipeline (101, 401) for which the performance parameters are monitored.
13. The healthcare data management system (100, 400) of claim 9 or 10, wherein the performance management unit (120, 420) is configured to receive definitions of the processing pipelines (101, 401) specifying one or more processing stages (102, 402) of each of the processing pipelines (101, 401) and to create additional processing pipelines (101, 401) comprising stateless atomic processing units by replicating a given processing pipeline (101, 401) whose utilization is monitored.
14. The performance management unit (120, 420) increasing the number of stateless atomic processing units (103, 403) implementing a given processing stage (102, 402) in a given processing pipeline (101, 401) when the monitored utilization indicates that the given processing pipeline (101, 401) is over-utilized; 11. The healthcare data management system (100, 400) of claim 9 or 10, configured to reduce the number of stateless atomic processing units (103, 403) implementing a given processing stage (102, 402) in a given processing pipeline (101, 401) or to remove one or more processing pipelines (101, 401) if the monitored utilization state indicates that a given processing pipeline (101, 401) is underutilized.
15. A non-transitory computer-readable storage medium comprising machine-executable instructions that, when executed on one or more processors, cause the processors to perform the computer-implemented method of any one of claims 1 to 8.
Citation Information
Patent Citations
CPU dynamic allocation program, CPU dynamic allocation device and CPU dynamic allocation method
JP2018045493A
System and method for a medical image informatics peer review system
JP2019533870A
Health condition estimation method based on biological information and health condition estimation device
JP2020166441A
Method and system to adaptively manage the quality of service of interactions between smart item networks and enterprise applications
US20080028068A1