Device and method for transporting sample in diagnostic laboratory system
By modeling the track into multiple blocks in the diagnostic laboratory system and generating delivery instructions, the complexity and collision of sample container transport in the system are solved, and efficient and safe sample container transport is achieved.
Patent Information
- Application Number
- CN202380079083.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-11-16
- Filing Date
- 2023-11-16
- Publication Date
- 2025-06-20
AI Technical Summary
As the size of the diagnostic laboratory system increases, the delivery of sample containers on tracks becomes complicated, which can lead to problems such as slowing down sample delivery or collision of sample containers.
By providing tracks in a diagnostic laboratory system and modeling the tracks into multiple blocks using computer software, each with a specific movement pattern, identifying tests that need to be performed, using software modules to generate delivery instructions, and feeding sample containers to the corresponding instrument.
It realizes simplified delivery of sample containers in diagnostic laboratory systems, improves the efficiency and safety of the system, and avoids sample container collisions and delivery delays.
Smart Images

Figure CN120188047A_ABST
Abstract
Description
[0001] Cross - reference to related applications
[0002] This application claims the benefit of U.S. Provisional Patent Application No. 63 / 384,057, entitled "Devices and Methods for Transporting Samples in a Diagnostic Laboratory System," filed on November 16, 2022, the disclosure of which is hereby incorporated by reference in its entirety for all purposes. Technical field
[0003] This disclosure relates to devices and methods for transporting sample containers in a diagnostic laboratory system. Background art
[0004] Diagnostic laboratory systems perform clinical chemistry or assays to identify analytes or other components in biological samples such as serum, plasma, urine, interstitial fluid, cerebrospinal fluid, etc. Samples can be received into sample containers and / or transported throughout the laboratory system in the sample containers. Many laboratory systems process a large number of sample containers and the samples contained therein.
[0005] Processing includes transporting sample containers on tracks throughout the diagnostic laboratory system. As the size of the diagnostic laboratory system increases, the complexity of each track increases. The complexity of the transport procedures that generate instructions for transporting sample containers also increases, which can slow down sample transport or cause problems such as sample container collisions. Therefore, there is a need to provide systems and methods for simplified sample container transport throughout the laboratory system. Summary of the invention
[0006] According to a first aspect, there is provided a method of operating a diagnostic laboratory system for analyzing biological samples. The method includes: providing a track in the diagnostic laboratory system, wherein sample containers containing biological samples are movable on the track between a plurality of instruments; modeling the track as a plurality of blocks via software by a computer, wherein each block includes a movement pattern indicating one or more directions along which the sample container moves into or out of the block; identifying at least one test to be performed on the biological sample; using a first software module to identify in the diagnostic laboratory system one or more instruments for performing the at least one test, the first software module being part of a program including a plurality of separate software modules communicating with each other; using a second software module of the program to generate transport instructions for transporting the biological sample via the sample container to the one or more instruments, wherein the transport instructions include instructions for transporting the sample container through adjacent blocks; and transporting the sample container to the one or more instruments in response to the transport instructions.
[0007] In another aspect, a method of operating a diagnostic laboratory system for analyzing biological samples is provided. The method includes: providing a track in the diagnostic laboratory system, wherein the biological samples are movable on the track by a plurality of sample carriers; representing the track as a graph via a computer, the graph including a plurality of nodes and edges, wherein each node represents a portion of the track configured to have only one sample carrier therein at a time, and wherein each edge represents a movement pattern of the sample carrier to and from the node to which the sample carrier is connected; identifying at least one test to be performed on the biological samples located in sample containers and transported via the sample carriers; using a first software module to identify one or more instruments in the diagnostic laboratory system for performing the at least one test, the first software module being part of a program including a plurality of separate software modules communicating with each other; using a second software module of the program to generate transport instructions for transporting the sample carriers to the one or more instruments, wherein the transport instructions include transporting the sample carriers between adjacent nodes; and transporting the sample carriers to the one or more instruments in response to the transport instructions.
[0008] In yet another aspect, a diagnostic laboratory system for analyzing biological samples is provided. The diagnostic laboratory system includes at least one instrument for preparing or testing the biological samples; a track configured to transport sample containers to and from the at least one instrument, wherein the sample containers are configured to hold biological samples to be analyzed therein. The diagnostic laboratory system further includes a computer configured to: model the track as a plurality of blocks in software, wherein each block includes a movement pattern indicating one or more directions along which the sample container moves into or out of the block; identify at least one test to be performed on the biological samples by the at least one instrument; and execute a program controlling the operation of the diagnostic laboratory system, the program having an architecture including a plurality of separate software modules communicating with each other, the plurality of separate software modules including: a first software module that identifies one or more instruments in the diagnostic laboratory system for performing the at least one test; and a second software module that generates transport instructions for transporting the biological samples to the one or more instruments, wherein the transport instructions include instructions for transporting the biological samples from one block to an adjacent block.
[0009] Other aspects, features, and advantages of the present disclosure may be apparent from the following description and illustration of multiple example embodiments, including the best mode contemplated for practicing the present disclosure. The present disclosure may also be capable of other and different embodiments and may be modified in several details in various aspects, all without departing from the scope of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] The accompanying drawings described below are provided for illustrative purposes and are not necessarily drawn to scale. Accordingly, the drawings and the description are to be regarded as illustrative in nature and not as restrictive. The drawings are not intended to limit the scope of the disclosure in any way.
[0011] Figure 1A Diagram showing a diagnostic laboratory system according to one or more embodiments.
[0012] Figure 1B Diagram showing according to one or more embodiments Figure 1A an enlarged portion of an orbit of a diagnostic laboratory system.
[0013] Figure 1C Diagram showing according to one or more embodiments Figure 1B an enlarged portion of an orbit, showing individual blocks and conveying components.
[0014] Figure 1D Diagram showing according to one or more embodiments Figure 1A an isometric enlarged view of a portion of an orbit, including two sample carriers holding sample containers, where the sample containers hold samples and where the sample carriers are independently movable.
[0015] Figure 1E Diagram showing according to one or more embodiments Figure 1D a side elevation view of one of the sample carriers and sample containers.
[0016] Figure 1F Diagram showing according to one or more embodiments Figure 1A an isometric enlarged view of a portion of an orbit, including two sample carriers holding sample containers, where the sample containers hold samples and where the sample carriers are movable by a linear motor.
[0017] Figure 1G Diagram showing according to one or more embodiments Figure 1F a side elevation view of one of the sample carriers and sample containers.
[0018] Figure 2 Diagram showing according to one or more embodiments an orbit of a diagnostic laboratory system modeled in software as a plurality of adjacent blocks Figure 1A block diagram of an embodiment.
[0019] Figures 3A - 3D Diagram showing according to one or more embodiments certain blocks among the blocks of the diagnostic laboratory system of FIG. 1 and Figure 2 an enlarged view of a block diagram.
[0020] Figure 4 Diagram showing according to one or more embodiments as in accordance with Figure 2block diagram modeling and associated with Figure 2 similar to the block diagram of Figure 1A FIG. showing an embodiment of a track of a diagnostic laboratory system.
[0021] Figure 5 FIG. showing software modeled as a plurality of adjacent blocks according to one or more embodiments Figure 1A block diagram of another embodiment of a track of a diagnostic laboratory system, where some of the blocks have a different movement pattern than the blocks of Figure 2
[0022] Figures 6A to 6D FIG. showing, according to one or more embodiments, Figure 5 a magnified view of certain ones of the blocks.
[0023] Figure 7 FIG. showing, according to one or more embodiments, as modeled according to the block diagram of Figure 5 and similar to the block diagram of Figure 5 FIG. showing other embodiments of a track of a diagnostic laboratory system. Figure 1A
[0024] Figure 8 FIG. showing an example of a software layer that can be used in the architecture of a routing program of Figure 1A according to one or more embodiments.
[0025] Figure 9 FIG. showing a routing program divided into separate and individually replaceable software modules, each software module implementing one of the software layers of Figure 8
[0026] Figure 10 FIG. showing a three-dimensional block representing a portion of a multi-level track that can move a sample carrier and / or a sample container in three dimensions according to one or more embodiments.
[0027] Figure 11 FIG. showing a flowchart of a method of operating a diagnostic laboratory system for analyzing a biological sample according to one or more embodiments.
[0028] Figure 12 FIG. showing a flowchart of another method of operating a diagnostic laboratory system for analyzing a biological sample according to one or more embodiments. DETAILED DESCRIPTION
[0029] An automated diagnostic laboratory system performs clinical chemistry and / or assays to identify analytes or other components in biological samples such as serum, plasma, urine, interstitial fluid, cerebrospinal fluid, etc. Samples are collected into sample containers and then delivered to the diagnostic laboratory system. Subsequently, the sample containers are loaded into the sample handlers of the laboratory system. Then, a robot transfers the sample containers to a sample carrier, where the sample carrier transports the sample containers via a track to the instruments and components of the laboratory system, where the samples are processed and analyzed.
[0030] An automated diagnostic laboratory system can transport multiple sample containers to multiple different instruments via a track. A routing program determines the route that each sample container takes on the track so that the instruments perform specific tests on the samples. As more sample containers and testing capabilities are added to the laboratory system, the routing becomes more complex. For example, sample containers may have to be passed to each other and / or yield to each other at certain times in order to reach a specific instrument at a specific time. When high-priority samples are added, the routing becomes even more complex because the routing must be updated so that low-priority samples yield to high-priority samples.
[0031] Modular laboratory systems can be arranged in many different physical configurations (e.g., the layout of the track and instruments). The routing program usually has to be customized to correctly route the sample containers for the specific laboratory system configuration. Customizing the routing program for each different configuration is difficult and increases the cost of implementing the laboratory system.
[0032] Embodiments of the diagnostic laboratory system and routing method described herein use a dynamic routing program to transport sample containers throughout the diagnostic laboratory system. In some embodiments, the software architecture employed in the laboratory system is divided into multiple independently tunable software layers, where each software layer can be designed, developed, tested, and executed independently of the other software layers. Using independently tunable software layers enables scaling and / or customization of the same architecture for a wide variety of laboratory system configurations.
[0033] The independently tunable software layers can include one or more task layers and a physical transport layer. One or more task layers determine which instruments are needed to complete the tests on each sample and which processes are performed by those instruments. The physical transport layer determines the optimal route for the sample carrier so that the samples are tested as determined by one or more task layers. In such an architecture, it may only be necessary to customize the physical transport layer to accommodate different laboratory system configurations. The physical transport layer can be implemented in the routing program.
[0034] In some embodiments, a routing program may model the tracks of a diagnostic laboratory system as small "blocks" in software, where each block represents a portion of the track (e.g., configured to have only one sample carrier or one sample container therein at a time). Movement and tracking of the sample carriers may be based on the blocks. For example, a mechanical conveyance mechanism may be able to move a sample carrier from one block to an adjacent block and stop the movement of the sample carrier in each block. In some embodiments, blocks representing straight track portions of the track may be configured to have more than one sample carrier therein simultaneously, while blocks representing intersections of track portions may be configured to have only one sample carrier therein at a time.
[0035] Each block may have a movement pattern (e.g., forward, backward, left, right) attached to it, which indicates in which direction or directions a sample carrier may move into or out of the block. For example, certain blocks may only admit sample carriers from the left and send them right to an adjacent empty block (e.g., the target block) one at a time. A three-way intersection block may, for example, admit sample carriers from the left and send them right or down (as illustrated in a top view) to an adjacent target block one at a time. Movement from one block to an adjacent target block may only be allowed if the target block is empty, where being empty means there are no other sample carriers in the block. Otherwise, the sample carrier waits for the target block to become empty. The blocks described herein are shown as four-sided with generally orthogonal movement patterns. However, the devices and methods described herein may be applicable to other block shapes (such as three-sided blocks or blocks with more than four sides) and associated movement patterns (e.g., non-orthogonal movement, a combination of orthogonal and non-orthogonal movement, etc.).
[0036] Alternatively, in addition to block modeling, the track layout of a diagnostic laboratory system may also be represented as a graph of nodes and edges, where the nodes may be similar to blocks and the movement patterns may define the edges connecting the nodes (see, for example, Figure 4 and Figure 7 described below). The graph representation of the track layout is more general than the block model of the track layout (using a Cartesian grid). For example, such a graph may represent a track layout with non-uniform block sizes. This duality of representation (Cartesian grid versus graph) allows for a flexible choice within the physical conveyance layer of the routing program (described in more detail below) to route sample carriers throughout the laboratory system. Note that the following description related to the blocks and movement patterns of the block model of the track layout is also applicable to the nodes and edges of the graph representation of the track layout.
[0037] Returning to block modeling, in some embodiments, the blocks can be as small as possible to allow for maximum throughput throughout the laboratory system, but large enough such that there can still be at least one sample carrier within each block. In some embodiments, the minimum size of the blocks depends on the minimum allowable distance between two sample carriers on the track. This distance can depend on, for example, the mechanical characteristics of the track, the size of the sample carriers, the magnitude of the magnetic repulsion between the sample carriers (for those sample carriers that move in that manner), and / or other constraints. A block representation of the track can then be derived from the physical layout of the track, including the movement pattern of each block. The physical transport layer can then configure sample carrier routing based on the block representation of the track, where the sample carrier routing is based on sensed movement of the sample carriers within and through the blocks or through the nodes of the graph and between the nodes of the graph.
[0038] Block modeling of the track provides less complex sample carrier routing in the physical transport layer because the physical transport layer only considers the movement of the sample carriers to and from adjacent blocks or adjacent nodes, without considering the movement of the sample carriers from start to end across the entire physical track. Additionally, block modeling reduces the complexity of path planning for the sample carriers because instead the blocks can be represented as nodes in a graph and provide a compact representation for path optimization. Additionally, the block control programs are configured to avoid collisions between sample carriers and overcrowding of the track because in some embodiments they only allow one sample carrier to occupy a block or a node at a time.
[0039] Reference is now made to Figures 1A - 12 describe these and other systems and methods in more detail.
[0040] Reference is now made to Figure 1A , which illustrates an example embodiment of an automated diagnostic laboratory system 100 in accordance with one or more embodiments. The laboratory system 100 can include a plurality of instruments 102 that are configured to process sample containers 104 (some labeled) and perform assays or tests on biological samples contained within the sample containers 104. The laboratory system 100 can have a first instrument 102A and a second instrument 102B. Additionally, the laboratory system 100 can include a third instrument configured as a sample handler 102C. The sample handler 102C is configured to admit the sample containers 104 into the laboratory system 100. The first instrument 102A and / or the second instrument 102B can perform an analysis on the samples located in the sample containers 104. Other embodiments of the laboratory system 100 can include more or fewer instruments.
[0041] The sample located in sample container 104 can be various biological samples collected from an individual, such as a patient being evaluated by a medical professional. A sample can be collected from the patient and placed into sample container 104. Then, sample container 104 can be delivered to laboratory system 100. Sample container 104 can be loaded into sample handler 102C. Sample container 104 can be transferred from sample handler 102C to sample carrier 108 (some are labeled), and this sample carrier 108 conveys sample container 104 throughout laboratory system 100 via track 110, such as to instrument 102. Once the sample container is introduced into laboratory system 100 and placed on the sample carrier, the sample carrier is then instructed to access a certain set of destinations (i.e., instrument 102 and / or other components). This set of destinations can have a specific order. For example, the sample container may need to access a centrifuge first and then an uncapper. In some cases, the sample container may have to access the destinations within a specific time window. For example, after the lid is opened, the specimen container may have to be aspirated within a specific time period.
[0042] Track 110 is configured to allow sample carrier 108 to move throughout laboratory system 100 in response to the conveyance instructions described herein, including to and from sample handler 102C. For example, track 110 can extend to be close to at least some of instruments 102 and / or around at least some of instruments 102, as Figure 1A shown. Instrument 102 can have a device such as a robotic arm ( Figure 1A not shown in the figure) that transfers sample container 104 to and from sample carrier 108. Track 110 can have an electronic conveyance component ( Figure 1A not shown in the figure) that moves sample container 104 via sample carrier 108 and / or monitors the position of sample container 104 on track 110.
[0043] Instrument 102 and the conveyance component can include or be coupled to computer 120, which is configured to execute one or more programs that control the operation of laboratory system 100. Computer 120 can be configured to communicate with instrument 102, the conveyance component, and other components of laboratory system 100. Computer 120 can include a processor 122 that is configured to execute programs, including programs other than those described herein. The program can be implemented in computer code. In some embodiments, computer 120 can be remote from instrument 102. Additionally, in some embodiments, computer 120 can control the operation of multiple different laboratory systems. Thus, the data generated by laboratory system 100 can be remotely stored and / or processed.
[0044] The computer 120 may include or may have access to a memory 124 that may store one or more programs and / or data described herein. The memory 124 and / or the programs stored therein may be referred to as non-transitory computer-readable media. The program may be computer code executable on or by the processor 122.
[0045] The memory 124 may include a routing program 126 (e.g., computer code executable by the processor 122) configured to generate routes for respective sample containers and / or sample carriers 108. The routes may direct the sample containers 104 and / or sample carriers 108 to specific instruments in the instrument 102 to perform tests on samples in the sample containers 104.
[0046] The automated diagnostic laboratory system 100 may further include one or more zone controllers 128. Each zone controller 128 may control the movement of a sample carrier through one or more designated blocks of the track 110. Each zone controller 128 may include a processor, transceiver, etc., and a memory storing a block control program 130 (e.g., computer code executable by the processor). The block control program 130 is configured to generate instructions to cause the sample containers 104 and / or sample carriers 108 to move to and through the designated one or more blocks. Thus, each block control program 130 may generate instructions that activate certain components on the track 110 to move certain sample carriers 108 to and / or through the designated one or more blocks controlled by the zone controller 128 executing the block control program 130. Each zone controller 128 may be positioned around the track 110 at or near the (one or more) blocks it controls. Each zone controller 128 may communicate with the computer 120 and / or with each other via a wired connection and / or a wireless connection over Ethernet or other suitable network, and may include components other than those described herein. In an alternative embodiment, the functions performed by the zone controllers 128 may be performed by the computer 120 or another central computer, and the corresponding block control programs 130 of the zone controllers 128 may be stored in the memory 124 and / or included in the routing program 126.
[0047] The workstation 132 may be electrically coupled to and communicate with the computer 120. In some embodiments, the workstation 132 may be remote from the track 110. The workstation 132 may include at least a display 134 and a keyboard 136. The workstation 132 enables a user of the laboratory system 100 to input data into the computer 120 and enables the computer 120 to output data to the user, such as via the display 134.
[0048] As shown, the track 110 includes dashed lines to indicate the route or path that the sample carrier 108 (and thus the sample container 104) can take within the laboratory system 100. As Figure 1A shown, the sample carrier 108 can take multiple routes throughout the laboratory system 100. The routing program 126 generates instructions that enable the sample carrier 108 to move to a specified instrument at a predicted time to keep the laboratory system 100 operating efficiently. In some embodiments, taking into account that there may be other sample carriers 108 traveling on the same path and / or traveling to the same instrument, the routing program 126 can determine the most efficient path for one or more of the sample carriers 108. The section controllers 128 (each section controller 128 executes a block control program 130) can activate the conveying components (described below) on the track 110 to move the sample carrier 108 on the determined path for the block under its control.
[0049] Now referring additionally to Figure 1B for reference, Figure 1B An enlarged view of the illustrated track 110 is shown. The track 110 has different sections 140 that enable the sample carrier 108 to move at least in the x and y directions and to change direction between the x and y directions. The types of sections 140 include curved sections 140A that change the direction of the sample carrier 108 between the x and y directions and vice versa. Other types of sections 140 are cross sections 140B that receive the sample carrier 108 from a first port and selectively output the sample carrier 108 to at least one of two other ports. The cross section 140B can also receive the sample carrier 108 from the first port or the second port and output the sample carrier 108 to the third port. The track 110 can also include straight sections 140C that enable the sample carrier 108 to continue in a straight line.
[0050] The specific sections of the track 110 will be described in detail below with reference to the operation of the routing program 126. The first section 142 is a straight section extending in the x direction. The second section 144 is a curved section extending in the y and x directions. The third section 146 is a cross section extending in the y direction with a branch extending in the positive x direction. The fourth section 148 is another cross section extending in the x direction with a branch extending in the negative y direction. The fifth section 150 is a curve, and the sixth section 152 is a curve that is a mirror image of the fifth section 150.
[0051] The track 110 can include a conveying mechanism 154 (some are labeled), which is configured to convey the sample carrier 108 on the track 110. Figure 1BAn example of the transport mechanism 154 is shown positioned below the track 110. However, in other embodiments, the transport mechanism 154 may be located beside the track 110, above the track 110, or at any other suitable location. Referring now to Figures 1B - 1G an example of the transport mechanism 154 is described, and the example of the transport mechanism 154 may include: a movable belt and rollers (not shown separately) that use friction to move the sample carrier 108; and a magnetic device (e.g., see Figure 1F and Figure 1G ) that moves the sample carrier 108 relative to the track 110 magnetically. In still some other examples, the sample carrier 108 may be self-propelled on the track 110 (e.g., see, for example, Figure 1D ), and in some embodiments, movement instructions may be received wirelessly from the computer 120, the section controller 128, and / or the transport mechanism 154. The transport mechanism 154 is not limited to the examples described above. Any suitable mechanism for transporting the sample carrier 108 between blocks via the track 110 may be employed as the transport mechanism 154. The transport mechanism 154 may receive a signal from the section controller 128 (via the execution of the block control program 130) that causes the transport mechanism 154 to operate.
[0052] The laboratory system 100 may also include a plurality of track sensors 156 (some are labeled), which are configured to identify the positions of the sample containers 104 and / or the sample carriers 108 on the track 110. The track sensors 156 are shown as straight or curved rectangular shapes in the section 140 adjacent to the track 110. However, in some embodiments, the track sensors 156 may be an integral part of the track section. The track sensors 156 may be any device that senses or determines the positions of the sample carrier 108 and / or the sample containers 104, and then transmits the position information to an associated section controller 128 for processing by the block control program 130 and / or to the computer 120 for processing by the routing program 126. In some embodiments, the section controller 128 may forward the position data received from the track sensors 156 to the computer 120. In some embodiments, the track sensors 156 may be small, separate elements positioned adjacent to the track 110. Examples of the track sensors 156 include optical devices that read markings located on the sample carrier 108 and / or the sample containers 104, radio frequency identification devices (RFID) that read RFID tags located on the sample carrier 108 and / or the sample containers 104, etc. Other track sensors for determining the positions of the sample containers 104 and / or the sample carriers 108 may be employed.
[0053] Now referring additionally to Figure 1C for Figure 1CAn enlarged view of a first section 142 of a first sample container 104A being transported by a first sample carrier 108A is shown. The track 110 is software modeled as a plurality of blocks 160. The portion of the first section 142 shown is illustrated as having four blocks, which are referred to as the first block 160A, the second block 160B, the third block 160C, and the fourth block 160D, respectively. Other numbers of blocks can be modeled for a given portion of the track 110. As described in more detail below, the transport mechanism 154 is configured to move the first sample carrier 108A and / or the first sample container 104A to and through adjacent blocks 160 (e.g., when using a self-propelled sample carrier, via a linear motor, a belt, a signal and / or power applied to the first sample carrier 108A, etc.). For example, the transport mechanism 154 can have hardware components associated with each of the blocks 160. In Figure 1C an embodiment, the transport mechanism 154 moves the first sample carrier 108A from the third block 160C to the fourth block 160D. In some embodiments, each block 160 can include a separate transport mechanism 154 of the transport mechanism 154. In other embodiments, a plurality of blocks 160 can be associated with a single transport mechanism, where the single transport mechanism is configured to transport the first sample carrier 108A between the respective blocks of the blocks 160.
[0054] In Figure 1C an embodiment, the track sensor 156 is shown as being divided into a plurality of individual sensors. Each sensor can be configured to sense the position of the first sample carrier 108A in each block 160 and transmit the position information to one or more section controllers 128 and / or a computer 120 (for the routing program 126) associated with the block 160. The first sensor 156A senses the first sample carrier 108A in the first block 160A, the second sensor 156B senses the first sample carrier 108A in the second block 160B, the third sensor 156C senses the first sample carrier 108A in the third block 160C, and the fourth sensor 156D senses the sample carrier 108 in the fourth block 160D.
[0055] For additional reference, Figure 1D is an isometric enlarged view of a portion of the track 110 of Figure 1C . In Figure 1D an embodiment, the first sample container 104A supported by the first sample carrier 108A contains a first sample 164A, which can be analyzed by one or more of the instruments 102 ( Figure 1A ). Figure 1D The embodiment of Figure 1DThe conveying mechanism 154 can be a single mechanism that enables the first sample carrier 108A and the second sample carrier 108B to move independently in the second block 160B and the third block 160C (e.g., by magnetic induction, for example). For example, the conveying mechanism 154 can move the first sample carrier 108A within the third block 160C while holding the second sample carrier 108B in the second block 160B. The track sensor 156 can be configured to identify the positions of the first sample carrier 108A and the second sample carrier 108B on the track 110 and transmit position data to the associated section controller 128 and / or the router 126. In some embodiments, the block 160 may be only slightly larger than the sample carrier 108. For example, the second block 160B and the third block 160C can be slightly larger than the footprint of the first sample carrier 108A and the second sample carrier 108B.
[0056] For additional reference, Figure 1E refer to Figure 1E FIG. illustrates an embodiment of the first sample carrier 108A configured to be self-propelled. The first sample carrier 108A can include a housing 168 in which a motor 170 and a receiver 172 can be located. The motor 170 can be coupled to wheels 174 extending from the housing 168. The receiver 172 can receive a conveyance instruction from one of the section controllers that instructs the first sample carrier 108A, for example, to move from one block to an adjacent block. The receiver 172 can then activate the motor 170, which causes the wheels 174 to rotate and move the first sample carrier 108A. In some embodiments, a coil or the like can be in the conveying mechanism 154 and can generate an electric field that powers the motor 170. In some embodiments, appropriate electrical power can be provided to the motor 170 to move the first sample carrier 108A.
[0057] The routing program 126 generates paths for moving the first sample carrier 108A and the second sample carrier 108B on the track 110, as well as instructions for moving the first sample carrier 108A and the second sample carrier 108B. Then, the instructions can be parsed based on the specific blocks through which the first sample carrier 108A and the second sample carrier 108B are conveyed in the generated path. Then, the parsed instructions can be conveyed to one or more section controllers 128 that control the movement of the sample carriers through those specific blocks. Then, the associated block control program 130 of those one or more section controllers 128 can generate an electrical signal that causes the conveying mechanism 154 to move the first sample carrier 108A and the second sample carrier 108B along the track 110 through the specific blocks according to the instructions. In an embodiment where the sample carrier 108 is self-propelled, the section controller 128 can include one or more transceivers and / or radio transmitters that, when the first sample carrier 108A and the second sample carrier 108B reach a specific block under the control of the section controller 128, directly or indirectly transmit instructions to the first sample carrier 108A and the second sample carrier 108B once the section controller 128 receives the position data generated by the track sensor 156. The section controller 128 can forward the position data to the routing program 126 for updating the paths and instructions for other sample carriers 108.
[0058] For Figure 1F and 1G reference, Figure 1F and 1G FIG. illustrates an embodiment of the conveying mechanism 154 configured as a linear motor. In Figure 1F the embodiment, the conveying mechanism 154 includes a coil 178 that is configured to generate a magnetic field in response to a signal generated by the section controller 128. The base 180 of the housing 168 ( Figure 1G ) is magnetized such that when the magnetic field generated by the coil 178 changes, a force can be applied to the base 180. This force causes the first sample carrier 108A to move on the track 110.
[0059] Instructions from the routing program 126 ultimately cause the conveying mechanism 154 to route each sample container 104 to a certain set of destinations, such as different instruments in the instrument 102. These routings can cause each sample container 104 to access the destinations in a specific order, such as accessing the centrifuge and then the capper. The routing may require specific time windows to access certain destinations and perform certain tests. The laboratory system 100 can have hundreds or thousands of sample carriers 108 that move simultaneously to perform multiple different tests on samples (e.g., sample 164A - Figure 1D ) contained in the sample containers 104.
[0060] Additionally, with reference to Figure 2 it, Figure 2 FIG. 200 is a simplified block diagram of an embodiment in which the track 110 is modeled as a plurality of adjacent blocks 160. Other building block representations may include many more or fewer blocks 160. In some embodiments, the router 126 or another program may electronically model the track 110 as a plurality of blocks 160. The router 126 then generates instructions for routing each sample carrier 108 in the sample carrier 108 between adjacent blocks 160 in the blocks 160 and forwards those instructions to the appropriate section controller 128 for execution. For example, one or more individual section controllers 128 may instruct a specific transport mechanism 154 to move a sample container from one block to an adjacent block when the adjacent block is vacant. One advantage of the block representation is that planning, execution, and monitoring of the movement path for the sample carrier 108 become simpler because each section controller 128 only needs to consider the movement between the blocks 160, rather than the router 126 that directs each movement of each sample carrier 108 on the physical track 110.
[0061] Block diagram 200 models the physical space on the track 110 (where the sample container 104 or the sample carrier 108 can travel) as blocks 160. Embodiments herein describe moving the sample carrier 108, but these methods and devices can be easily configured to move the sample container 104. Each block 160 may have an attached movement pattern (indicated by arrows) that indicates in which direction(s) the sample carrier 108 can move from each block 160. By default, the movement pattern may be defined by the physical layout of the track. For example, a four-way intersection with four ports may have a default movement pattern for entering and exiting each of the four ports. The movement pattern may be a physical constraint where a portion of the track 110 corresponding to one or more of the blocks 160 in the blocks 160 may only enable the sample carrier 108 to move in a specific direction. For example, the movement pattern for a particular block may be included in the associated block control program 130 for that block. In some embodiments, the movement pattern may be changeable. For example, software such as the router 126 and / or the block control program 130 may determine the direction of the movement pattern. For example, these directions may limit certain blocks to have a one-way (e.g., from left to right) movement pattern. Thus, the movement pattern may not be fixed.
[0062] Reference is made to certain blocks 160 in the blocks 160 corresponding to the sections 142 - 152 of the track 110 ( Figure 1B ). Blocks 160A - 160D correspond to the first section 142 in the physical track 110 ( Figure 1Bat least a portion of). In this example, the first section 142 of the physical track 110 is configured to safely accommodate four sample containers therein (relative to the risk of collision), and has thus been modeled as four blocks 160A - 160D. In the illustrated example embodiment, each of the blocks 160A - 160D is configured to have only one sample carrier therein at a time, and the movement of the sample carrier 108 is only from one block to an adjacent empty block. In some embodiments, the blocks may have more than one sample carrier and / or sample container therein at a time, for example, in cases where the risk of collision is minimal.
[0063] Additionally referring to Figure 3A for reference, Figure 3A FIG. shows an enlarged view of the first block 160A, which in some embodiments may be the same as the blocks 160B - 160C and the blocks representing other straight sections of the track 110. The block 160A has a first port 300A and a second port 300B, which are illustrated by a double arrow between the first port 300A and the second port 300B. The double arrow indicates the movement pattern of the first block 160A and that the sample carrier 108 (and thus the sample container 104) can be received into both the first port 300A and the second port 300B and can be transported from both the first port 300A and the second port 300B.
[0064] Referring again to Figure 2 , the block 204 is a corner block corresponding to the Figure 1B second section 144. The block 204 is configured to change the orientation of the sample container 104 between the x - direction and the y - direction. Additionally referring to Figure 3B for reference, Figure 3B FIG. shows an enlarged view of the block 204. The block 204 has a first port 302A and a second port 302B, which are illustrated by a double arrow between the first port 302A and the second port 302B. The double arrow indicates the movement pattern of the block 204 and that the sample carrier 108 (and thus the sample container 104) can be received into both the first port 302A and the second port 302B and can be transported from both the first port 302A and the second port 302B, which causes the sample carrier 108 to change its orientation between the x - direction and the y - direction.
[0065] Referring again to Figure 2 , the block 206 is a cross - over block corresponding to the Figure 1B third section 146. The block 206 is configured to receive the sample carrier into one port and transport the sample carrier out of one of the two other ports. Additionally referring to Figure 3C for reference, Figure 3CAn enlarged view of block 206 is shown. Block 206 has a first port 304A, a second port 304B, and a third port 304C, and arrows are used to illustrate between the first port 304A, the second port 304B, and the third port 304C. The arrows indicate the movement pattern of block 206 and that the sample carrier 108 (and thus the sample container 104) can be received into one port and conveyed out from one of the other ports.
[0066] Figure 2 Other blocks shown therein include block 208, which is an intersection block corresponding to Figure 1B the fourth section 148 of Figure 1B and is configured to be similar to block 206. Block 210 is a corner block corresponding to Figure 1B the fifth section 150 of
[0067] and block 212 is a corner block corresponding to Figure 1A the sixth section 152 of Figure 3D Block 210 and block 212 are configured to be similar to block 204. Block 210 is a mirror image of block 204, and block 212 is a mirror image of block 210.
[0067] Block 214 is a four-way intersection corresponding to Figure 1A the intersection section 190 of Figure 3D Block 214 is configured to receive the sample carrier 108 into the first port, the second port, the third port, and the fourth port and convey the sample carrier 108 out from the first port, the second port, the third port, and the fourth port. Additionally, referring to Figure 3D for Figure 3D an enlarged view of block 214 is shown. Block 214 has a first port 306A, a second port 306B, a third port 306C, and a fourth port 306D, and the first port 306A, the second port 306B, the third port 306C, and the fourth port 306D enable the sample carrier 108 to enter and leave all ports.
[0068] Additionally, referring to Figure 4 the track 110 can alternatively be represented as FIG. 400, which can be similar to the block diagram 200 ( Figure 2 ) for the same modeling standard. For example, the nodes 402 (some are labeled) of FIG. 400 can correspond to Figure 2 the blocks 160 of Figure 2 And the edges 404 (e.g., connections) of FIG. 400 are defined by the movement patterns of the blocks 160 and are illustrated as arrows. Thus, the track 110 ( Figure 1A) can be represented as a Cartesian grid of blocks and / or a graph of nodes and edges. This duality of representation provides flexible options for software programming in path planning to move the sample carrier 108 (and thus the sample container 104) along the track 110. The graph representation can be an abstraction in computer code. Many problems (such as defining the shortest path between two destinations) can be solved using programs and / or standard graph algorithms in computer code. Thus, once this graph representation is established for the track configuration, the graph representation can allow the direct use of standard algorithms and / or programs with known characteristics (e.g., Dijkstra's algorithm, A * algorithm, etc.) for path planning and / or solving various path planning problems.
[0069] Additionally, reference is made to Figure 5 for Figure 5 illustrating another block diagram 500, where block 502 has a different movement pattern from block 160 of Figure 2 . The user or routing program 126 ( Figure 1A ) can determine the movement pattern. Referring to Figure 5 , block 504 is a straight block that only allows the sample container 104 to move in a single direction. Additionally, reference is made to Figure 6A for Figure 6A illustrating an enlarged view of block 504. Block 504 includes a first port 600A and a second port 600B, where the sample carrier 108 enters the first port 600A and exits from the second port 600B. Block 506 is a corner block that only allows the sample carrier 108 to change its direction from the x - direction to the y - direction. Additionally, reference is made to Figure 6B for Figure 6B illustrating an enlarged view of block 506. Block 506 includes a first port 602A and a second port 602B, where the sample carrier 108 enters the first port 602A and exits from the second port 602B.
[0070] Block 508 is a cross - over block that only allows the sample container 104 to enter from a first port and exit from one of two other ports. One or more switches, etc., can be set to determine from which port the sample container 104 exits. Additionally, reference is made to Figure 6C for Figure 6C illustrating an enlarged view of block 508. Block 508 includes: a first port 604A, which is an input port; a second port 604B; and a third port 604C. The second port 604B and the third port 604C can be output ports, where the sample carrier 108 enters the first port 604A and exits from the second port 604B or the third port 604C.
[0071] The block 510 is a crossover block that allows the sample carrier 108 to enter from the first port or the second port and leave from the third port. One or more switches or the like can be set to determine which port the sample container 104 is allowed to enter. Additionally, for reference to Figure 6D see Figure 6D the enlarged view of the block 510 shown in the figure. The block 510 includes: a first port 606A and a second port 606B, which are input ports; and a third port 606C, which is an output port. The sample carrier 108 enters one of the first port 606A or the second port 606B and leaves from the third port 606C. In some embodiments, the block control program 130 can generate instructions for driving switches or the like to steer the sample carrier within the crossover block. The block diagram 500 can include blocks with other movement patterns, such as the block 512.
[0072] Figure 7 Figure 700 which alternatively represents the track 110 and is similar to the block diagram 500 is shown, where the nodes 702 in Figure 700 represent the blocks 502, and the edges 704 of Figure 700 are defined by the movement patterns in the block diagram 500. Thus, the track 110 ( Figure 1A ) can be represented as a Cartesian grid of blocks and / or a graph of nodes and edges.
[0073] Embodiments of the diagnostic laboratory system and routing method described herein can use dynamic routing software to convey the sample carrier 108 between adjacent blocks 160 throughout the diagnostic laboratory system. For example, the routing software can be implemented by the routing program 126. In some embodiments, the software architecture implemented by the routing program 126 can be divided into multiple independently adjustable software layers, where each software layer can be designed, developed, tested, and executed independently of the other software layers. Using independently adjustable software layers enables the same architecture to be scaled and / or customized for a variety of laboratory system configurations.
[0074] The independently adjustable software layers can include one or more task layers and a physical conveyance layer. One or more task layers determine which instruments in the instrument 102 and which processes (performed by the instrument 102) are required to complete the testing of each sample. The physical conveyance layer determines the best route for the sample carrier 108 via the block diagrams 200 / 500 (respectively Figure 2 and Figure 5 ) or the figures 400 / 700 (respectively Figure 4 and Figure 7 ) to test the sample as determined by one or more task layers. In such an architecture, it may only be necessary to customize the physical conveyance layer to meet different laboratory system configurations.
[0075] In some embodiments, the routing program 126 is or includes a multi-layer software architecture that abstracts a set of logical tasks and / or workflows to be performed by the physical conveyance software layer. Each software layer executes independently of the other software layers, but can transfer data to and / or receive data from other independently executing software layers. Thus, a software layer can be changed or customized without necessarily affecting the other software layers. By separating the software layers, intelligent routing can be performed to improve the efficiency of the laboratory system 100. Additionally, the separation of the software layers using a clear interface allows a software layer to be replaced without affecting the other software layers. In some embodiments, one or more software layers can each schedule / determine at least one stage (e.g., pre-processing or post-processing actions) of a test to be performed by at least one of the instruments 102. Another software layer can determine the routing of the sample container 104 ( Figure 1D ) to the instrument 102 to perform at least one stage. Another software layer (which can include the separate block control program 130) can generate instructions to the conveyance mechanism 154 (e.g., motors, power supplies, switches, sensors, etc.) to effect the routing of the sample container 104.
[0076] In a traditional laboratory system, the routing program may be different for each configuration of the laboratory system. The routing program 126 described herein can include multiple software layers implemented in multiple individually replaceable software modules as described herein, which enables the routing program 126 to be easily modified to operate in other laboratory systems. Thus, unlike routing programs used in traditional laboratory systems, the routing program 126 described herein can be used in many different laboratory configurations.
[0077] One of the technical challenges in operating a diagnostic laboratory system is to achieve high throughput of samples with minimal human interaction while ensuring the accuracy of the tests, regardless of the configuration of the laboratory system. The routing program 126 described herein can adapt to laboratory systems 100 of different sizes and configurations without having to completely re-engineer the entire routing program 126. The routing program 126 can have multiple software layer functions that can remain the same across different laboratory system configurations. That is, these layers have been designed or programmed to operate across multiple laboratory system configurations.
[0078] Refer to Figure 8 for Figure 8 an example of an individual software layer 800 that can be used in the architecture of the routing program 126 according to embodiments provided herein. The architecture can include other software layers, more Figure 8More or fewer software layers as illustrated. An order layer 802 can receive a sample analysis order and, in response, can identify specific tests available in the laboratory system 100 to perform on an associated sample to fulfill the sample analysis order. In some embodiments, the order layer 802 can receive a sample analysis order from a source external to the laboratory system 100, such as a hospital information system (not shown). The order layer 802 can additionally receive a sample analysis order entered by a system operator of the laboratory system 100 via the workstation 132. Based on the received input, the order layer 802 can generate an output (e.g., an instruction) indicating what tests are to be performed. For example, a first sample may require tests A, B, and C; a second sample may require tests X, Y, and Z; and a third sample may only require test A. Each of the tests A, B, C, X, Y, and Z can be performed by one or more of the respective instruments 102 of the laboratory system 100. For example, a first instrument 102A can be configured to perform tests A, B, and Z, while a second instrument 102B can be configured to perform tests C, X, and Y.
[0079] A task layer 804 can be configured to receive the output data generated by the order layer 802 and can generate an output (e.g., an instruction) regarding the respective tasks required to perform the tests identified by the order layer 802. The task layer 804 can identify the instrument 102 to perform a specific test, such as the tests identified in the order layer 802. For example, the task layer 804 can generate an instruction indicating that a first sample (e.g., sample 164A - Figure 1D ) needs to be aspirated and dispensed into another container and then mixed with a first reagent, while a second sample (e.g., sample 164B - Figure 1D ) needs to be aspirated and dispensed into another container and then mixed with a second reagent, and a third sample needs to be aspirated and dispensed into another container and then mixed with a diluent. The task instructions are output from the task layer 804 and are transmitted to the dispensing layer 806 as input. In some embodiments, the task layer 804 can also send data back to the order layer 802 indicating that task instructions have been generated. In some embodiments, the order layer 802 can delay its output until it receives data indicating that the task layer 804 is available to process additional input.
[0080] A dispensing layer 806 can generate an output including specific instructions regarding the performance of the task in response to receiving the output generated by the task layer 804. For example, the dispensing layer 806 can generate an instruction to dispense a first sample carrier (e.g., sample carrier 108A - Figure 1D)Outputs the first sample container 104A that receives and holds the first sample 164A at a specific location. The dispensing layer 806 can also track the available number of sample carriers 108 for transporting the sample containers 104, and ensure their availability at locations where empty sample carriers are needed by dispensing those empty sample carriers to specific locations. For example, the dispensing layer 806 can generate a dispensing specific location (such as the first instrument 102A) to receive the output of the first sample carrier 108Ad with the first sample container 104A, and dispense the second sample carrier 108B to receive the output of the second sample container 104B that holds the second sample 164B at a specific location (such as the second instrument 102b). If the test of the sample is urgent, the dispensing layer 806 can generate a high priority for the sample carrier carrying the urgent sample to allow the sample to pass through the outputs of other lower priority samples.
[0081] The dispensing layer instructions are output from the dispensing layer 806 and transmitted to the tracking layer 808 as inputs. In some embodiments, the output generated by the dispensing layer 806, or data indicating that the dispensing layer 806 has generated an output, can also be passed back to the task layer 804 or other software layers 800. In some embodiments, the task layer 804 can delay its output until it receives data indicating that the dispensing layer 806 is available to process additional inputs.
[0082] The tracking layer 808 generates an output including the specific path that the sample carrier 108 is to follow in response to receiving the output generated by the dispensing layer 806. For example, the tracking layer 808 can generate an output indicating that a specific sample carrier 108 is to be transported to one or more locations on the track 110 via a specific block 160 ( Figure 2 ) or a specific node 402 ( Figure 4 ). The output of the tracking layer 808 can include the corresponding sample carrier paths that prevent the sample carriers 108 from colliding with each other. For example, the tracking layer 808 can ensure that only one sample carrier 108 is located in each block 160 at a time. In addition, the tracking layer 808 can ensure that a sample carrier 108 is not transported from one block to a target block until the target block is vacant.
[0083] The tracking layer 808 can also optimize the path of the sample carrier 108 so that the sample carrier 108 moves back and forth between positions on the track 110 as efficiently as possible. In some embodiments, the tracking layer 808 can indicate that high priority samples move before other samples, as described above. In addition, the tracking layer 808 can determine when a sample carrier 108 moves from one block to an adjacent block. Moreover, the tracking layer 808 can determine a schedule or time window within which each sample carrier 108 will travel to a specific location. These determinations can avoid traffic jams on the track 110.
[0084] The output of the trajectory layer is transmitted to the physical transport layer 810 as an input. In some embodiments, the output of the trajectory layer or data associated therewith may be passed back to the distribution layer 806 or other software layers 800. For example, in some embodiments, the distribution layer 806 may delay its output until it receives data indicating that the trajectory layer 808 is available to process additional inputs. Additionally, the distribution layer 806 may utilize trajectory layer information to avoid assigning multiple sample carriers to the same location or instrument 102 (e.g., to avoid congestion or collisions). Thus, the distribution layer 806 may generate more efficient assignment instructions for sample carriers in response to receiving trajectory instructions.
[0085] In some embodiments, the physical transport layer 810 may be implemented in the block control program 130( Figure 1A ) and may generate instructions to activate the transport mechanism 154 in the track 110 in response to the path determined by the trajectory layer 808 to cause a selected sample carrier 108 to move (e.g., past adjacent blocks 160). As previously described, the transport mechanism 154 may include and / or control track switches, motors, power supplies, power sources, sensors, transformers, and / or other circuit components. Other hardware components of the track 110 may be activated to move the sample carrier 108 along the carrier path determined by the trajectory layer 808. For example, the physical transport layer 810 may generate instructions to cause selected switches in the crossover section (e.g., crossover section 146 - Figure 1B ) to be set appropriately to form the desired sample carrier path and to cause the selected sample carrier 108 to move to a specific location (e.g., instrument 102) or from a specific location (e.g., instrument 102). That is, the instructions from the physical transport layer 810 may cause appropriate electrical signals (e.g., power / current / voltage) to be applied to the identified sample carrier 108 and / or components in the transport mechanism 154 (e.g., selected motors) to cause the sample carrier 108 to move along a specific path on the track 110 determined by the trajectory layer 808. In some embodiments, the physical transport layer 810 may pass data back to the trajectory layer 808 and / or other software layers 800 indicating that the physical transport layer 810 has generated instructions. In some embodiments, by using the block control program 130, the physical transport layer 810 may ensure that only one sample container is allowed in each block 160.
[0086] In summary, each of the software layers 802, 804, 806, and 808 can be considered a "planning" layer that provides input to its next downstream software layer 800 (e.g., the order layer 802 provides input to the task layer 804, the task layer 804 provides input to the allocation layer 806, and the allocation layer 806 provides input to the trajectory layer 808). The physical conveyance layer 810 can be considered the "execution" layer that moves the sample carrier 108 within the laboratory system 100. For example, the conveyance layer 810 can translate block instructions into physical space, and all layers above the conveyance layer 810 can process data based on the blocks 160.
[0087] In some embodiments, each of the software layers 802, 804, 806, 808, and 810 can provide feedback to at least its nearest upstream software layer to (a) alert the upstream software layer of its availability and (b) enable the upstream software layer to more effectively process the input received from its nearest upstream software layer, if possible (e.g., the physical conveyance layer 810 can provide input to the trajectory layer 808 to enable the trajectory layer 808 to more effectively process the input received from the allocation layer 806). That is, by receiving input from the downstream software layer, the software layer 800 can generate plans and / or instructions that affect the tests to be performed by the laboratory system 100 that are different from the plans and / or instructions it would generate in the absence of input from the downstream software layer. The generated alternative plans and / or instructions can, for example, avoid delays in placing the sample container 104 in the sample carrier 108 and / or avoid traffic congestion at specific portions of the track 110 and / or the instrument 102.
[0088] Additionally, for reference Figure 9 purposes, Figure 9 FIG. illustrates an embodiment of a router program 126 according to one or more embodiments, the router program 126 being divided into separate and individually replaceable or configurable software modules 900, each software module 900 implementing one of the software layers 800 accordingly. Thus, the software modules 900 are separate software modules. The software modules 900 can include an order manager 902 that implements the order layer 802, a task manager 904 that implements the task layer 804, an allocation planner 906 that implements the allocation layer 806, a trajectory planner 908 that implements the trajectory layer 808, and a conveyance driver 910 that implements the physical conveyance layer 810. The router program 126 can include software modules other than Figure 9 the software modules 900 shown. In some embodiments, communication between the software modules 900 (and thus the software layers 800) can be performed, for example, via a message bus or a data-centric distributed data service (DDS). Other communication protocols can be used.
[0089] Each software module 900 may reside in a controller (such as, for example, computer 120( Figure 1A )) and be executed by the controller in a centralized manner. In other embodiments, software module 900 may be executed in one or more sub-processors of processor 122 of computer 120. In still other embodiments, software module 900 may be executed in a distributed manner, where one or more of each of software modules 900 may reside in and be executed in one or more sub-controllers (each sub-controller having its own memory). Software modules 900 may execute software layer 800 independently of and / or in parallel with each other.
[0090] In some embodiments, conveyance driver 910 may be implemented in block control program 130( Figure 1A ) and may send electrical signals to motors, drivers, switches, and / or other hardware components of conveyance mechanism 154 to effectuate the desired movement of one or more of each of sample carriers 108 associated with one or more first tests or phases thereof. Independent of and / or in parallel with conveyance driver 910, trajectory planner 908 may plan paths for one or more of each of sample carriers 108 associated with one or more second tests or phases thereof such that the sample carriers 108 may reach their destinations in a minimum amount of time. Independent of conveyance driver 910 and trajectory planner 908 and / or in parallel with conveyance driver 910 and trajectory planner 908, allocation planner 906 may allocate available sample carriers 108 to sample containers 104 associated with one or more third tests or phases thereof. Independent of conveyance driver 910, trajectory planner 908, and allocation planner 906 and / or in parallel with conveyance driver 910, trajectory planner 908, and allocation planner 906, task manager 904 may break down one or more fourth tests into discrete tasks or phases to be performed to complete one or more fourth tests. Additionally, independent of conveyance driver 910, trajectory planner 908, allocation planner 906, and task manager 904 and / or in parallel with conveyance driver 910, trajectory planner 908, allocation planner 906, and task manager 904, order manager 902 may process a sample analysis order into one or more fifth tests. A sample analysis order may be received, for example, from one or more users (such as doctors and other medical professionals) communicating with laboratory system 100.
[0091] As described above in connection with the software layer 800, in addition to the inputs received from the upstream software module 900, each of the software modules 902, 904, 906, and 908 may also receive optional inputs from one or more of the downstream software modules 904, 906, 908, and 910, which may be used to execute their respective software layer 800. In some embodiments, the inputs may include the status or data of the software module 900 generated by the software module 900. For example, the status or data generated by the conveyance driver 910 may be passed back to the trajectory planner 908 and / or other software modules 900. The status or data generated by the trajectory planner 908 may be passed back to the allocation planner 906 and / or other software modules 900. The status or data generated by the allocation planner 906 may be passed back to the task manager 904 and / or other software modules 900. Additionally, the status or data generated by the task manager 904 may be passed back to the order manager 902.
[0092] Dividing the router 126 into multiple modules / layers advantageously makes the router 126 more scalable, allowing small, medium, and large laboratory systems to run on the same software platform. In some embodiments, dividing the router 126 into multiple modules 900 and software layers 800 enables the router 126 to be used on multiple different laboratory system configurations of the laboratory system 100, such as those represented in block diagrams 200 and 500. Additionally, the multiple layers in the router 126 can be designed, developed, and tested independently. Thus, if one of the modules 900 / software layers 800 needs to be edited or replaced, the modification may not affect the other modules 900 / software layers 800. For example, if the laboratory system 100 is extended to include additional instruments that perform functions similar to the existing instruments 102 (to increase sample analysis throughput), the order manager 902 and the task manager 904 may not need to be updated.
[0093] If the laboratory system 100 is extended to include additional track components, the order manager 902, the task manager 904, and the allocation planner 906 may not need to be updated. The router 126 can update block diagram 200 ( Figure 2 ) to reflect the new track configuration. For example, the router 126 can model the track blocks as shown in block diagram 200 based on the first configuration of the track 110 and the components of the track 110. For example, when the configuration of the track 110 changes, the router 126 can update the track block model from block diagram 200 to block diagram 500 ( Figure 5) or another suitable block layout. Such an update may be necessary when the transport mechanism 154 and / or the track sensor 156 is updated or changed. For example, if an additional transport mechanism 154 is added to the track 110, the router 126 may update the relevant block model to add a block corresponding to the additional transport mechanism 154. Updates may also be necessary when a new track segment (such as a new intersection) is added to and / or removed from the track 110. In some embodiments, minor modifications may be required to the physical transport layer 810 and the transport driver 910 because the transport of the sample carrier 108 is still based on the movement of the sample carrier 108 between adjacent empty blocks. However, the other software layers 800 and modules 900 may be usable without change.
[0094] As a further example, if there is a change in the electrical specifications of the hardware components of the transport system in the laboratory system 100 (e.g., due to the replacement or upgrade of one of the transport mechanism 154 and / or the track sensor 156), only the transport driver 910 may need to be updated because only the physical transport layer 810 generates the instructions to activate the hardware components to move the sample carrier 108 between adjacent empty blocks. Thus, the update may correspond to updating the track block assignments, such as illustrated in block diagrams 200 / 500 and / or FIGS. 400 / 700. The change in electrical specifications may include, for example, a change in the electrical power, current, and / or voltage requirements of any hardware component; a change in the carrier and / or track motor details that affect the acceleration and speed of the sample carrier on the track 110; an update to address timing issues related to the power-on and power-off of the hardware components; an update to address track sensor issues that affect the allowable distance between moving sample carriers 108; and so on.
[0095] Note that software module 900 may be associated with more than one of the software layers 800 in each software layer 800. For example, in some embodiments, software module 900 may only include software modules 902 and 910, where the order manager 902 may be associated with software layers 802, 804, 806, and 808 (i.e., the "planning" layer), and the conveyance driver 910 may include the physical conveyance layer 810 (i.e., the "execution" layer). In other embodiments, software module 900 may only include software modules 902, 908, and 910, where software module 902 may be associated with software layers 802, 804, and 806. The trajectory planner 908 may be associated with the trajectory layer 808, and the conveyance driver 910 may be associated with the physical conveyance layer 810. In still other embodiments, software module 900 may only include software modules 902, 906, 908, and 910, where the order manager 902 may be associated with software layers 802 and 804. Other embodiments may include other software modules 900, which may, for example, analyze test results or perform various pre-processing and / or post-processing functions.
[0096] Returning to Figure 2 , block 160 has been illustrated as a square or rectangle. Other block shapes may be used. For example, a pentagon-shaped block may be used to represent a cross-section with five ports. The movement of the sample carrier 108 and the sample container 104 has been described as being in a two-dimensional plane. Thus, block 160 has also been described as being two-dimensional. In other embodiments, the movement of the sample container 104 and / or the sample carrier 108 may be three-dimensional, such as the X, Y, and Z described below in connection with Figure 10 (e.g., perpendicular to the track 110). In such embodiments, one or more of the respective blocks 160 may be three-dimensional, such as cube-shaped.
[0097] Referencing Figure 10 for Figure 10 FIG. 1000 is a three-dimensional block diagram showing a portion of a track (not shown separately) that can move the sample carrier 108 three-dimensionally ( Figure 1A ), and / or the sample container 104. That is, in some embodiments of the automated diagnostic laboratory system 100, the conveyance system may have more than one level, where one or more elevator-type mechanisms may move the sample carrier 108 from a block on one level to a block on another level. In Figure 10In an embodiment, the sample carrier 108 is configured to move to adjacent empty blocks in the x, y, and z directions. Block 1002, for example, has a movement pattern that restricts movement to only the x and y directions. Block 1004, for example, has a movement pattern that restricts movement to only the y and z directions. Other blocks may have other movement patterns. The routing program 126 routes the sample carrier 108 to and from adjacent blocks or cubes as described above.
[0098] Now referring to Figure 11 for reference, Figure 11 FIG. is a flowchart of a method 1100 for an illustrative diagnostic laboratory system (e.g., laboratory system 100) that analyzes a biological sample (e.g., first sample 164A). Method 1100 includes providing, in block 1102, a track (e.g., track 110) in the diagnostic laboratory system on which a sample container (e.g., sample container 104) that holds a biological sample is movable between a plurality of instruments (e.g., instruments 102). For example, the transport mechanism 154 can move the sample container 104 on the track 110. The block control program 130 can generate signals that operate the transport mechanism 154.
[0099] Method 1100 includes, in block 1104, modeling the track as a plurality of blocks (e.g., blocks 160) via software in a computer, where each block includes a movement pattern that indicates in which direction or directions a sample container can move into or out of the block. The blocks 160 can be generated or defined by a user. In other embodiments, the blocks 160 can be generated by a program (such as the routing program 126) in the memory 124. Each block 160 can be as small as possible while still being large enough to fit a single sample container 104 within its boundaries.
[0100] Method 1100 includes, in block 1106, identifying at least one test to be performed on the biological sample. For example, a medical professional can order a test on the biological sample. In some embodiments, at least one of the order layer 802, task layer 804, order manager 902, or task manager 904 can identify the at least one test.
[0101] Method 1100 includes, in block 1108, using a first software module (e.g., one of software layer 800 or module 900) to identify one or more instruments in a diagnostic laboratory system that are used to perform at least one test, the first software module being part of a program (e.g., routing program 126) that includes multiple separate software modules (e.g., software layer 800 or module 900) that communicate with each other. For example, one of software layer 800 or module 900 can identify which of the respective instruments 102 to use to perform the test. As described above, software layer 800 and module 900 communicate with each other. As a specific example, task layer 804 and / or task manager 904 can identify the instrument 102 to perform at least one test based at least on data from other software layers or modules.
[0102] Method 1100 includes, in block 1110, using a second software module of the program (e.g., one of software layer 800 or module 900) to generate conveyance instructions for conveying a biological sample via a sample container to one or more instruments, wherein the conveyance instructions include instructions for conveying the sample container between adjacent blocks. Generating the conveyance instructions can include generating instructions to activate hardware components associated with respective blocks to move the sample container between adjacent blocks. For example, conveyance driver 910 and / or physical conveyance layer 810 can determine which of the respective blocks 160 the sample container must traverse to move to or from one of the respective instruments 102. As a specific example, conveyance driver 910 and / or physical conveyance layer 810 can determine that first sample container 104A should travel between second block 160B and third block 160C to move from sample handler 102C to first instrument 102A. Conveyance driver 910 and / or physical conveyance layer 810 can generate instructions that block control program 130 uses to generate a signal to transfer mechanism 154 to cause first sample container 104A to move from a first block to a second block under one or more satisfactory conditions (e.g., the second block is vacant).
[0103] Method 1100 includes, in block 1112, conveying the sample container to one or more instruments in response to the conveyance instructions. For example, the instructions transmitted to transfer mechanism 154 can cause transfer mechanism 154 to move first sample container 104A from one block to an adjacent vacant block in a path to a designated location for first sample container 104A. In a more specific example, conveyance driver 910 (and / or physical conveyance layer 810) can direct conveyance mechanism 154 to move first sample container 104A from second block 160B to third block 160C via an appropriate section controller 128 (executing block control program 130) Figure 1F)。The movement from the second block 160B to the third block 160C is used to transfer the first sample container 104A from the sample handler 102C to the first instrument 102A. The block control program 130 associated with the block 160 ensures that only one sample container enters the vacant block 160 at a time, thereby preventing collisions and ensuring an efficient transfer of the first sample container 104A to the first instrument 102A.
[0104] Now make reference to Figure 12 for Figure 12 FIG. is a flowchart of a method 1200 of a diagnostic laboratory system (e.g., laboratory system 100) for analyzing a biological sample (e.g., first sample 164A). The method 1200 includes providing a track (e.g., track 110) in the diagnostic laboratory system in block 1202, wherein biological samples are movable on the track via a plurality of sample carriers (e.g., sample carrier 108).
[0105] The method 1200 includes representing the track as a graph (e.g., FIG. 400) via a computer (e.g., computer 120) in block 1204, wherein the graph includes a plurality of nodes (e.g., nodes 402) and edges (e.g., edges 404). Each node represents a section of the track configured to have only one sample carrier therein at a time, and each edge represents the movement pattern of the sample carrier to and from the node to which it is connected. Note that the method described above for modeling a trajectory as a plurality of blocks can be applied to representing a track as a graph.
[0106] The method 1200 includes identifying at least one test to be performed on a biological sample (e.g., first sample 164A) located in a sample container (e.g., first sample container 104A) and conveyed via a sample carrier (e.g., first sample carrier 108A) in block 1206. In some embodiments, at least one of the order layer 802, task layer 804, order manager 902, or task manager 904 can identify at least one test. In some embodiments, a user or healthcare professional can identify at least one test to be performed.
[0107] The method 1200 includes identifying one or more instruments (e.g., instrument 102) in the diagnostic laboratory system to perform at least one test using a first software module (e.g., one of the software layer 800 or module 900), the first software module being part of a program (e.g., routing program 126) that includes a plurality of individual software modules (e.g., one of the software layer 800 or module 900) that communicate with each other. For example, one of the software layer 800 or module 900 can identify which instrument 102 among the respective instruments 102 is to be used to perform the test. As a specific example, the task layer 804 and / or task manager 904 can identify the instrument 102 that performs at least one test.
[0108] Method 1200 includes, in block 1210, using a second software module of the program (e.g., one of software layer 800 or module 900) to generate conveyance instructions for conveying a sample carrier to one or more instruments, where the conveyance instructions include conveying the sample carrier between adjacent nodes. Generating the conveyance instructions may include generating instructions to activate hardware components associated with respective nodes to move a biological sample between adjacent nodes. For example, conveyance driver 910 and / or physical conveyance layer 810 may determine which nodes 402 the sample container will traverse to move to or from one of the instruments 102. As a specific example, conveyance driver 910 and / or physical conveyance layer 810 may determine that first sample container 104A should travel between certain adjacent nodes 402 to move from sample handler 102C to first instrument 102A. Conveyance driver 910 and / or physical conveyance layer 810 may generate instructions that block control program 130 uses to generate a signal to transfer mechanism 154 to cause first sample container 104A to move between certain adjacent nodes 402.
[0109] Method 1200 includes, in block 1212, conveying the sample carrier to one or more instruments in response to the conveyance instructions. For example, the instructions transmitted to transfer mechanism 154 may cause first sample carrier 108A to move to an adjacent vacant node to move first sample container 104A to a designated location. In a more specific example, conveyance driver 910 (and / or physical conveyance layer 810) may direct transfer mechanism 154 via appropriate section controller 128 (executing block control program 130) to move first sample container 104A between adjacent nodes for transferring first sample container 104A from sample handler 102C to first instrument 102A. Block control program 130 associated with nodes 402 ensures that only one sample container enters a vacant node 402 at a time, thereby preventing collisions and ensuring an efficient transfer of first sample carrier 108A to first instrument 102A.
[0110] Although the present 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. However, it should be understood that the specific methods and apparatuses disclosed herein are not intended to limit the present disclosure.
Claims
1. A method of operating a diagnostic laboratory system for analyzing biological samples, comprising: A track is provided in the diagnostic laboratory system, wherein a sample container accommodating a biological sample is movable on the track between a plurality of instruments; The track is modeled as a plurality of blocks by software via a computer, wherein each block includes a movement pattern indicating one or more directions along which the sample container moves into or out of the block; Identify at least one test to be performed on the biological sample; Use a first software module to identify in the diagnostic laboratory system one or more instruments for performing the at least one test, the first software module being part of a program including a plurality of individual software modules communicating with each other; Use a second software module of the program to generate conveyance instructions for conveying the biological sample to the one or more instruments via the sample container, wherein the conveyance instructions include instructions for conveying the sample container through adjacent blocks; and Convey the sample container to the one or more instruments in response to the conveyance instructions.
2. The method according to claim 1, wherein, One or more of the blocks include a first port and a second port, and wherein the conveyance instructions allow the sample container to enter and leave both the first port and the second port.
3. The method according to claim 1, wherein, One or more of the blocks include a first port and a second port, and wherein the conveyance instructions allow the sample container to enter the first port and leave from the second port.
4. The method according to claim 1, wherein, One or more of the blocks are cross blocks including a first port, a second port, and a third port, and wherein the conveyance instructions allow the sample container to enter the first port, the second port, and the third port and to leave from the first port, the second port, and the third port.
5. The method according to claim 1, wherein, One or more of the blocks are cross blocks including a first port, a second port, and a third port, and wherein the conveyance instructions allow the sample container to enter the first port and leave from one of the second port or the third port.
6. The method according to claim 1, wherein, Generating the conveyance instructions includes using the second software module to generate instructions for applying appropriate electric power to selected ones of the one or more sample carriers, track sections, or track switches of the track to move the sample container on the track.
7. The method according to claim 1, wherein, Generating the conveyance instructions includes generating instructions for causing a sample carrier to receive the sample container accommodating the biological sample at a specific position on the track.
8. The method according to claim 1, further comprising, after said modeling, changing the movement patterns associated with some of said blocks.
9. The method according to claim 1, wherein, Generating the conveyance instructions includes generating instructions for activating hardware components associated with respective blocks to move the sample container from one block to an adjacent block.
10. The method according to claim 1, wherein, One or more of the blocks are cross blocks configured to have only one sample container in the cross block at a time.
11. The method according to claim 1, wherein, Each of the blocks is configured to have only one sample container in the block at a time.
12. The method according to claim 1, wherein, Each of the blocks corresponds to a track portion sized to have at least one sample carrier within the boundaries of the track portion.
13. A method of operating a diagnostic laboratory system for analyzing biological samples, comprising: A track is provided in the diagnostic laboratory system, wherein the biological sample is movable on the track by a plurality of sample carriers; The track is represented as a graph by a computer, the graph including a plurality of nodes and edges, where each node represents a portion of the track configured to have only one sample carrier in the portion at a time, and where each edge represents the movement pattern of the sample carrier to and from the nodes to which the sample carrier is connected; Identify at least one test to be performed on a biological sample located in a sample container and transported via a sample carrier; Use a first software module to identify one or more instruments in the diagnostic laboratory system for performing the at least one test, the first software module being part of a program including a plurality of individual software modules communicating with each other; Use a second software module of the program to generate transport instructions for transporting the sample carrier to the one or more instruments, where the transport instructions include transporting the sample carrier between adjacent nodes; and Transport the sample carrier to the one or more instruments in response to the transport instructions.
14. The method according to claim 13, wherein, At least one of the plurality of nodes represents a track portion including a three-way or four-way track intersection.
15. The method according to claim 13, wherein, The generating of the transport instructions includes using the second software module to generate instructions for applying appropriate electrical power to a selected one or more sample carriers or transfer mechanisms of the track to move the sample container on the track.
16. The method according to claim 13, wherein, The generating of the transport instructions includes generating instructions for activating hardware components associated with respective nodes to move the biological sample between adjacent nodes.
17. A diagnostic laboratory system for analyzing biological samples, comprising: At least one instrument for preparing or testing the biological sample; A track configured to transport a sample container to and from the at least one instrument, where the sample container is configured to hold a biological sample to be analyzed therein; and A computer configured to: Model the track as a plurality of blocks in software, where each of the blocks includes a movement pattern indicating one or more directions along which the sample container moves into or out of the block; Identify at least one test to be performed on a biological sample by at least one instrument; and Execute a program controlling the operation of the diagnostic laboratory system, the program having an architecture including a plurality of individual software modules communicating with each other, the plurality of individual software modules including: A first software module that identifies one or more instruments in the diagnostic laboratory system for performing the at least one test; and A second software module that generates transport instructions for transporting the biological sample to the one or more instruments, where the transport instructions include instructions for transporting the biological sample from one block to an adjacent block.
18. The diagnostic laboratory system according to claim 17, wherein, At least one movement pattern indicates one or more directions along which the sample container is configured to move through a block modeling a three-way or four-way track intersection.
19. The diagnostic laboratory system according to claim 17, wherein, The transport instructions are configured to activate hardware components associated with respective ones of the blocks to move the sample container from one block to an adjacent block.
20. The diagnostic laboratory system according to claim 17, wherein, Each of the blocks is configured to have only one sample container in the block at a time.