Sample dispatch in automated diagnostic analysis systems
Patent Information
- Authority / Receiving Office
- EP · EP
- Patent Type
- Applications
- Current Assignee / Owner
- SIEMENS HEALTHCARE DIAGNOSTICS INC
- Filing Date
- 2024-06-25
- Publication Date
- 2026-05-20
AI Technical Summary
Automated diagnostic analysis systems face processing delays and reduced throughput due to sample carrier congestion, caused by inefficient workflow planning that schedules too many sample containers for processing by the same modules at the same time.
The system employs a computer processor to receive workload status and travel time estimates of modules, simulate workflows for sample containers, and prioritize loading based on the shortest estimated workflow completion time, thereby optimizing module usage and avoiding bottlenecks.
This approach improves system throughput by reducing processing delays, optimizing consumable usage, and ensuring modules operate efficiently, thereby enhancing overall system performance.
Smart Images

Figure US2024035386_16012025_PF_FP_ABST
Abstract
Description
SAMPLE DISPATCH IN AUTOMATED DIAGNOSTIC ANALYSIS SYSTEMSFIELD
[0001] This application claims benefit under 35 USC § 119(e) of US Provisional Application No. 63 / 513,554, filed July 13, 2023. The entire contents of the abovereferenced patent application(s) are hereby expressly incorporated herein by reference.
[0002] This disclosure relates to automated diagnostic analysis systems and methods.BACKGROUND
[0003] In medical testing, automated diagnostic analysis systems may be used to analyze a biological sample to identify an analyte or other constituent in the sample. The biological sample may be, e.g., urine, whole blood, blood serum, blood plasma, interstitial liquid, cerebrospinal liquid, and the like. Such biological samples are usually contained in sample containers (e.g., test tubes, vials, etc.) that may be transported in sample carriers via a sample transport system comprising automated tracks to and from various modules. The various modules may perform, e.g., sample container handling, sample preprocessing, sample analysis, and sample post-processing within the automated diagnostic analysis system. The number of sample carriers present in an automated diagnostic analysis system at any one time may be hundreds or even thousands.
[0004] Sample containers are usually received at an input module of the automated diagnostic analysis system arranged in one or more trays or racks. After loading of a sample container from the input module into a sample carrier transported by the sample transport system, a system controller may perform workflow planning based on information regarding one or more analyses to be performed on a biological sample in a sample container. The information may be obtained from, e.g., a scanned barcode on the sample container. The workflow planning may include selecting and scheduling one or more of the modules to perform various actions related to the one or more analyses of that sample.
[0005] However, such workflow planning may result in processing delays caused by sample carrier congestion should too many sample containers loaded into sample carriers require processing by one or more of the same modules already scheduled to process sample containers previously loaded into sample carriers. Such processing delays may adversely affect overall system performance (e.g., system throughput - that is, the number of samples processed per hour, per shift, per day, etc.).
[0006] Accordingly, improved workflow planning in an automated diagnostic analysis system is desired.SUMMARY
[0007] In some embodiments, an automated diagnostic analysis system is provided. The system includes an input module operative to receive a plurality of sample containers. The input module comprises a robot operative to individually load each sample container from the input module into a respective sample carrier received at the input module. The automated diagnostic analysis system also includes a computer processor and programming instructions executable thereon operative to (1 ) receive a workload status of most modules in the automated diagnostic analysis system; (2) receive travel time estimates between most modules in the automated diagnostic analysis system; (3) receive a workflow for each of at least some of the plurality of sample containers based on information regarding one or more analyses to be performed on a respective sample in each of the at least some of the plurality of sample containers; (4) simulate execution of the workflow for each of the at least some of the plurality of sample containers to estimate a workflow completion time for each of the at least some of the plurality of sample containers based on the workload status of most modules; and (5) in response to at least one estimated workflow completion time not exceeding a predetermined threshold, direct a sample container having the shortest estimated workflow completion time to be loaded by the robot from the input module into a next sample carrier received at the input module.
[0008] In some embodiments, a method of operating an automated diagnostic analysis system is provided. The method includes receiving, at a computer processor,workload status of most modules in the automated diagnostic analysis system and travel time estimates between most modules in the automated diagnostic analysis system. The method also includes receiving, at the computer processor, a workflow for each of at least some of a plurality of sample containers received at an input module of the automated diagnostic analysis system, wherein the workflow is based on information regarding one or more analyses to be performed on a respective sample in each of the at least some of the plurality of sample containers. The method further includes simulating, via the computer processor, execution of the workflow for each of the at least some of the plurality of sample containers to estimate a workflow completion time for each of the at least some of the plurality of sample containers based on the workload status of most modules. In response to at least one estimated workflow completion time not exceeding a predetermined threshold, the method includes directing, via the computer processor, a sample container having the shortest estimated workflow completion time to be loaded by a robot of the input module from the input module to a next sample carrier received at the input module.
[0009] Still other aspects, features, and advantages of this disclosure may be readily apparent from the following detailed description and illustration of a number of example embodiments and implementations, including the best mode contemplated for carrying out the invention. This disclosure may also be capable of other and different embodiments, and its several details may be modified in various respects, all without departing from the scope of the invention. For example, although the description below relates to automated diagnostic analysis systems, the selective dispatch of sample containers into an automated diagnostic analysis system to improve system throughput may readily be adapted to other complex systems. This disclosure is intended to cover all modifications, equivalents, and alternatives falling within the scope of the appended claims below.BRIEF DESCRIPTION OF DRAWINGS
[0010] The drawings, described below, are for illustrative purposes and are not necessarily drawn to scale. Accordingly, the drawings and descriptions are to beregarded as illustrative in nature, and not as restrictive. The drawings are not intended to limit the scope of the invention in any way.
[0011] FIG. 1 illustrates a top schematic view of an automated diagnostic analysis system configured to perform one or more biological sample analyses according to embodiments provided herein.
[0012] FIG. 2 illustrates a side view of a sample container loaded into a sample carrier of the automated diagnostic analysis system of FIG. 1 according to embodiments provided herein.
[0013] FIG. 3 illustrates a more detailed top schematic view of input module M0 of FIG. 1 according to embodiments provided herein.
[0014] FIG. 4 illustrates a bar chart of example workloads of the modules of the automated diagnostic analysis system of FIG. 1 according to embodiments provided herein.
[0015] FIG. 5 illustrates a matrix of estimated travel times between the modules of the automated diagnostic analysis system of FIG. 1 according to embodiments provided herein.
[0016] FIG. 6 illustrates a side schematic view of an input module robot and scanning / imaging device assembly according to embodiments provided herein.
[0017] FIG. 7 illustrates a bar chart representing a simulation of a workflow of a first sample container in the automated diagnostic analysis system of FIG. 1 according to embodiments provided herein.
[0018] FIG. 8 illustrates a bar chart representing a simulation of a workflow of a second sample container in the automated diagnostic analysis system of FIG. 1 according to embodiments provided herein.
[0019] FIG. 9 illustrates a bar chart representing a simulation of a first workflow of a sample container in an automated diagnostic analysis system having multiple modules performing a same function according to embodiments provided herein.
[0020] FIG. 10 illustrates a bar chart representing a simulation of a second workflow of the sample container of FIG. 9 in the automated diagnostic analysis system having multiple modules performing the same function according to embodiments provided herein.
[0021] FIG. 11 illustrates a simplified block diagram of a dispatcher of an input module controller according to embodiments provided herein.
[0022] FIG. 12 illustrates a block diagram of a reinforcement learning training setup that may be employed in a dispatcher of an input module controller according to embodiments provided herein.
[0023] FIG. 13 illustrates a flowchart of a method of operating an automated diagnostic analysis system according to embodiments provided herein.DETAILED DESCRIPTION
[0024] Automated diagnostic analysis systems according to embodiments described herein may include a large number of sample carriers each carrying a sample container therein. Each sample container may include a biological sample to be analyzed. The biological sample may be, e.g., urine, whole blood, blood serum, blood plasma, interstitial liquid, cerebrospinal liquid, and the like. Automated diagnostic analysis systems may also include a sample transport system for transporting the sample carriers throughout the system via an automated track. Automated diagnostic analysis systems may further include a number of modules for performing sample container handling, sample pre-processing, sample analysis, and sample post-processing. Each of the modules is connected to the sample transport system for receiving and returning sample containers via the sample carriers.
[0025] One of the modules included in an automated diagnostic analysis system is an input module. The input module is configured to receive a plurality of sample containers that are to be processed by the system. The sample containers may be arranged in one or more racks or trays that are typically loaded manually into the input module. A robot of the input module loads each sample container from the input module into a respective sample carrier that arrives at the input module via the sampletransport system. In conventional automated diagnostic analysis systems, the robot typically loads the sample containers arbitrarily or based simply on a pre-arranged order of the sample containers in the racks or trays (e.g., sequentially starting with the first row and first column position).
[0026] The sample containers typically include indicia (e.g., a printed label, barcode, RF (radio frequency) ID tag, etc.) that includes information regarding one or more analyses to be performed by the automated diagnostic analysis system on the biological samples contained therein and, in some cases, time constraints within which one or more of those analyses and / or one or more pre-processing or post-processing work items are to be performed. Shortly after the sample containers are loaded into sample carriers, the sample carriers are typically transported first to a scanning / imaging station or module where the indicia are scanned or imaged to determine where and how the sample containers are to be processed within the automated diagnostic analysis system.
[0027] Automated diagnostic analysis systems may also include a system controller in communication with the modules (including the scanning / imaging station or module), the sample transport system, and the sample carriers. The system controller may plan the system’s workflow based on the information regarding the one or more analyses to be performed (e.g., as obtained from the scanned or imaged sample container indicia). That is, the system controller may schedule and direct one or more analyses of each sample in the sample containers to be performed at one or more of the modules, some within a particular time period, by directing the sample carriers to the appropriate modules.Such system controllers may be referred to as workflow planners. In some automated diagnostic analysis systems, the number of samples analyzed per day may number in the hundreds or even the thousands.
[0028] The workflow planner in some known automated diagnostic analysis systems, however, may create congestion and / or bottlenecks by directing too many sample carriers from the input module to one or more of the same modules at or about the same time. The processing delays caused by such workflow planning may prevent some sample containers from being processed within their specified time constraintsand / or may adversely affect overall system performance (e.g., system throughput - that is, the number of samples processed per hour, per shift, per day, etc.).
[0029] Automated diagnostic analysis systems according to embodiments described herein may advantageously improve workflow planning, and thus overall system performance (e.g., throughput), by having a computer processor (of, e.g., an input module controller) execute programming instructions to perform a dispatching operation at the input module that: (1 ) avoids or minimizes where possible congestion and / or bottlenecks at one or more of the same modules, (2) optimizes module usage, (3) avoids “module starvation” (i.e. , modules sitting idle), and / or (4) optimizes system consumables (e.g., reagents, which are chemical ingredients added to samples to facilitate or enable analysis of the samples).
[0030] In some embodiments, the computer processor may receive workload status of at least most of the modules in the automated diagnostic analysis system and travel time estimates between at least most of the modules. The computer processor may also receive workflows of at least some sample containers that have been received and prescreened at the input module (e.g., the sample container indicia has been scanned or imaged). A workflow indicates the modules and the order thereof to be visited by a sample container based on the information from the scanned or imaged indicia regarding one or more analyses to be performed on a sample in the sample container. The computer processor may further simulate the workflows of each of the prescreened sample containers to estimate a workflow completion time for each of those sample containers. The computer processor may then direct a sample container having the shortest estimated completion time to be loaded by the robot of the input module from the input module into a next sample carrier received at the input module. This dispatching operation prioritizes sample container loading into sample carriers based on sample container workflow (which may include processing time constraints), module workload (which indicates module availability), and module-to-module travel time estimates, thus avoiding or minimizing where possible processing delays at one or more of the modules.
[0031] In accordance with one or more embodiments, automated diagnostic analysis systems having improved workflow planning will be explained in greater detail below in connection with FIGS. 1-13.
[0032] FIG. 1 illustrates an automated diagnostic analysis system 100 configured to automatically analyze biological samples according to one or more embodiments. Automated diagnostic analysis system 100 may include a plurality of sample carriers 102 (only three labeled in FIG. 1 to maintain clarity), a sample transport system 104 that includes an automated track 105 and track sensors 105-S (only three labeled), a plurality of modules M0-M5, and a system controller 106. Automated diagnostic analysis system 100 may include more or less modules and / or other components. Note that modules MOMS, while illustrated as all having the same size and shape, are not limited to all having the same size and / or shape.
[0033] Modules M0-M5 may each be configured to perform one or more actions on a sample container or a biological sample contained in the sample container. In particular, one or more modules M0-M5 may be configured to perform sample container handling, sample pre-processing, sample analysis, or sample post-processing. For example, in some embodiments, module M0 may be an input module including an input module controller 108. Module M1 may be a decapper module, module M2 may be a centrifuge, module M3 may be a chemistry analyzer module, module M4 may be an immunoassay analyzer module, and module M5 may be a sealer module. Modules MIMS may each include a respective module controller (not shown) and may be other types of modules in other embodiments.
[0034] Each sample carrier 102 may be configured to carry at least one sample container thereon. FIG. 2 illustrates a sample container 203 loaded into a sample carrier 202, which is an embodiment of sample carrier 102. In some embodiments, sample carrier 202 may be a passive, non-motorized puck configured to carry a single sample container 203 on automated track 105 of sample transport system 104 (via, e.g., a magnet in sample carrier 202). In other embodiments, sample carrier 202 may be an automated carrier including an onboard drive motor, such as a linear motor, that is programmed via system controller 106 or input module controller 108 to move about thetrack and stop at pre-programmed locations (e g., one or more of modules M0-M5). Sample carrier 202 may include a holder 202H configured to hold sample container 203 in a defined upright position and orientation. Holder 202H may include a plurality of fingers or leaf springs that secure sample container 203 in and on sample carrier 202, wherein some fingers or leaf springs may be moveable or flexible to accommodate different sizes of sample containers. Sample carrier 202 may also include a transceiver 210 for communicating with system controller 106, input module controller 108, and other components in system 100. Sample carrier 202 may further include one or more sensors 202-S, which in some embodiments may be a camera and / or a collision or position sensor. Other types of sensors may be included. Sample carrier 202 may be of other types and / or configurations, and system 100 may include multiple types or configurations of sample carriers.
[0035] Sample container 203 may include a cap 203C, a tubular body 203T, and a label 203L, which may include identification information 203I (e.g., indicia) thereon, such as a barcode, alphabetic characters, numeric characters, an RF (radio frequency) ID tag, or combinations thereof. The identification information 203I may be machine readable at various locations within automated diagnostic analysis system 100, such as, e.g., at each of modules M0-M5 (which may include a scanning / imaging apparatus) and at various locations around automated track 105 where sensors 105-S are located. A biological sample 212 to be analyzed may be contained in sample container 203. The biological sample may be, e.g., urine, whole blood, blood serum, blood plasma, interstitial liquid, cerebrospinal liquid, or the like. In some embodiments, as shown in FIG. 2, biological liquid sample 212 may include a blood serum or plasma portion 212SP and a settled blood portion 212B.
[0036] Returning to FIG. 1 , sample transport system 104 may be configured to transport sample containers to and from each of modules M0-M5 via respective sample carriers 102 and track 105. Track 105 may include multiple interconnected sections configured to allow unidirectional or bidirectional sample container transport. Track 105 may be a railed track (e.g., a monorail or multi-rail), a collection of conveyor belts, conveyor chains, moveable platforms, or any other suitable type of conveyance mechanism. Track 105 may be circular, oval, or any other suitable shape orconfiguration and combinations thereof and, in some embodiments, may be a closed track.
[0037] System controller 106 may be in communication either directly via wired and / or wireless connections as shown or via a network 114 with each of sample carriers 102, sample transport system 104, and modules M0-M5, each of which includes suitable communications apparatus (e.g., transceivers). Network 114 may be, e.g., a local area network (LAN), wide area network (WAN), or other suitable communication network, including wired and wireless networks. System controller 106 may be housed as part of automated diagnostic analysis system 100 or may be remote therefrom.
[0038] System controller 106 may be in communication with one or more databases or like sources, represented in FIG. 1 as a laboratory information system (LIS) 116 for receiving sample information including, e.g., one or more of patient information, analyses to be performed on each sample, time and date each sample was obtained, medical facility information, tracking and routing information, and / or any other information relevant to the samples to be analyzed.
[0039] System controller 106 may include a user interface 118, which may include a display, to enable a user to access a variety of control and status display screens and to enter commands and / or data into system controller 106.
[0040] System controller 106 may also include a computer processor 106P, memory 106M, and programming instructions 106PI (e.g., software, programs, algorithms, and the like). Programming instructions 106PI may be stored in memory 106M and executed by processor 106P. A workflow planning (WFP) algorithm 106WFP also may be stored in memory 106M and executed by processor 106P. Memory 106M may further have one or more artificial intelligence (Al) algorithms stored therein to perform or facilitate various pre- and post-processing actions and / or sample analyses. System controller 106 may alternatively or additionally include other processing devices / circuits (including microprocessors, A / D converters, amplifiers, filters, etc.), transceivers, interfaces, device drivers, and / or other electronics.
[0041] System controller 106 may be configured to operate and / or control the various components of system 100, including sample carriers 102, sample transportsystem 104, and modules M0-M5 via communication therewith. In particular, e.g., system controller 106 may control movement of each sample carrier 102 to and from any of modules M0-M5 and to and from any other components (not shown) in system 100 via sample transport system 104. System controller 106 may plan the workflow of system 100 based on information received from, e.g., LIS 116, user interface 118, and / or information obtained from scanned or imaged sample container indicia (e.g., identification information 203I). That is, system controller 106 may be operative to schedule and direct one or more analyses of each sample contained in a respective sample container 102 to be performed at one or more of modules M0-M5 and, in some cases, to be performed pursuant to a particular time schedule. System controller 106 may be considered a workflow planner.
[0042] FIG. 3 illustrates a more detailed view of input module M0 of FIG. 1 according to one or more embodiments. Input module M0 may be configured to receive one or more racks or trays 320A, 320B of sample containers 303 (some labelled). Input module M0 may also include a sensor (not shown) and a robot 322, wherein robot 322 is configured to grasp each sample container 303 and move from racks or trays 320A, 320B to an empty sample carrier 102B received at input module M0 via a track segment 305B. The sensor may be configured to detect sample containers 303 in racks or trays 320A, 320B and to guide robot 322 accordingly. As shown in FIG. 3, a sample carrier 102A loaded with a sample container 303 from input module M0 may exit input module M0 via track segment 305A. Note that in some embodiments sample carriers 102 are not limited to the directions of travel as described herein for sample carriers 102A and 102B.
[0043] In some embodiments input module M0 may be an input / output module (IOM) wherein sample containers to be processed may be received and loaded into sample carriers 102 and, after processing, may be returned to the IOM and unloaded from sample carriers 102 back into racks or trays 320A, 320B for removal from the IOM (and automated diagnostic analysis system 100). In other embodiments, input module M0 may be a bulk input module (BIM) or a refrigeration / storage module (RSM).
[0044] Returning to FIG. 1 , input module controller 108 according to one or more embodiments may include a computer processor 108P, memory 108M, and adispatcher 108D (e.g., programming instructions, a software program, an Al algorithm, or the like) stored in memory 108M and executable by processor 108P. Input module controller 108 also may include a user interface 124, which may include a display, to enable a user to access one or more control and status display screens and to enter commands and / or data into input module controller 108. Input module controller 108, which includes suitable communications apparatus (e.g., transceivers), may be in communication either directly via wired and / or wireless connections or via network 114 with system controller 106, sample carriers 102, sample transport system 104, and modules M1-M5.
[0045] Dispatcher 108D executing on processor 108P is configured to receive a workload status of each of modules M1-M5 (or at least most of modules M1-M5) in response to a request by dispatcher 108D according to one or more embodiments. The workload status of a module indicates whether that module is currently processing a sample container and / or whether other sample containers are scheduled to be processed at that module and, in some embodiments, whether any time constraints are associated with work items included in that processing. In other words, the workload status indicates a module’s availability to process a sample container. The workload status of each of modules M1 -M5 (or at least most of modules M1 -M5) may be received from system controller 106 in response to a request from dispatcher 108D - provided such information is known to system controller 106. Alternatively, dispatcher 108D may receive workload status directly from each (or most) of modules M1-M5 in response to individual requests sent to each module M1-M5 from dispatcher 108D.
[0046] FIG. 4 illustrates an example workload status 400 of modules M1 -M5 that may be received by dispatcher 108D according to one or more embodiments. As shown, module M1 is processing a first sample container from time t1 (the time at which the workload status was created) to time t3 and is scheduled to process a second sample container from time t7 to time t9. This indicates that module M1 is available to process one or two sample containers between time t3 and time t7 and is again available to process sample containers after time t9. Similarly, module M2 is scheduled to process a sample container from time t2 to time t4 and is available to process other sample containers after time t4. Module M3 is scheduled to process two samplecontainers as shown and will not be available to process other sample containers until after time t5. Module M4 is currently being reloaded with reagents (i.e. , chemical ingredients added to samples to facilitate or enable analysis of the samples) and is scheduled to process a sample container until time t8. And module M5 is currently processing a sample container and will not be available until completion of scheduled module calibration at time t6. Other embodiments of workload status may be received by dispatcher 108D.
[0047] Dispatcher 108D executing on processor 108P is also configured to receive travel time estimates between modules M0-M5 (or between at least most modules MOMS) in response to a request by dispatcher 108D according to one or more embodiments. In some embodiments, dispatcher 108D may request travel time estimates from system controller 106, wherein the travel time estimates may be stored in memory 106M and may have been provided by, e.g., a system manufacturer as part of the specifications for automated diagnostic analysis system 100. In other embodiments, travel time estimates may be determined during a testing or initial operating period of automated diagnostic analysis system 100, wherein travel times of sample carriers 102 between modules may be measured and averaged over a period of time (e.g., a day, a week, a month, etc.) and stored in system controller memory 106M or input module controller memory 108M. In still other embodiments, travel time estimates may be calculated based on sample carrier speeds and track lengths between modules and then stored in memory 106M or 108M. Any suitable method of estimating travel times between modules of an automated diagnostic analysis system may be used.
[0048] FIG. 5 illustrates a matrix of example travel time estimates 500 between modules M0-M5 of automated diagnostic analysis system 100 that may be received by dispatcher 108D according to one or more embodiments. As shown, travel time estimates 500 between modules M0-M5 are represented by estimated times et1-et15. For example, a travel time estimate for a sample carrier being transported from module M2 to module M5 is et12 (and, depending on track layout and whether tracks are unidirectional or bidirectional, a travel time estimate for a sample carrier being transported from module M5 to module M2 may also be et12, as shown, or may bedifferent). Alternatively, estimated travel times between modules may be received by dispatcher 108D in other suitable forms or formats.
[0049] Dispatcher 108D executing on processor 108P is further configured to receive a workflow for each of at least some of the sample containers received in input module MO in response to a request by dispatcher 108D according to one or more embodiments. A workflow indicates the modules and the order thereof to be visited by a sample container based on information regarding one or more analyses to be performed on a sample in that sample container. For example, a first workflow may indicate that a first sample container is to visit modules M1 , M3, and M5 (in that order) after leaving input module MO, while a second workflow may indicate that a second sample container is to visit modules M2, M3, M4, and M5 (in that order), or modules M2, M4, M3, and M5 (in that order), after leaving input module MO. The information upon which the workflow is based may be obtained from, e.g., information from scanned or imaged sample container indicia (e.g., identification information 203I), LIS 116, user interfaces 118 and / or 124, and / or combinations thereof. For example, in some cases, input module MO may scan or image indicia on a sample container received therein and obtain a sample container identification number from the indicia. Input module controller 108 may then communicate with LIS 116 (via, e.g., network 114) to obtain sample analysis instructions associated with that identification number. The sample analysis instructions indicate the one or more analyses to be performed on a sample in that sample container and any associated time constraints with those one or more analyses. In other cases, the scanned or imaged data from the sample container indicia may include the analysis instructions.
[0050] FIG. 6 illustrates an example input module robot and scanning / imaging device assembly 600 that may be included in input module M0 according to one or more embodiments. Assembly 600 may be controlled by input module controller 108 (of FIG 1 ). In other embodiments, assembly 600 may be directly controlled by system controller 106 (of FIG. 1 ) or another (e.g., remote) controller. Assembly 600 includes a robot 622 and a scanning / imaging device 626 attached to robot 622.
[0051] Robot 622 is operative to grasp and transfer sample containers 603 and 603A from / to a rack or tray 620 and to / from a sample carrier 102 or 202. Robot 622 includes a gripper 628 operative to move in three dimensions (e.g., X, Y, and Z or R, 6, and Z). Gripper 628 is coupled to a telescoping arm 630 movable in horizontal directions (- / + X) as shown via a translational motor 630M. Telescoping arm 630 is attached to an upright portion 632, which is movable in vertical directions (- / + Y) as shown via a vertical motor 632M. Telescoping arm 630 is also capable of rotating about upright portion 632 in angular directions (+ / - 0) via a rotational motor 632R. Upright portion 632 may be mounted to a frame 634 of an input module. Gripper 628 may include two gripper fingers 628A, 628B that may be driven open and closed by an actuation mechanism 628M. A rotary actuator 628R is operative to rotate gripper fingers 628A, 628B in angular directions (+ / - 02) about axis 636 to any prescribed rotational position / orientation. Robot 622 may be any suitable robot capable of moving a sample container received at an input module to / from a sample carrier also received at the input module.
[0052] Scanning / imaging device 626 is operative to scan or image identification information 603I of a sample container 603A, as shown in FIG. 6. Identification information 603I may include, e.g., a barcode, and may be identical to identification information 203I of sample container 203 (of FIG. 2). Scanning / imaging device 626 may include a scanner or digital camera 626C mounted to a vertical support 626S, which is attached to telescoping arm 630. Other embodiments of scanning / imaging device 626 are possible. To ensure that identification information 603I is scanned or imaged by scanning / imaging device 626, multiple scans or images may be taken of sample container 603A as gripper 628 rotates sample container 603A incrementally about axis 636 (e.g., in 45-, 90-, or 120-degree increments). Scanned or imaged data from scanning / imaging device 626 may be analyzed at input module controller 108 via processor 108P executing appropriate scanning / imaging software stored in memory 108M. Based on the sample analysis instructions obtained either directly from the scanned or imaged data of identification information 603I or retrieved from LIS 116 via network 114 based on, e.g., a patient identification number scanned or imaged from identification information 603I, input module controller 108 via processor 108Pexecuting appropriate workflow planning software stored in memory 106M may determine a workflow for sample container 603A and provide it to dispatcher 108D. In other embodiments, the scanned or imaged data from scanning / imaging device 626 may be processed at system controller 106 or another (e.g., remote) controller wherein a determined workflow for sample container 603A is determined and sent to and received by dispatcher 108D.
[0053] Dispatcher 108D executing on processor 108P is also configured to simulate each of the workflows to determine an estimated workflow completion time for each of the workflows according to one or more embodiments. FIGS. 7 and 8 illustrate example simulations of first and second sample containers, respectively, both currently located at input module MO, according to one or more embodiments.
[0054] FIG. 7 illustrates a workflow simulation 700 of the first sample container (Container 1 ) having a workflow of modules M2, M4, and M5 after leaving input module M0 in automated diagnostic analysis system 100, which currently has, e.g., workload 400 (of FIG. 4). As shown, Container 1 is processed at module M2 immediately after a sample container 703A has completed processing at module M2. Container 1 is next processed at module M4, which is available after sample container 703B completes processing at module M4. Arrow 738A represents the estimated travel time between modules M2 and M4 as indicated in, e.g., travel time estimates 500 of FIG. 5. Container 1 is next processed at module M5, which is available after calibration. Arrow 738B represents the estimated travel time between modules M4 and M5, which again may be as indicated in, e.g., travel time estimates 500 of FIG. 5. Workflow simulation 700 indicates that Container 1 has an estimated workflow completion time of ct1 , wherein ct1 may be an elapsed time as measured from time t1 .
[0055] FIG. 8 illustrates a workflow simulation 800 of the second sample container (Container 2) having a workflow of modules M1 , M4, and M5 after leaving input module M0 in automated diagnostic analysis system 100, which again currently has workload 400 (of FIG. 4). As shown, Container 2 is processed at module M1 immediately after a sample container 803A has completed processing at module M1. Container 2 is next processed at module M4, which is available after sample container803B completes processing at module M4. Arrow 838A represents the estimated travel time between modules M1 and M4 as indicated in, e.g., travel time estimates 500 of FIG. 5. Container 2 is next processed at module M5, which is available after calibration. Arrow 838B represents the estimated travel time between modules M4 and M5, which may be as indicated in, e.g., travel time estimates 500 of FIG. 5 and may be the same as represented by arrow 738B of FIG. 7. Workflow simulation 800 indicates that Container 2 has an estimated workflow completion time of ct2, wherein ct2 may be an elapsed time as measured from time t1 .
[0056] Dispatcher 108D executing on processor 108P is also configured to simulate a variable workflow of a sample container to determine an estimated workflow completion time for each variation of the workflow according to one or more embodiments. That is, in automated diagnostic analysis systems having redundant modules (two or more modules that perform the same function(s)), dispatcher 108D is configured to simulate workflow variations where there is a choice of which redundant module to visit and / or a choice as to the order at which some modules may be visited.
[0057] FIGS. 9 and 10 illustrate respective example simulations of a sample container (Container 3) located at input module M0 in an embodiment (not shown) of an automated diagnostic analysis system also having modules M1 , M2, two M3’s (designated M3-1 and M3-2), two M4’s (designated M4-1 and M4-2), and M5. The variable workflow of Container 3 is M2, M3 (or M4), and M4 (or M3). The automated diagnostic analysis system of this embodiment has a workload represented in the bar charts of FIGS. 9 and 10 by the activity bars having white lettering and black backgrounds.
[0058] FIG. 9 illustrates a workflow simulation 900 of a first workflow variation of Container 3 as determined by dispatcher 108D according to one or more embodiments. The first simulated workflow of Container 3 has a sequence of modules M2, M3-1 , and M4-2 after Container 3 leaves input module M0. As part of the simulation, dispatcher 108D has initially selected one of the two M3 modules for Container 3 to visit before one of the two M4 modules. Dispatcher 108D also has selected Container 3 to visit module M3-1 instead of module M3-2 based on the earlier availability of module M3-1 toprocess Container 3, and has selected Container 3 to visit module M4-2 instead of module M4-1 based on the availability of module M4-2 at the time Container 3 is ready to be processed by one of the two M4 modules (note M4-1 is already scheduled to process a sample container at about the time Container 3 is ready to be processed by one of the two M4 modules). Arrow 938A represents the estimated travel time between modules M2 and M3-1 as may be indicated in travel time estimates received by dispatcher 108D, which may be similar to travel time estimates 500 of FIG. 5. Arrow 938B represents the estimated travel time between modules M3-1 and M4-2, which again may be as indicated in travel time estimates received by dispatcher 108D. Workflow simulation 900 of the first workflow variation indicates that Container 3 has an estimated workflow completion time of ct3, wherein ct3 may be an elapsed time as measured from time t1 .
[0059] FIG. 10 illustrates a workflow simulation 1000 of a second workflow variation of Container 3 as determined by dispatcher 108D according to one or more embodiments. The second simulated workflow of Container 3 has a sequence of modules M2, M4-1 , and M3-2 after Container 3 leaves input module M0. As part of this simulation, dispatcher 108D has now selected one of the two M4 modules for Container 3 to visit before one of the two M3 modules and has selected Container 3 to visit module M4-1 instead of module M4-2 based on the slightly earlier availability of module M4-1 to process Container 3. In some embodiments, dispatcher 108D may also consider travel time estimates when selecting between two modules having availabilities close in time. Arrow 1038A represents the estimated travel time between modules M2 and M4-1 as may be indicated in travel time estimates received by dispatcher 108D, which may be similar to travel time estimates 500 of FIG. 5. Thus, e.g., if the travel time estimate represented by arrow 1038A were longer causing the arrival of Container 3 at module M4-1 to be later than the arrival of Container 3 at module M4-2 based on a shorter travel time estimate from module M2 to module M4-2, dispatcher 108D would have instead selected module M4-2 to receive Container 3 after module M2.
[0060] To complete the second workflow variation from module M4-1 to one of modules M3-1 and M3-2, dispatcher 108D may first consider module availability. In view of modules M3-1 and M3-2 both being available to process Container 3 afterprocessing at module M4-1 , dispatcher 108D may next consider travel time estimates from module M4-1 to each of the available modules M3-1 and M3-2 as a deciding factor. In this example, estimated travel time (represented by arrow 1038B) from module M4-1 to module M3-2 is determined to be less than estimated travel time from module M4-1 to module M3-1 , thus dispatcher 108D selects module M3-2 to process Container 3 following module M4-1 . Workflow simulation 1000 of the second workflow variation indicates that Container 3 has an estimated workflow completion time of ct4, wherein ct4 may be an elapsed time as measured from time t1 .
[0061] Although FIGS. 7 and 8 illustrate simulation of workflows for just two sample containers (Container 1 and Container 2), and FIGS. 9 and 10 illustrate simulation of just two workflow variations for Container 3, all workflow variations and all sample container workflows of prescreened sample containers at input module M0 may be simulated by dispatcher 108D to determine respective estimated completion times.
[0062] Upon completing the workflow simulations of each sample container having a workflow received by dispatcher 108D, dispatcher 108D is further configured to direct a robot of the input module M0 to load a sample container having the shortest estimated workflow completion time from the input module into a next sample carrier received at the input module. Thus, e.g., referring to FIGS. 7 and 8, and assuming Containers 1 and 2 were the only prescreened sample containers (i.e. , sample containers having workflows received by dispatcher 108D) of a most recent tray or rack of sample containers loaded into input module M0, dispatcher 108D may direct the robot to load Container 2 into the next sample carrier received at input module M0 because Container 2’s estimated completion time ct2 is shorter (less) than Container 1’s estimated completion time ct1 .
[0063] Similarly, referring to FIGS. 9 and 10, dispatcher 108D may determine that Container 3’s second workflow variation of modules M2, M4-1 , and M3-2 is optimal because estimated completion time ct4 is shorter (less) than estimated completion time ct3 of Container 3’s first workflow variation of modules M2, M3-2, and M4-2.Furthermore, dispatcher 108D may therefore use Container 3’s estimated completion time ct4 in a determination of which of the prescreened sample containers has theshortest estimated workflow completion time, which in turn determines which sample container is to be loaded next into an available sample carrier arriving at input module MO.
[0064] Upon directing input module robot 322 (of FIG. 3) or robot 622 (of FIG. 6) to load a sample container into a next sample carrier 102 or 202 that arrives at input module M0 based on simulations of sample container workflows, dispatcher 108D may communicate the workflow of that sample container to one or more of the next sample carrier 102 or 202, sample transport system 104, and / or system controller 106. Such communication indicates that that next sample carrier 102 or 202 does not need to first visit a scanning / imaging station or module as would a sample carrier loaded with a sample container at input module M0 that has not been prescreened. Sample containers that have not been prescreened at input module M0 are typically first transported to a scanning / imaging station or module to obtain analysis instructions and determine workflow for that sample container.
[0065] In some embodiments, upon completing workflow simulations, dispatcher 108D may not dispatch any sample containers from input module M0. In these embodiments, a predetermined threshold may be applied to the estimated workflow completion times. For example, in response to all estimated workflow completion times exceeding the predetermined threshold, dispatcher 108D may not dispatch any sample container from input module M0. Instead, dispatcher 108D may wait a preset amount of time before requesting and receiving an updated workload status of the modules. Waiting the preset amount of time for an updated workload status may allow whatever condition that caused the estimated workflow completions times to exceed the predetermined threshold to be alleviated. Dispatcher 108D may then repeat simulation of the sample container workflows based on the updated workload status and again apply the predetermined threshold to the estimated workflow completion times to determine whether to dispatch any of the sample containers from input module M0. In response to at least one estimated workflow completion time not exceeding the predetermined threshold, dispatcher 108D may dispatch a sample container having the shortest estimated workflow completion time that does not exceed the predetermined threshold.
[0066] In some embodiments, the predetermined threshold may represent a completion time deemed excessive. For example, estimated completion times exceeding the predetermined threshold may indicate congestion or bottlenecks at one or more modules already having sample containers waiting to be processed. Such a predetermined threshold may be determined based on the number of modules (and any redundancies thereof) in the system, an average number of modules visited per sample container, an average number of sample containers in the system at any one time, a module’s known processing speed (e.g., the number of sample containers / samples processed per unit of time), a desired maximum acceptable completion time, and / or one or more other system performance goals (e.g., the total number of samples to be processed per hour, per shift, per day, etc.). Such a predetermined threshold may be determined in any suitable manner.
[0067] In other embodiments, the predetermined threshold may represent one or more time constraints associated with one or more workflows. For example, if Containers 1 , 2, and 3 each had a time constraint indicating, e.g., a maximum allowable completion time, and the workflow simulations of each indicated that each estimated completion time exceeded its respective predetermined threshold (i.e., its respective maximum allowable completion time), dispatcher 108D may not dispatch any of Containers 1 , 2, and 3 from input module MO. Instead, dispatcher 108D may again wait a preset amount of time before requesting and receiving an updated workload status of the modules, repeat simulation of the sample container workflows, and apply the predetermined thresholds to the estimated workflow completion times to determine whether any of Containers 1 , 2, and 3 should be dispatched from input module MO.
[0068] Advantageously, simulation of sample container workflows by dispatcher 108D prior to loading of sample containers into sample carriers may improve system performance, optimize usage of system consumables (e.g. reagents), balance module workload, and / or avoid module starvation (i.e., modules sitting idle) by optimizing module workflow sequences where redundant modules are present in the automated diagnostic analysis system and / or by prioritizing the loading of prescreened sample containers into sample carriers based on workflow simulations.
[0069] Dispatcher 108D may, in some embodiments, employ a computer program known as a CP-SAT Solver (see, e.g., developers.google.com / optimization / cp / cp_solver), which is directed to solving assignment problems. In other embodiments, dispatcher 108D may employ a computer program known as ScheduleNet (see, e.g., openreview.net / forum?id=nWlk4jwupZ), which is directed to solving scheduling problems with reinforcement learning (RL). In still other embodiments, dispatcher 108D may employ deep neural networks to solve the scheduling problem and output optimal sample container workflows. FIG. 11 illustrates an example embodiment of dispatcher 108D employing a neural network 1140. System State 1142 (which includes module workload status such as, e.g., workload status 400) and Workflows 1144 (which includes prescreened sample container workflows) may be vectorized inputs to neural network 1140, which outputs a prioritized Container To Dispatch 1146 (which may be a sample container having the shortest estimated workflow completion time as simulated and, in cases where the workflow includes a variable module sequence and / or the automated diagnostic analysis system includes redundant modules, an optimal workflow sequence as also simulated). Neural network 1140 may be trained in a reinforcement learning (RL) setup 1200 with, e.g., a deep neural network (“Agent”) and a simulator of the system (“Environment”) as shown in FIG. 12. In this RL embodiment, neural network 1140 may operate with only partial system state information (i.e., workload status from less than all the modules in the automated diagnostic analysis system) by internally modelling the system to make the best prediction of the sample container to dispatch from input module MO. Other types of software products may be used to perform the functions of dispatcher 108D described herein.
[0070] Although shown as stored in memory 108M and executed by processor 108P of input module controller 108, dispatcher 108D may, in other embodiments, be stored and executed in system controller 106 or may be stored and executed in another memory and computer processor that may be remote from, and in communication with, input module MO and system controller 106.
[0071] FIG. 13 illustrates a method 1300 of operating an automated diagnostic analysis system according to one or more embodiments. At process block 1302,method 1300 may include receiving, at a computer processor, workload status of most, if not all, modules in the automated diagnostic analysis system. For example, referring to FIGS. 1 and 4, processor 108P executing dispatcher 108D of input module controller 108 (or alternatively system processor 106P executing dispatcher 108D) may receive workload status of modules M1-M5, such as workload status 400.
[0072] At process block 1304, method 1300 may include receiving, at the computer processor, travel time estimates between most, if not all, modules in the automated diagnostic analysis system. For example, referring to FIGS. 1 and 5, processor 108P executing dispatcher 108D of input module controller 108 may receive travel time estimates 500.
[0073] At process block 1306, method 1300 may include receiving, at the computer processor, a workflow for each of at least some of a plurality of sample containers received at an input module of the automated diagnostic analysis system, wherein the workflow is based on information regarding one or more analyses to be performed on a respective sample in each of the at least some of the plurality of sample containers. For example, referring to FIGS. 7-10, processor 108P executing dispatcher 108D of input module controller 108 may receive workflows for Containers 1 , 2, and 3.
[0074] At process block 1308, method 1300 may include simulating, via the computer processor, execution of the workflow for each of the at least some of the plurality of sample containers to estimate a workflow completion time for each of the at least some of the plurality of sample containers based on the received module workload status. Referring again to FIGS. 7-10 and continuing with the above example, execution of the workflows for Containers 1 , 2, and 3 may be simulated by processor 108P executing dispatcher 108D as illustrated by workflow simulations 700, 800, 900, and 1000.
[0075] And at process block 1310, in response to at least one estimated workflow completion time not exceeding a predetermined threshold, method 1300 may include directing, via the computer processor, a robot of the input module to load a sample container having the shortest estimated workflow completion time to a next sample carrier received at the input module. Continuing again with the above example inconnection with FIGS. 7 and 8, processor 108P executing dispatcher 108D may direct robot 322 (of FIG. 3) or robot 622 (of FIG. 6) to load Container 2, which has a shorter estimated workflow completion time (et2) than Container 1 (et1 ), to a next sample carrier 102 or 202 received at input module MO (of FIG. 1 and 3).
[0076] While this disclosure is susceptible to various modifications and alternative forms, specific method and apparatus embodiments have been shown by way of example in the drawings and are described in detail herein. It should be understood, however, that the particular methods and apparatus disclosed herein are not intended to limit the disclosure or the following claims.
Claims
CLAIMSWhat is claimed is:1 . An automated diagnostic analysis system, comprising: an input module operative to receive a plurality of sample containers, the input module comprising a robot operative to individually load each sample container from the input module into a respective sample carrier received at the input module; and a computer processor and programming instructions executable thereon operative to: receive a workload status of most modules in the automated diagnostic analysis system; receive travel time estimates between most modules in the automated diagnostic analysis system; receive a workflow for each of at least some of the plurality of sample containers based on information regarding one or more analyses to be performed on a respective sample in each of the at least some of the plurality of sample containers; simulate execution of the workflow for each of the at least some of the plurality of sample containers to estimate a workflow completion time for each of the at least some of the plurality of sample containers based on the workload status of most modules; and in response to at least one estimated workflow completion time not exceeding a predetermined threshold, direct a sample container having the shortest estimated workflow completion time to be loaded by the robot from the input module into a next sample carrier received at the input module.
2. The automated diagnostic analysis system of claim 1 , further comprising: in response to all estimated workflow completion times exceeding a predetermined threshold, the computer processor waits for updated workload status of most modules to be received and then repeats simulation of the execution of the workflow of each of the at least some of the plurality of sample containers based on the updated workload status of most modules.
3. The automated diagnostic analysis system of claim 1 , wherein the input module further comprises a scanning / imaging device to scan or image the at least some of the plurality of sample containers to obtain the information regarding the one or more analyses to be performed on a sample therein.
4. The automated diagnostic analysis system of claim 3, wherein the computer processor and programming instructions executable thereon are further operative to analyze images or scanned data received from the scanning / imaging device to determine and store in a memory the workflow of each of the at least some of the plurality of sample containers.
5. The automated diagnostic analysis system of claim 1 , wherein the information regarding the one or more analyses to be performed on a respective sample in each of the at least some of the plurality of sample containers is obtained from indicia on the at least some of the plurality of sample containers.
6. The automated diagnostic analysis system of claim 1 , wherein: the input module comprises the computer processor and the programming instructions; or a system controller of the automated diagnostic analysis system comprises the computer processor and the programming instructions; or the computer processor and the programming instructions are remote from the input module and the system controller.
7. The automated diagnostic analysis system of claim 1 , further comprising: a plurality of modules operative to perform sample container handling, sample preprocessing, sample analysis, and sample post-processing, the plurality of modules including the input module; and a sample transport system configured to transport a plurality of sample carriers via an automated track connecting each of the plurality of modules.
8. The automated diagnostic analysis system of claim 1 , wherein the computer processor and programming instructions executable thereon are operative to receive the travel time estimates between modules from a system controller of the automated diagnostic analysis system.
9. The automated diagnostic analysis system of claim 1 , wherein: the workload status of most modules further includes time window constraints for at least some work items included in the workload status; or the workflow includes time window constraints for at least some work items included in the workflow.
10. The automated diagnostic analysis system of claim 1 , wherein the workflow is received from a second computer processor that executes programming instructions to determine the workflow based on the information regarding one or more analyses to be performed on a respective sample in each of the at least some of the plurality of sample containers.
11. A method of operating an automated diagnostic analysis system, the method comprising: receiving, at a computer processor, workload status of most modules in the automated diagnostic analysis system; receiving, at the computer processor, travel time estimates between most modules in the automated diagnostic analysis system; receiving, at the computer processor, a workflow for each of at least some of a plurality of sample containers received at an input module of the automated diagnostic analysis system, the workflow based on information regarding one or more analyses to be performed on a respective sample in each of the at least some of the plurality of sample containers; simulating, via the computer processor, execution of the workflow for each of the at least some of the plurality of sample containers to estimate a workflow completion time for each of the at least some of the plurality of sample containers based on the workload status of most modules; andin response to at least one estimated workflow completion time not exceeding a predetermined threshold, directing, via the computer processor, a sample container having the shortest estimated workflow completion time to be loaded by a robot of the input module from the input module into a next sample carrier received at the input module.
12. The method of claim 11 , further comprising in response to all estimated workflow completion times exceeding a predetermined threshold: waiting, via the computer processor, for receipt of updated workload status of most modules to be received; and repeating, via the computer processor, simulation of the execution of the workflow of each of the at least some of the plurality of sample containers based on the updated workload status of most modules.
13. The method of claim 11 , further comprising scanning or imaging, via a scanning / imaging device at the input module, the at least some of the plurality of sample containers received at the input module to obtain the information regarding the one or more analyses to be performed.
14. The method of claim 13, further comprising analyzing, via the computer processor, images or scanned data received from the scanning / imaging device to determine and store in a memory the workflow of each of the at least some of the plurality of sample containers.
15. The method of claim 11 , wherein the receiving, at the computer processor, the workflow comprises obtaining from indicia on each of the at least some of the plurality of sample containers the information regarding the one or more analyses to be performed.
16. The method of claim 11 , wherein the receiving, at the computer processor, the travel time estimates between most modules comprises receiving the travel time estimates from a system controller of the automated diagnostic analysis system.
17. The method of claim 11 , wherein the receiving, at the computer processor, the workload status of most modules comprises receiving time window constraints for at least some work items included in the workload status.
18. The method of claim 11 , wherein the receiving, at the computer processor, the workflow comprises receiving time window constraints for at least some work items included in the workflow.
19. The method of claim 11 , wherein the receiving, at the computer processor, the workflow comprises receiving the workflow from a second computer processor.
20. The method of claim 11 , further comprising: performing sample container handling, sample pre-processing, sample analysis, and sample post-processing at a plurality of modules including the input module of the automated diagnostic analysis system; and transporting a plurality of sample carriers via an automated track in a sample transport system, the automated track connecting each of the plurality of modules.