Device and method for transporting samples within a diagnostic laboratory system - Patents.com

By modeling a diagnostic laboratory system as a track with software-defined blocks and using a modular routing program, the complexity of sample transport is reduced, ensuring efficient and collision-free movement of sample containers to instruments in large systems.

JP2025539774APending Publication Date: 2025-12-09SIEMENS HEALTHCARE DIAGNOSTICS INC
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2025528426
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-11-16
Filing Date
2023-11-16
Publication Date
2025-12-09

AI Technical Summary

Technical Problem

The complexity of transporting sample containers in large diagnostic laboratory systems increases, leading to potential collisions and inefficiencies in sample transport, particularly as the system grows and additional tests and containers are added.

Method used

A diagnostic laboratory system is modeled as a track with software-defined blocks, where each block represents a portion of the track, and a routing program generates instructions for sample carriers to move between these blocks, optimizing paths and avoiding collisions through a modular software architecture that allows for flexible configuration and customization.

Benefits of technology

This approach simplifies and optimizes sample transport by reducing complexity, ensuring efficient movement of sample containers to instruments while minimizing collisions and adapting to various system configurations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025539774000001_ABST
    Figure 2025539774000001_ABST
Patent Text Reader

Abstract

A method for operating a diagnostic laboratory system for analyzing biological samples includes modeling in software a track within the diagnostic laboratory system as a plurality of blocks. At least one test to be performed on the biological sample is identified. A first software module is used to identify one or more instruments within the diagnostic laboratory system for performing the test, the first software module being part of a program including a plurality of individual software modules in communication with each other. A second software module of the program is used to generate transport instructions for transporting the biological sample via a sample container to one or more instruments, the transport instructions including instructions for transporting the sample container through adjacent blocks. The sample container is transported to the one or more instruments in response to the transport instructions. Other methods and apparatus are also disclosed.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS This application claims the benefit of U.S. Provisional Patent Application No. 63 / 384,057, filed November 16, 2022, and entitled "DEVICES AND METHODS FOR TRANSPORTING SAMPLES IN DIAGNOSTIC LABORATORY SYSTEMS," the disclosure of which is incorporated herein by reference in its entirety for all purposes.

[0002] The present disclosure relates to devices and methods for transporting sample containers within a diagnostic laboratory system. [Background technology]

[0003] Diagnostic laboratory systems perform clinical chemistry or analysis to identify analytes or other components in biological samples, such as serum, plasma, urine, interstitial fluid, cerebrospinal fluid, etc. Samples may be received in sample containers and / or transported throughout the laboratory system in sample containers. Many laboratory systems process large volumes of sample containers and the samples contained therein. Summary of the Invention [Problem to be solved by the invention]

[0004] The process involves transporting sample containers on trucks throughout a diagnostic laboratory system. As the size of a diagnostic laboratory system increases, the complexity of each truck also increases. The complexity of the transport programs that generate the instructions for transporting the sample containers also increases, which can slow sample transport or cause problems such as sample container collisions. Therefore, there is a need for a system and method that provides simplified transport of sample containers throughout a laboratory system. [Means for solving the problem]

[0005] According to a first aspect, a method of operating a diagnostic laboratory system for analyzing biological samples is provided, the method including: providing a track within the diagnostic laboratory system, wherein sample containers containing the biological samples are movable on the track among a plurality of instruments; modeling the track in software via a computer as a plurality of blocks, each block including a motion pattern indicating one or more directions in which the sample container moves into or out of the block; identifying at least one test to be performed on the biological sample; identifying one or more instruments within the diagnostic laboratory system for performing the at least one test using a first software module, the first software module being part of a program including a plurality of individual software modules in communication with each other; generating transport instructions, using a second software module of the program, for transporting the biological sample via the sample container to one or more instruments, the transport instructions including 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.

[0006] In another aspect, a method of operating a diagnostic laboratory system for analyzing biological samples is provided, the method including: providing a track within the diagnostic laboratory system, where the biological samples are movable on the track by a plurality of sample carriers; representing, via a computer, the track as a graph, 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 at a time, and where each edge represents a movement pattern of the sample carrier to and from the node connected to the edge; identifying at least one test to be performed on the biological samples placed in the sample containers and transported via the sample carriers; identifying, using a first software module, one or more instruments within the diagnostic laboratory system for performing the at least one test, where the first software module is part of a program including a plurality of individual software modules in communication with each other; generating, using a second software module of the program, transport instructions for transporting the sample carriers to the one or more instruments, the transport instructions including transporting the sample carriers between adjacent nodes; and transporting the sample carriers to the one or more instruments in response to the transport instructions.

[0007] In a further 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 sample; and a track configured to transport sample containers to and from the at least one instrument, the sample containers configured to hold the biological sample to be analyzed. The diagnostic laboratory system also includes a computer configured to: model the track as a plurality of blocks in software, each block including a motion pattern indicating one or more directions in which the sample container moves into or out of the block; identify at least one test to be performed on the biological sample by the at least one instrument; and execute a program for controlling operation of the diagnostic laboratory system, the program having an architecture including a plurality of individual software modules in communication with each other, the plurality of individual software modules including a first software module for identifying one or more instruments in the diagnostic laboratory system for performing the at least one test, and a second software module for generating transport instructions for transporting the biological sample to the one or more instruments, the transport instructions including instructions for transporting the biological sample from one block to an adjacent block.

[0008] Further aspects, configurations, and advantages of the present disclosure will be readily apparent from the following description and illustration of several exemplary embodiments, including the best mode contemplated for carrying out the disclosure. The present disclosure is also capable of other and different embodiments, and its several details can be modified in various respects, all without departing from the scope of the present disclosure.

[0009] The drawings described below are provided for illustrative purposes and are not necessarily drawn to scale. Accordingly, the drawings and descriptions should be regarded as illustrative in nature, and not restrictive. The drawings are not intended to limit the scope of the present disclosure in any way. [Brief explanation of the drawings]

[0010] [Figure 1A] FIG. 1 is a diagram of a diagnostic laboratory system according to one or more embodiments. [Figure 1B] FIG. 1B illustrates an expanded portion of the track of the diagnostic laboratory system of FIG. 1A in accordance with one or more embodiments. [Figure 1C] FIG. 1C illustrates an enlarged portion of the track of FIG. 1B showing individual blocks and transport components, according to one or more embodiments. [Figure 1D] 1B is an isometric close-up view of a portion of the track of FIG. 1A including two sample carriers holding sample vessels, the sample vessels containing samples, and the sample carriers being independently movable, according to one or more embodiments. [Figure 1E] FIG. 1E is a side view of one of the sample carriers and sample vessels of FIG. 1D according to one or more embodiments. [Figure 1F] 1B is an isometric close-up view of a portion of the track of FIG. 1A including two sample carriers holding sample vessels, the sample vessels containing samples, and the sample carriers movable by linear motors, according to one or more embodiments. [Figure 1G] FIG. 1F is a side view of one of the sample carriers and sample containers of FIG. 1F, according to one or more embodiments. [Figure 2] FIG. 1B is a block diagram of an embodiment of a track of the diagnostic laboratory system of FIG. 1A modeled in software as multiple adjacent blocks, according to one or more embodiments. [Figure 3] 3A-3D are expanded views of certain blocks of the diagnostic laboratory system blocks of FIG. 1 and the block diagram of FIG. 2, according to one or more embodiments. [Figure 4] FIG. 1B illustrates a graphical representation of an embodiment of a track of the diagnostic laboratory system of FIG. 1A similar to that modeled in the block diagram of FIG. 2, according to one or more embodiments. [Figure 5]FIG. 1B is a block diagram of another embodiment of the track of the diagnostic laboratory system of FIG. 1A modeled in software as multiple adjacent blocks, some of which have different movement patterns than the blocks of FIG. 2, in accordance with one or more embodiments. [Figure 6] 6A-6D are expanded views of certain of the blocks of FIG. 5, according to one or more embodiments. [Figure 7] FIG. 1B illustrates a graphical representation of another embodiment of a track of the diagnostic laboratory system of FIG. 1A similar to that modeled in the block diagram of FIG. 5, according to one or more embodiments. [Figure 8] FIG. 1B illustrates an example of software layers that may be used in the architecture of the routing program of FIG. 1A, according to one or more embodiments. [Figure 9] 9 illustrates a routing program divided into separate, individually replaceable software modules, each implementing one of the software layers of FIG. 8, according to one or more embodiments. [Figure 10] FIG. 1 shows a three-dimensional block representing a portion of a multi-level track capable of moving sample carriers and / or sample vessels in three dimensions, according to one or more embodiments. [Figure 11] 1 is a flow diagram of a method of operating a diagnostic laboratory system for analyzing a biological sample, according to one or more embodiments. [Figure 12] 1 is a flow diagram of another method of operating a diagnostic laboratory system for analyzing a biological sample, according to one or more embodiments. DETAILED DESCRIPTION OF THE INVENTION

[0011] Automated diagnostic laboratory systems perform clinical chemistry and / or analysis to identify analytes or other components in biological samples, such as serum, plasma, urine, interstitial fluid, cerebrospinal fluid, etc. The sample is collected in a sample container and then delivered to the diagnostic laboratory system. The sample container is then loaded into a sample handler of the laboratory system. The sample container is then transferred by a robot to a sample carrier, which transports the sample container by truck to instruments and components of the laboratory system, where the sample is processed and analyzed.

[0012] An automated diagnostic laboratory system can transport multiple sample containers via truck to multiple different instruments. A routing program determines the path on the truck that each sample container takes in order for the instrument to perform a specific test on the sample. 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 overtake and / or yield to each other at specific times to reach a specific instrument at a specific time. As high-priority samples are added, the routing becomes even more complex because the routing must be updated to allow lower-priority samples to yield to the higher-priority samples.

[0013] Modular laboratory systems can be arranged in many different physical configurations (e.g., track and instrument layouts). The routing program must generally be customized to the specific laboratory system configuration used to properly route the sample containers. Customizing the routing program for each different configuration is difficult and increases the cost of implementing the laboratory system.

[0014] Embodiments of the diagnostic laboratory systems and routing methods described herein use a dynamic routing program to transport sample containers throughout the diagnostic laboratory system. In some embodiments, the software architecture used within the laboratory system is divided into multiple independently adjustable software layers, where each software layer can be designed, developed, tested, and executed independently of the other software layers. The use of independently adjustable software layers enables the same architecture to be extended and / or customized for a wide variety of laboratory system configurations.

[0015] The independently adjustable software layers can include one or more task layers and a physical transport layer. The one or more task layers determine the instruments and processes performed by those instruments required to complete tests on each sample. The physical transport layer determines the best routing for sample carriers so that the samples determined by the one or more task layers are tested. In such an architecture, only the physical transport layer needs to be customized to meet different laboratory system configurations. The physical transport layer can be implemented within a routing program.

[0016] In some embodiments, the routing program can model in software the track of the diagnostic laboratory system as small "blocks," with each block representing a portion of the track (e.g., configured to have only one sample carrier or one sample container at a time). Sample carrier movement and tracking can be based on the blocks. For example, a mechanical transport mechanism can move sample carriers from one block to an adjacent block and stop the movement of the sample carrier within an individual block. In some embodiments, blocks representing straight track portions of the track can be configured to have more than one sample carrier at a time, while blocks representing intersections of track portions can be configured to have only one sample carrier at a time.

[0017] Each block can have an associated motion pattern (e.g., forward, back, left, right) indicating one or more directions in which sample carriers can move into or out of that block. For example, a particular block can only accept sample carriers from the left and route them through one sample carrier at a time to an adjacent empty block to the right (e.g., a target block). A three-pronged cross block, for example, can accept sample carriers from the left and route them through only one sample carrier at a time to an adjacent target block to the right or below (shown in plan view). Movement from one block to an adjacent target block can only be permitted if the target block is empty, meaning that no other sample carriers are present in the block. Otherwise, the sample carrier waits until the target block is empty. The blocks described herein are shown as having four sides and a generally orthogonal motion pattern. However, the apparatus and methods described herein are applicable to other block shapes, such as blocks with three sides or five or more sides, and associated motion patterns (e.g., non-orthogonal motion, combinations of orthogonal and non-orthogonal motion, etc.).

[0018] Alternatively, instead of modeling blocks, the track layout of a diagnostic laboratory system can be represented as a graph of nodes and edges, where the nodes can be similar to blocks and the movement patterns can define the edges connecting the nodes (see, e.g., Figures 4 and 7, described below). A graph representation of a track layout is more general than a block model of a track layout (using a Cartesian grid). For example, such a graph can represent a track layout with non-uniform block sizes. This duality of representation (Cartesian grid vs. graph) allows for flexible choices within the physical transport layer (described in more detail below) of a routing program for routing sample carriers throughout the laboratory system. Note that the following discussion relating to the blocks and movement patterns of a block model of a track layout is also applicable to the nodes and edges of a graph representation of a track layout.

[0019] Returning to block modeling, in some embodiments, blocks can be as small as possible to allow maximum traffic throughout the laboratory system, yet large enough so that each block can still have at least one sample carrier. In some embodiments, the minimum size of a block depends on the minimum allowable distance between two sample carriers on the track. This distance may depend, for example, on the mechanical properties of the track, the size of the sample carriers, the magnitude of magnetic repulsion between the sample carriers (for sample carriers that move in this way), and / or other constraints. A block representation of the track, including the movement pattern of each block, can then be derived from the physical layout of the track. A 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 sample carrier movement sensed within the block or between nodes of the graph.

[0020] Modeling blocks of tracks allows for simpler sample carrier routing within the physical transport layer, as the physical transport layer only considers the movement of sample carriers to and from adjacent blocks or nodes, rather than the start-to-end movement of the sample carrier across the entire physical track. Additionally, modeling blocks reduces the complexity of path planning for sample carriers, as blocks can instead be represented as nodes in a graph, providing a compact representation for path optimization. Furthermore, the block control program is configured in some embodiments to avoid collisions between sample carriers and overcrowding of tracks, as only one sample carrier can occupy a block or node at a time.

[0021] These and other systems and methods are described in more detail below with reference to FIGS. 1A-12.

[0022] Referring now to FIG. 1A, FIG. 1A shows a diagram of an exemplary embodiment of an automated diagnostic laboratory system 100 in accordance with one or more embodiments. The laboratory system 100 may include a plurality of instruments 102 configured to process sample containers 104 (some of which may be labeled) and perform analyses or tests on biological samples contained within the sample containers 104. The laboratory system 100 may have a first instrument 102A and a second instrument 102B. In addition, the laboratory system 100 may include a third instrument configured as a sample handler 102C. The sample handler 102C is configured to accept the sample containers 104 into the laboratory system 100. The first instrument 102A and / or the second instrument 102B may perform analyses on samples placed within the sample containers 104. Other embodiments of the laboratory system 100 may include more or fewer instruments.

[0023] The samples placed in the sample containers 104 can be various biological specimens collected from individuals, such as patients being evaluated by a medical professional. The samples can be collected from the patient and placed in the sample containers 104. The sample containers 104 can then be delivered to the laboratory system 100. The sample containers 104 can be loaded into the sample handler 102C. The sample containers 104 can be transferred from the sample handler 102C into sample carriers 108 (some labeled), which transport the sample containers 104 throughout the laboratory system 100, such as instruments 102, by truck 110. After the sample containers are introduced into the laboratory system 100 and placed on the sample carriers, the sample carriers are then instructed to visit a specific set of destinations (i.e., instruments 102 and / or other components). The set of destinations can be a specific sequence. For example, the sample containers may need to first visit a centrifuge, followed by a decapper. In some situations, sample containers may need to reach these destinations within a specific time window, for example, specimen containers may need to be aspirated within a specific period after decapping.

[0024] The track 110 is configured to allow the sample carriers 108 to move throughout the laboratory system 100, including to and from the sample handler 102C, in response to transport commands described herein. For example, the track 110 can extend proximate to and / or around at least some of the instruments 102 shown in FIG. 1A. The instruments 102 can have devices such as robots (not shown in FIG. 1A) that transfer sample containers 104 to and from the sample carriers 108. The track 110 can have electronic transport components (not shown in FIG. 1A) that move the sample containers 104 through the sample carriers 108 and / or monitor the location of the sample containers 104 on the track 110.

[0025] The instrument 102 and transport components may include or be coupled to a computer 120 configured to execute one or more programs that control the operation of the laboratory system 100. The computer 120 may be configured to communicate with the instrument 102, the transport components, and other components of the laboratory system 100. The computer 120 may include a processor 122 configured to execute programs, including programs other than those described herein. The programs may be implemented in computer code. In some embodiments, the computer 120 may be located remotely from the instrument 102. Additionally, in some embodiments, the computer 120 may control the operation of multiple different laboratory systems. Thus, data generated by the laboratory system 100 may be stored and / or processed remotely.

[0026] The computer 120 may include or 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 in the memory 124 may be referred to as a non-transitory computer-readable medium. The programs may be computer code executable on or by the processor 122.

[0027] The memory 124 may include a routing program 126 (e.g., computer code executable by the processor 122) configured to generate paths for individual sample containers and / or sample carriers 108. The paths may direct the sample containers 104 and / or sample carriers 108 to particular ones of the instruments 102 to perform tests on the samples in the sample containers 104.

[0028] The automated diagnostic laboratory system 100 can also include one or more segment controllers 128. Each segment controller 128 can control the movement of sample carriers through one or more designated blocks of the track 110. Each segment controller 128 can include a processor, transceiver, etc., and memory that stores a block control program 130 (e.g., computer code executable by the processor). The block control program 130 is configured to generate instructions that move sample containers 104 and / or sample carriers 108 to and through one or more designated blocks. Thus, each block control program 130 can generate instructions that activate particular components on the track 110 to move particular sample carriers 108 to and / or through one or more designated blocks controlled by the segment controller 128 executing that block control program 130. Each segment controller 128 can be located around the track 110 at or near the block that the segment controller 128 controls. Each segment controller 128 may communicate with the computer 120 and / or with each other via Ethernet or other suitable networks using wired and / or wireless connections and may include components other than those described herein. In alternative embodiments, the functions performed by the segment controllers 128 may be performed by the computer 120 or another central computer, and the block control program 130 for each of the segment controllers 128 may be stored in the memory 124 and / or included in the routing program 126.

[0029] The workstation 132 can be electrically coupled to the computer 120 and can communicate with the computer 120. In some embodiments, the workstation 132 can be located remotely from the truck 110. The workstation 132 can 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.

[0030] The illustrated track 110 includes dashed lines to indicate the routes or paths that the sample carriers 108 (and thus the sample containers 104) can take within the laboratory system 100. As shown in FIG. 1A, the sample carriers 108 can take many routes throughout the laboratory system 100. The routing program 126 generates instructions that enable the sample carriers 108 to move to designated instruments at scheduled times to maintain the laboratory system 100 in an efficient operating state. In some embodiments, the routing program 126 can determine the most efficient path for one or more of the sample carriers 108, taking into account the possibility that there are other sample carriers 108 traveling on the same path and / or to the same instrument. The segment controllers 128 (each executing a block control program 130) can activate transport components (described below) on the track 110 for the blocks under their control to move the sample carriers 108 on the determined path.

[0031] Further referring to FIG. 1B, FIG. 1B shows an enlarged portion of the track 110. The track 110 has different segments 140 that enable the sample carrier 108 to move in at least the x- and y-directions and change direction between the x- and y-directions. Types of segments 140 include curved segments 140A that change the direction of the sample carrier 108 between the x- and y-directions and vice versa. Other types of segments 140 include crossing segments 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 crossing segment 140B can also receive the sample carrier 108 from the first port or the second port and output the sample carrier 108 to a third port. The track 110 can also include a straight segment 140C that continues the movement of the sample carrier 108 in a straight line.

[0032] The particular segments of track 110 are described in detail below with reference to the operation of routing program 126. First segment 142 is a straight segment extending in the x-direction. Second segment 144 is a curved segment extending in the y-direction and the x-direction. Third segment 146 is an intersecting segment extending in the y-direction, with a branch extending in the positive x-direction. Fourth segment 148 is another intersecting segment extending in the x-direction, with a branch extending in the negative y-direction. Fifth segment 150 is a curve, and sixth segment 152 is a curve that is a mirror image of fifth segment 150.

[0033] The track 110 can include transport mechanisms 154 (some labeled) configured to transport the sample carriers 108 on the track 110. While an example of the transport mechanism 154 is shown in FIG. 1B as being located below the track 110, in other embodiments, the transport mechanism 154 can be located next to the track 110, above the track 110, or any other suitable location. Examples of the transport mechanism 154 are described below with reference to FIGS. 1B-1G, and the transport mechanism 154 can include movable belts and rollers (not shown separately) that use friction to move the sample carriers 108, and magnetic devices (e.g., see FIGS. 1F and 1G) that magnetically move the sample carriers 108 relative to the track 110. In yet other examples, the sample carriers 108 can be self-propelled on the track 110 (e.g., see FIG. 1D), and in some embodiments, can receive movement commands wirelessly from the computer 120, the segment 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 sample carriers 108 between blocks via tracks 110 can be used as transport mechanism 154. Transport mechanism 154 can receive signals from segment controller 128 (through execution of block control program 130) that cause transport mechanism 154 to operate.

[0034] The laboratory system 100 may also include a plurality of track sensors 156 (some labeled) configured to identify the position of the sample containers 104 and / or sample carriers 108 on the track 110. The track sensors 156 are shown as straight or curved, rectangular shapes adjacent to the segments 140 of the track 110. However, in some embodiments, the track sensors 156 may be an integral part of the track segments. The track sensors 156 may be any device that senses or determines the position of the sample carriers 108 and / or sample containers 104 and then transmits the position information to an associated segment 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 segment 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, individual elements positioned adjacent to the track 110. Examples of track sensors 156 include optical devices that read indicia placed on the sample carrier 108 and / or sample container 104, radio frequency identification devices (RFID) that read RFID tags placed on the sample carrier 108 and / or sample container 104, etc. Other track sensors that determine the position of the sample container 104 and / or sample carrier 108 may also be used.

[0035] 1C, which shows an enlarged portion of the first segment 142 transporting the first sample container 104A by the first sample carrier 108A. The track 110 is modeled in software into a plurality of blocks 160. The depicted portion of the first segment 142 is shown as having four blocks, individually referred to as a first block 160A, a second block 160B, a third block 160C, and a fourth block 160D. Other numbers of blocks may also 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., via a linear motor, a belt, a signal, and / or power applied to the first sample carrier 108A when a self-propelled sample carrier is used, etc.). For example, the transport mechanism 154 can have hardware components associated with individual ones of the blocks 160. In the embodiment of Figure 1C, the transport mechanism 154 moves the first sample carrier 108A from the third block 160C to the fourth block 160D. In some embodiments, each of the blocks 160 can include an individual one of the transport mechanism 154. In other embodiments, multiple blocks 160 can be associated with a single transport mechanism, and the single transport mechanism is configured to transport the first sample carrier 108A between individual ones of the blocks 160.

[0036] 1C, the track sensor 156 is shown as being divided into a plurality of individual sensors, each of which can be configured to sense the position of a first sample carrier 108A in each of the blocks 160 and transmit that position information to one or more segment controllers 128 and / or the 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 108A in the fourth block 160D.

[0037] With further reference to FIG. 1D, FIG. 1D is an isometric close-up view of a portion of the track 110 of FIG. 1C. In the embodiment of FIG. 1D, a first sample container 104A supported by a first sample carrier 108A contains a first sample 164A that can be analyzed by one or more of the instruments 102 (FIG. 1A). The embodiment of FIG. 1D also includes a second sample carrier 108B carrying a second sample container 104B. A second sample 164B is disposed within the second sample container 104B. The transport mechanism 154 of FIG. 1D can be a single mechanism that enables independent movement of the first sample carrier 108A and the second sample carrier 108B within the second block 160B and the third block 160C (e.g., by magnetic induction, etc.). For example, the transport mechanism 154 may hold the second sample carrier 108B in the second block 160B while moving the first sample carrier 108A within the third block 160C. The track sensor 156 may be configured to identify the location of the first sample carrier 108A and the second sample carrier 108B on the track 110 and transmit the position data to the associated segment controller 128 and / or routing program 126. In some embodiments, the blocks 160 may be slightly larger than the sample carriers 108. For example, the second block 160B and the third block 160C may be slightly larger than the footprint of the first sample carrier 108A and the second sample carrier 108B.

[0038] With further reference to FIG. 1E, FIG. 1E illustrates one embodiment of a first sample carrier 108A configured to be self-propelled. The first sample carrier 108A can include a housing 168 within which a motor 170 and a receiver 172 can be disposed. The motor 170 can be coupled to wheels 174 extending from the housing 168. The receiver 172 can receive a transport command from one of the segment controllers indicating that the first sample carrier 108A is to move from one block to an adjacent block, etc. The receiver 172 can then activate the motor 170, which rotates the wheels 174 to move the first sample carrier 108A. In some embodiments, a coil or the like can be located within the transport mechanism 154 and can generate an electric field that provides power to the motor 170. In some embodiments, the motor 170 can be provided with adequate power to move the first sample carrier 108A.

[0039] 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. These instructions can then be parsed based on specific blocks within the generated paths along which the first and second sample carriers 108A, 108B are to be transported. The parsed instructions can then be transmitted to one or more segment controllers 128 that control the movement of the sample carriers through those specific blocks. The associated block control programs 130 of those one or more segment controllers 128 can then generate electrical signals that cause the transport mechanism 154 to move the first sample carrier 108A and the second sample carrier 108B through the specific blocks along the track 110 in accordance with the instructions. In embodiments in which the sample carriers 108 are self-propelled, the segment controller 128 may include one or more transceivers and / or wireless transmitters that transmit instructions directly or indirectly to the first and second sample carriers 108A,B when the segment controller 128 receives position data generated by the track sensor 156 when the first and second sample carriers 108A,B reach specific blocks under the control of the segment controller 128. The segment controller 128 may forward the position data to the routing program 126 to update paths and instructions for the other sample carriers 108.

[0040] 1F and 1G, which show one embodiment of the transport mechanism 154 configured as a linear motor. In the embodiment of FIG. 1F, the transport mechanism 154 includes a coil 178 configured to generate a magnetic field in response to signals generated by the segment controller 128. A base 180 (FIG. 1G) of the housing 168 is magnetized, thus changing the magnetic field generated by the coil 178, which can apply a force to the base 180. This force causes the first sample carrier 108A to move on the track 110.

[0041] Ultimately, instructions from the routing program 126 cause the transport mechanism 154 to route each of the sample containers 104 to a specific set of destinations, such as different ones of the instruments 102. These routes allow each of the sample containers 104 to visit the destinations in a specific sequence, such as visiting a centrifuge followed by a decapper. The routes may require specific time windows to visit specific destinations and perform specific tests. The laboratory system 100 may have hundreds or thousands of sample carriers 108 moving simultaneously to perform multiple different tests on samples (e.g., sample 164A in FIG. 1D ) contained in the sample containers 104.

[0042] With further reference to FIG. 2, FIG. 2 is a simplified block diagram 200 illustrating one embodiment of the track 110 modeled as a plurality of adjacent blocks 160. Other modeled block representations may include more or fewer blocks 160. In some embodiments, the routing program 126 or another program may electronically model the track 110 as a plurality of blocks 160. The routing program 126 then generates instructions for routing individual ones of the sample carriers 108 between adjacent ones of the blocks 160 and forwards those instructions to the appropriate segment controllers 128 for execution. For example, one or more individual segment 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 free. One advantage of the block representation is that it is much easier to plan, execute, and monitor movement paths for the sample carriers 108 because the individual segment controllers 128 only need to consider movement between blocks 160, unlike the routing program 126 which directs all movement of all sample carriers 108 on the physical track 110.

[0043] The block diagram 200 models the physical space on the track 110 (through which the sample container 104 or sample carrier 108 can travel) as blocks 160. While the embodiments herein are described with respect to moving the sample carrier 108, these methods and apparatus can easily be configured to move the sample container 104. Each of the blocks 160 can have an associated movement pattern (shown by arrows) that indicates the direction in which the sample carrier 108 can move from each of the blocks 160. By default, the movement pattern can be defined by the physical layout of the track. For example, a four-way intersection with four ports can have a default movement pattern into and out of each of the four ports. The movement pattern can be a physical constraint that allows the portion of the track 110 corresponding to one or more of the blocks 160 to only enable the sample carrier 108 to move in a specific direction. For example, the movement pattern for a particular block can be included in the associated block control program 130 for that block. In some embodiments, the movement pattern can be changeable. For example, software such as the routing program 126 and / or the block control program 130 can determine the direction of the motion patterns. For example, these directions can limit some of the blocks to having motion patterns in one direction (e.g., left to right). Thus, the motion patterns do not have to be fixed.

[0044] Reference is made to specific blocks within block 160 that correspond to segments 142-152 (FIG. 1B) of track 110. Blocks 160A-160D correspond to at least a portion of first segment 142 (FIG. 1B) within physical track 110. In this example, first segment 142 of physical track 110 is configured to safely (with respect to collision risk) hold four sample containers and is therefore modeled as four blocks 160A-160D. In the exemplary embodiment shown, each of blocks 160A-160D is configured to hold only one sample carrier at a time, and movement of sample carrier 108 is limited to from one block to an adjacent empty block. In some embodiments, a block may hold more than one sample carrier and / or sample container at a time, for example, if the risk of collision is minimal.

[0045] 3A, which shows an expanded view of a first block 160A, which in some embodiments may be identical to blocks 160B-160C and the blocks representing other linear segments of track 110. Block 160A has a first port 300A and a second port 300B, indicated by a double-headed arrow between the first port 300A and the second port 300B. The double-headed arrow indicates the movement pattern of first block 160A, allowing sample carriers 108 (and therefore sample containers 104) to be received by and transported from both the first port 300A and the second port 300B.

[0046] Referring again to FIG. 2, block 204 is a corner block corresponding to second segment 144 in FIG. 1B. Block 204 is configured to change the orientation of sample containers 104 between the x- and y-directions. Further referring to FIG. 3B, FIG. 3B shows an enlarged view of block 204. Block 204 has a first port 302A and a second port 302B, which are indicated by a double-headed arrow between the first port 302A and the second port 302B. The double-headed arrow indicates the movement pattern of block 204, allowing sample carriers 108 (and thus sample containers 104) to be received in and transported from both the first port 302A and the second port 302B, thereby changing the orientation of the sample carriers 108 between the x- and y-directions.

[0047] Referring again to FIG. 2, block 206 is an intersection block corresponding to the third segment 146 of FIG. 1B. Block 206 is configured to receive a sample carrier into a first port and transport the sample carrier from one of the other two ports. Further referring to FIG. 3C, FIG. 3C shows an expanded view of block 206. Block 206 has a first port 304A, a second port 304B, and a third port 304C, which are indicated by arrows between first port 304A, second port 304B, and third port 304C. These arrows indicate the movement pattern of block 206, indicating that a sample carrier 108 (and therefore a sample container 104) can be received into one port and transported from one of the other ports.

[0048] Other blocks shown in Figure 2 include block 208, which is an intersection block corresponding to the fourth segment 148 of Figure 1B and is configured similarly to block 206. Block 210 is a corner block corresponding to the fifth segment 150 of Figure 1B, and block 212 is a corner block corresponding to the sixth segment 152 of Figure 1B. Blocks 210 and 212 are configured similarly to block 204. Block 210 is a mirror image of block 204, and block 212 is a mirror image of block 210.

[0049] Block 214 is a four-pronged intersection corresponding to intersection segment 190 of FIG. 1A. Block 214 is configured to accept sample carriers 108 into first, second, third, and fourth ports and to transport sample carriers 108 from the first, second, third, and fourth ports. With further reference to FIG. 3D, FIG. 3D shows an expanded view of block 214. Block 214 has first port 306A, second port 306B, third port 306C, and fourth port 306D, all of which allow sample carriers 108 to enter and exit the block.

[0050] 4, the track 110 can alternatively be represented as a graph 400, which can be similar to the block diagram 200 (FIG. 2) in terms of the same modeling criteria. For example, the nodes 402 (some of which are labeled) of the graph 400 can correspond to the blocks 160 of FIG. 2. Also, the edges 404 (e.g., connections) of the graph 400 are defined by the movement patterns of the blocks 160 and are shown as arrows. Thus, the track 110 (FIG. 1A) can be represented as a Cartesian grid of blocks and / or a graph of nodes and edges. This duality of representations provides flexible software programming options for path planning for moving the sample carriers 108 (and thus the sample containers 104) on the track 110. The graph representation can be an abstraction in computer code. Standard graph algorithms and / or programs can be used in computer code to solve many problems, such as determining the shortest path between two destinations. Thus, once this graph representation is established for the track configuration, the graph representation can allow for the direct use of standard algorithms and / or programs (e.g., Dijkstra algorithm, A* algorithm, etc.) with known properties for path planning and / or solving various path planning problems.

[0051] Further reference to FIG. 5 shows another block diagram 500 in which block 502 has a different movement pattern than block 160 of FIG. 2. The user or the routing program 126 (FIG. 1A) can determine the movement pattern. With reference to FIG. 5, block 504 is a straight block that only allows the sample container 104 to move in a single direction. With reference to FIG. 6A, FIG. 6A shows 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 the second port 600B. Block 506 is a corner block that only allows the sample carrier 108 to change direction from the x direction to the y direction. With reference to FIG. 6B, FIG. 6B shows an enlarged view of block 506. The block 506 includes a first port 602A and a second port 602B, with the sample carrier 108 entering the first port 602A and exiting the second port 602B.

[0052] Block 508 is a cross block that only allows sample containers 104 to enter through a first port and exit through one of the other two ports. One or more switches or the like can be set to determine which port the sample containers 104 exit through. With further reference to FIG. 6C, FIG. 6C shows an expanded 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, with the sample carrier 108 entering through the first port 604A and exiting through either the second port 604B or the third port 604C.

[0053] Block 510 is an intersection block that allows sample carriers 108 to enter through a first port or a second port and exit through a third port. One or more switches or the like can be set to determine which port the sample container 104 is allowed to enter. Further referring to FIG. 6D , FIG. 6D shows an expanded view of block 510. Block 510 includes a first port 606A and a second port 606B that are input ports, and a third port 606C that is an output port. Sample carriers 108 enter one of the first port 606A or the second port 606B and exit through the third port 606C. In some embodiments, the block control program 130 can generate instructions to drive switches or the like to redirect the sample carrier within the intersection block. Block diagram 500 can also include blocks with other movement patterns, such as block 512.

[0054] 7 shows a graph 700 that alternatively represents track 110 similar to block diagram 500, where nodes 702 in graph 700 represent blocks 502 and edges 704 of graph 700 are defined by movement patterns in block diagram 500. Thus, track 110 (FIG. 1A) can be represented as a Cartesian grid of blocks and / or a graph of nodes and edges.

[0055] Embodiments of the diagnostic laboratory systems and routing methods described herein can use dynamic routing software to transport sample carriers 108 between adjacent blocks 160 throughout the diagnostic laboratory system. The routing software can be implemented, for example, 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, with each software layer being designed, developed, tested, and executed independently from the other software layers. The use of independently adjustable software layers enables the same architecture to be extended and / or customized for a wide variety of laboratory system configurations.

[0056] The independently adjustable software layers can include one or more task layers and a physical transport layer. The one or more task layers determine the instruments 102 and processes (to be performed by the instruments 102) required to complete testing on each of the samples. The physical transport layer determines the best route for the sample carrier 108, via block diagrams 200 / 500 (FIGS. 2 and 5, respectively) or graphs 400 / 700 (FIGS. 4 and 7, respectively), to test the samples determined by the one or more task layers. In such an architecture, only the physical transport layer needs to be customized to meet different laboratory system configurations.

[0057] 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 implemented by a physical transport software layer. Each software layer executes independently of the other software layers but can transmit data to and / or receive data from the other independently executed software layers. Thus, a software layer can be modified or customized without necessarily affecting the other software layers. Separating the software layers allows for intelligent routing to be performed, increasing the efficiency of the laboratory system 100. Additionally, separating the software layers by clear interfaces allows for software layers to be replaced without affecting the other software layers. In some embodiments, one or more software layers can each plan / determine at least one stage (e.g., pre-processing or post-processing measures) of a test to be performed by at least one of the instruments 102. Another software layer can determine the routing of sample containers 104 ( FIG. 1D ) to the instruments 102 for performing that at least one stage. Another software layer may include individual block control programs 130, which may generate instructions to the transport mechanism 154 (e.g., motors, power supplies, switches, sensors, etc.) to implement the routing of the sample containers 104.

[0058] In conventional laboratory systems, the routing program may be different for every configuration of the laboratory system. The routing program 126 described herein may include multiple software layers implemented with multiple individually replaceable software modules described herein, which enables the routing program 126 to be easily modified to work with other laboratory systems. Thus, unlike routing programs used in conventional laboratory systems, the routing program 126 described herein may be used in many different laboratory configurations.

[0059] One of the technical challenges in operating a diagnostic laboratory system is achieving high sample throughput with minimal human interaction while ensuring test accuracy regardless of the laboratory system configuration. The routing program 126 described herein can accommodate different sizes and configurations of laboratory systems 100 without requiring a complete redesign of the entire routing program 126. The routing program 126 can have multiple software layer functionality that is constant across different laboratory system configurations; that is, these layers are designed or programmed to work with multiple laboratory system configurations.

[0060] Referring to FIG. 8 , FIG. 8 illustrates an example of individual software layers 800 that may be used in the architecture of the routing program 126, according to embodiments provided herein. The architecture may include other, more, or fewer software layers than those illustrated in FIG. 8 . The order layer 802 may receive a sample analysis order and, in response, identify specific tests available in the laboratory system 100 to be performed on the associated sample to fulfill the sample analysis order. In some embodiments, the order layer 802 may receive the sample analysis order from a source external to the laboratory system 100, such as a hospital information system (not shown). The order layer 802 may further receive sample analysis orders entered by a system operator of the laboratory system 100 via the workstation 132. Based on the received input, the order layer 802 may generate output (e.g., instructions) indicating which tests should 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 require only test A. Each of tests A, B, C, X, Y, and Z may be performed by one or more of the instruments 102 of the laboratory system 100. For example, a first instrument 102A may be configured to perform tests A, B, and Z, and a second instrument 102B may be configured to perform tests C, X, and Y.

[0061] The task layer 804 can be configured to receive output data generated by the order layer 802 and can generate output (e.g., instructions) for individual tasks required to perform a test identified by the order layer 802. The task layer 804 can identify an instrument 102 to perform a particular test, such as a test identified in the order layer 802. For example, the task layer 804 can generate instructions indicating that a first sample (e.g., sample 164A in FIG. 1D ) should be aspirated and dispensed into a separate container and then mixed with a first reagent, that a second sample (e.g., sample 164B in FIG. 1D ) should be aspirated and dispensed into a separate container and then mixed with a second reagent, and that a third sample should be aspirated and dispensed into a separate container and then mixed with a diluent. These task instructions are output from the task layer 804 and transmitted as input to the assignment layer 806. In some embodiments, the task layer 804 can also send data back to the order layer 802 indicating that the task instructions have been generated. In some embodiments, the order layer 802 may delay its output until it receives data indicating that the task layer 804 is available to process additional input.

[0062] The assignment layer 806 can generate outputs including specific instructions for performing tasks in response to receiving output generated by the task layer 804. For example, the assignment layer 806 can generate an output that assigns a first sample carrier (e.g., sample carrier 108A in FIG. 1D ) to receive a first sample container 104A containing a first sample 164A at a specific location. The assignment layer 806 can also track the number of sample carriers 108 available to transport sample containers 104 and ensure that empty sample carriers are available when needed by assigning them to specific locations. For example, the assignment layer 806 can generate an output that assigns a specific location to receive a first sample carrier 108A having a first sample container 104A, such as a first instrument 102A, and an output that assigns a second sample carrier 108B to receive a second sample container 104B containing a second sample 164B at a specific location, such as a second instrument 102b. If testing on a sample is urgent, the allocation layer 806 can generate an output that assigns a high priority to the sample carrier carrying the urgent sample, allowing the sample to overtake other lower priority samples.

[0063] Allocation layer commands are output from allocation layer 806 and transmitted as input to trajectory layer 808. In some embodiments, outputs generated by allocation layer 806, or data indicating that allocation layer 806 has generated outputs, may also be sent back to task layer 804 or other software layers 800. In some embodiments, task layer 804 may delay its output until it receives data indicating that allocation layer 806 is available to process additional input.

[0064] The track layer 808 generates an output including a specific path for the sample carrier 108 to follow in response to receiving the output generated by the assignment layer 806. For example, the track layer 808 can generate an output indicating that a specific sample carrier 108 should be transported to one or more locations on the track 110 via a specific block 160 (FIG. 2) or a specific node 402 (FIG. 4). The output of the track layer 808 can include respective sample carrier paths that prevent the sample carriers 108 from colliding with each other. For example, the track layer 808 can enable one and only one of the sample carriers 108 to be positioned in each of the blocks 160 at a time. Additionally, the track layer 808 can ensure that a sample carrier 108 is not transported from block to target block until the target block is free.

[0065] The track layer 808 can also optimize the paths of the sample carriers 108 so that they move to and from locations on the track 110 as efficiently as possible. In some embodiments, the track layer 808 can indicate that high-priority samples are moved before other samples, as described above. In addition, the track layer 808 can determine when the sample carriers 108 should move from one block to an adjacent block. The track layer 808 can also determine the schedule or time window for each sample carrier 108 to travel to a particular location. These determinations can avoid traffic congestion on the track 110.

[0066] The trajectory layer output is transmitted as an input to the physical transport layer 810. In some embodiments, the trajectory layer output or data related thereto may be sent back to the allocation layer 806 or other software layers 800. For example, in some embodiments, the allocation layer 806 may delay its output until it receives data indicating that the trajectory layer 808 is available to process additional input. Additionally, the allocation layer 806 may use the trajectory layer information to avoid allocating multiple sample carriers to the same location or instrument 102 (e.g., to avoid congestion or collisions). Thus, in response to receiving a trajectory command, the allocation layer 806 may generate more efficient allocation commands for the sample carriers.

[0067] In some embodiments, the physical transport layer 810 can be implemented in the block control program 130 (FIG. 1A) and can generate instructions to activate a transport mechanism 154 within the track 110 to move a selected sample carrier 108 (e.g., through an adjacent block 160) in response to a path determined by the track layer 808. As described above, the transport mechanism 154 can include and / or control track switches, motors, power supplies, power sources, sensors, transformers, and / or other electrical circuitry. Other hardware components of the track 110 can also be activated to move the sample carrier 108 according to the carrier path determined by the track layer 808. For example, the physical transport layer 810 can generate instructions to appropriately set selected switches within an intersection segment (e.g., intersection segment 146 in FIG. 1B) to form a desired sample carrier path and move a selected sample carrier 108 to or from a specific location (e.g., instrument 102). That is, instructions from the physical transport layer 810 can apply appropriate electrical signals (e.g., power / current / voltage) to the identified sample carrier 108 and / or components (e.g., selected motors) within the transport mechanism 154 to move the sample carrier 108 along a specific path on the track 110 determined by the track layer 808. In some embodiments, the physical transport layer 810 can send data back to the track layer 808 and / or other software layers 800 indicating that the physical transport layer 810 has generated an instruction. In some embodiments, the physical transport layer 810 can ensure, through the use of the block control program 130, that only one sample container is allowed within each block 160.

[0068] In summary, each of the software layers 802, 804, 806, and 808 can be considered a "planning" layer that provides input to the next downstream software layer 800 (e.g., the order layer 802 provides input to the task layer 804, which provides input to the assignment layer 806, which provides input to the trajectory layer 808). The physical transport layer 810 can be considered an "execution" layer that moves the sample carriers 108 within the laboratory system 100. For example, the transport layer 810 can translate block instructions into physical space, and all layers above the transport layer 810 can process data based on the block 160.

[0069] In some embodiments, each of software layers 802, 804, 806, 808, and 810 can provide feedback up to at least its nearest upstream software layer to (a) alert the upstream software layer about its availability and (b) enable the upstream software layer to more efficiently process input received from its nearest upstream software layer, if possible (e.g., physical transport layer 810 can provide input to trajectory layer 808 to enable trajectory layer 808 to more efficiently process input received from allocation layer 806). That is, by receiving input from downstream software layers, software layer 800 can generate different plans and / or instructions affecting tests to be performed by laboratory system 100 than would occur without input from the downstream software layer. The generated alternative plans and / or instructions can, for example, avoid delays in placing sample containers 104 into sample carriers 108 and / or avoid traffic congestion in particular portions of tracks 110 and / or instruments 102.

[0070] 9 , which illustrates one embodiment of the routing program 126 divided into separate, individually replaceable or configurable software modules 900, each of which implements one of the software layers 800, according to one or more embodiments. Thus, the software modules 900 are individual software modules. The software modules 900 may include an order manager 902 that implements the order layer 802, a task manager 904 that implements the task layer 804, an assignment planner 906 that implements the assignment layer 806, a trajectory planner 908 that implements the trajectory layer 808, and a transport driver 910 that implements the physical transport layer 810. The routing program 126 may also include software modules other than the software module 900 illustrated in FIG. 9 . In some embodiments, communication between the software modules 900 (and thus the software layers 800) may be performed via a message bus, a data-centric distributed data service (DDS), or the like. Other communication protocols may also be used.

[0071] Each of the software modules 900 may reside on and be executed centrally by one controller, such as, for example, computer 120 (FIG. 1A). In other embodiments, the software modules 900 may be executed on one or more sub-processors of processor 122 of computer 120. In yet other embodiments, the software modules 900 may be executed in a distributed manner, with one or more of the software modules 900 residing on and being executed by one or more sub-controllers (each having its own memory). The software modules 900 may execute the software layer 800 independently of each other and / or in parallel with each other.

[0072] In some embodiments, the transport driver 910 can be implemented in the block control program 130 (FIG. 1A) and can send electrical signals to motors, drivers, switches, and / or other hardware components of the transport mechanism 154 to perform the required movements of one or more of the sample carriers 108 for one or more first tests or phases thereof. Independently of and / or in parallel with the transport driver 910, the trajectory planner 908 can plan paths for one or more of the sample carriers 108 for one or more second tests or phases thereof so that these sample carriers 108 can reach their destination in the minimum amount of time. Independently of and / or in parallel with the transport driver 910 and the trajectory planner 908, the assignment planner 906 can assign available sample carriers 108 to sample containers 104 for one or more third tests or phases thereof. Independently of the transport driver 910, the trajectory planner 908, and the assignment planner 906, and / or in parallel with the transport driver 910, the trajectory planner 908, and the assignment planner 906, the task manager 904 can divide the one or more fourth tests into separate tasks or phases to be performed to complete the one or more fourth tests. Further, independently of the transport driver 910, the trajectory planner 908, the assignment planner 906, and the task manager 904, and / or in parallel with the transport driver 910, the trajectory planner 908, the assignment planner 906, and the task manager 904, the order manager 902 can process sample analysis orders into one or more fifth tests. Sample analysis orders can be received from one or more users, such as physicians and other medical professionals, in communication with the laboratory system 100, for example.

[0073] As described above in connection with software layer 800, each of software modules 902, 904, 906, and 908 can receive optional inputs from one or more downstream software modules 904, 906, 908, and 910, in addition to inputs received from upstream software module 900, that can be used in the execution of the respective software layer 800. In some embodiments, these inputs can include the status of software module 900 or data generated by software module 900. For example, status or data generated by transport driver 910 can be sent back to trajectory planner 908 and / or other software modules 900. Status or data generated by trajectory planner 908 can be sent back to assignment planner 906 and / or other software modules 900. Status or data generated by assignment planner 906 can be sent back to task manager 904 and / or other software modules 900. Additionally, status or data generated by task manager 904 can be sent back to order manager 902.

[0074] Advantageously, separating the routing program 126 into multiple modules / layers makes the routing program 126 more scalable, allowing small, medium, and large laboratory systems to run on the same software platform. In some embodiments, dividing the routing program 126 into multiple modules 900 and software layers 800 enables the routing program 126 to be used in multiple different laboratory system configurations, such as the laboratory system 100 depicted in block diagram 200 and block diagram 500. Additionally, multiple layers in the routing program 126 can be designed, developed, and tested independently. Thus, if one of the modules 900 / software layers 800 needs to be edited or replaced, those revisions do not affect the other modules 900 / software layers 800. For example, if the laboratory system 100 is expanded to include an additional instrument that performs a similar function as the existing instrument 102 (to increase sample analysis throughput), the order manager 902 and task manager 904 do not need to be updated.

[0075] If the laboratory system 100 expands to include additional track components, the order manager 902, task manager 904, and assignment planner 906 do not need to be updated. The routing program 126 can update the block diagram 200 (FIG. 2) to reflect the new track configuration. For example, the routing program 126 can model the track blocks as shown in block diagram 200 based on a first configuration of the track 110 and its components. When the configuration of the track 110 changes, the routing program 126 can, for example, update the track block model from block diagram 200 to block diagram 500 (FIG. 5) or another suitable block layout. Such an update may be necessary when the transport mechanism 154 and / or the track sensor 156 are updated or changed. For example, if an additional transport mechanism 154 is added to the track 110, the routing program 126 can update the associated block model to add a block corresponding to the additional transport mechanism 154. Such updates may also be necessary when new track segments, such as new intersections, are added to and / or removed from the track 110. In some embodiments, the physical transport layer 810 and transport driver 910 may require minor revisions, since transport of the sample carrier 108 is still based on movement of the sample carrier 108 between adjacent free blocks. However, the other software layers 800 and modules 900 may be usable without modification.

[0076] As a further example, if an electrical specification change occurs to a hardware component of the transport system in the laboratory system 100 (e.g., due to replacement or upgrade of one of the transport mechanisms 154 and / or track sensors 156), only the transport driver 910 needs to be updated because only the physical transport layer 810 generates instructions to activate the hardware components and move the sample carriers 108 between adjacent free blocks. This update may therefore correspond to an update to the track block assignments, such as those shown in block diagrams 200 / 500 and / or graphs 400 / 700. Electrical specification changes may include, for example, changes to the power, current, and / or voltage requirements of any hardware component, changes to the carrier and / or track motor details that affect the acceleration and velocity of the sample carriers on the track 110, updates to address timing issues related to powering up and down hardware components, updates to address track sensor issues that affect the allowable distance between moving sample carriers 108, etc.

[0077] It should be noted that software module 900 can be associated with two or more of software layers 800. For example, in some embodiments, software module 900 can include only software modules 902 and 910, and order manager 902 can be associated with software layers 802, 804, 806, and 808 (i.e., the "planning" layer), and transport driver 910 can include physical transport layer 810 (i.e., the "execution" layer). In other embodiments, software module 900 can include only software modules 902, 908, and 910, and software module 902 can be associated with software layers 802, 804, and 806. Trajectory planner 908 can be associated with trajectory layer 808, and transport driver 910 can be associated with physical transport layer 810. In yet other embodiments, software modules 900 may include only software modules 902, 906, 908, and 910, and order manager 902 may be associated with software layers 802 and 804. Other embodiments may also include other software modules 900, which may, for example, analyze test results or perform various pre-processing and / or post-processing functions.

[0078] Referring again to FIG. 2 , the blocks 160 are shown as squares or rectangles. Other block shapes may be used. For example, pentagonal blocks may be used to represent intersection segments with five ports. The movement of the sample carriers 108 and sample containers 104 is described in a two-dimensional plane. Accordingly, the blocks 160 are also described in two dimensions. In other embodiments, the movement of the sample containers 104 and / or sample carriers 108 may be three-dimensional, such as X, Y, and Z (e.g., normal to the track 110), as described below in connection with FIG. 10 . In such embodiments, one or more of the blocks 160 may be three-dimensional, such as cubic in shape.

[0079] Referring to FIG. 10 , FIG. 10 shows a three-dimensional block diagram 1000 of a portion of a track (not shown separately) that can move sample carriers 108 ( FIG. 1A ) and / or sample containers 104 in three dimensions. That is, in some embodiments of the automated diagnostic laboratory system 100, the transport system can have two or more levels, and one or more elevator-type mechanisms can move sample carriers 108 from blocks on one level to blocks on another level. In the embodiment of FIG. 10 , the sample carriers 108 are configured to move in the x-, y-, and z-directions to adjacent empty blocks. Block 1002, for example, has a motion pattern that restricts motion to only the x- and y-directions. Block 1004, for example, has a motion pattern that restricts motion to only the y- and z-directions. Other blocks may have other motion patterns. The routing program 126 routes the sample carriers 108 to and from adjacent blocks or cubes, as described above.

[0080] 11, which illustrates a flow diagram of a method 1100 of operating a diagnostic laboratory system (e.g., laboratory system 100) to analyze a biological sample (e.g., first sample 164A). Method 1100 includes, at block 1102, providing a track (e.g., track 110) within the diagnostic laboratory system, wherein a sample container (e.g., sample container 104) containing the biological sample is movable between a plurality of instruments (e.g., instrument 102) on the track. For example, transport mechanism 154 can move sample container 104 on track 110. Block control program 130 can generate a signal to operate transport mechanism 154.

[0081] At block 1104, the method 1100 includes modeling the track in software via the computer as a plurality of blocks (e.g., blocks 160), each block including a movement pattern indicating one or more directions in which 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 in memory 124, such as the routing program 126. Each of the blocks 160 can be as small as possible, yet large enough to have individual sample containers 104 within the block boundaries.

[0082] The method 1100 includes identifying at least one test to be performed on the biological sample at block 1106. For example, a medical professional may order the test to be performed on the biological sample. In some embodiments, at least one of the order layer 802, the task layer 804, the order manager 902, or the task manager 904 may identify the at least one test.

[0083] At block 1108, method 1100 includes identifying one or more instruments in the diagnostic laboratory system for performing at least one test using a first software module (e.g., one of software layer 800 or modules 900), where the first software module is part of a program (e.g., routing program 126) that includes multiple individual software modules (e.g., software layer 800 or modules 900) that communicate with each other. For example, one of software layer 800 or modules 900 can identify which of the instruments 102 should be used to perform the test. As described above, software layer 800 and modules 900 communicate with each other. As a specific example, task layer 804 and / or task manager 904 can identify the instrument 102 to perform the at least one test based on data from at least other software layers or modules.

[0084] At block 1110, the method 1100 includes generating, using a second software module of the program (e.g., one of the software layer 800 or modules 900), transport instructions for transporting the biological sample via the sample container to one or more instruments, the transport instructions including instructions for transporting the sample container between adjacent blocks. Generating the transport instructions may include generating instructions for activating hardware components associated with individual blocks to move the sample container between adjacent blocks. For example, the transport driver 910 and / or the physical transport layer 810 may determine which of the blocks 160 the sample container must traverse to move to or from one of the instruments 102. As a specific example, the transport driver 910 and / or the physical transport layer 810 may determine that the first sample container 104A should travel between the second block 160B and the third block 160C to move from the sample handler 102C to the first instrument 102A. The transport driver 910 and / or the physical transport layer 810 can generate instructions used by the block control program 130 to generate a signal to the transfer mechanism 154 to move the first sample container 104A from the first block to the second block under one or more satisfactory conditions (e.g., the second block is empty).

[0085] At block 1112, the method 1100 includes transporting the sample container to one or more instruments in response to the transport command. For example, a command transmitted to the transport mechanism 154 can cause the transport mechanism 154 to move the first sample container 104A from one block to an adjacent empty block in a path to a specified location for the first sample container 104A. In a more specific example, the transport driver 910 (and / or the physical transport layer 810) can direct the transport mechanism 154 via the appropriate segment controller 128 (executing the block control program 130) to move the first sample container 104A from the second block 160B to the third block 160C (FIG. 1F). The movement from the second block 160B to the third block 160C serves to transfer the first sample container 104A from the sample handler 102C to the first instrument 102A. The block control program 130 associated with block 160 ensures that only one sample container enters the empty block 160 at a time to prevent collisions and ensure efficient transfer of the first sample container 104A to the first instrument 102A.

[0086] 12, which illustrates a flow diagram of a method 1200 of operating a diagnostic laboratory system (e.g., laboratory system 100) for analyzing a biological sample (e.g., first sample 164A). Method 1200 includes, at block 1202, providing a track (e.g., track 110) within the diagnostic laboratory system, where the biological samples are movable on the track by a plurality of sample carriers (e.g., sample carriers 108).

[0087] The method 1200 includes, at block 1204, representing the track as a graph (e.g., graph 400) via a computer (e.g., computer 120), the graph including a plurality of nodes (e.g., node 402) and edges (e.g., edge 404). Each node represents a segment of the track configured to have only one sample carrier at a time, and each edge represents the movement pattern of the sample carrier to and from the node connected to that edge. It should be noted that the methods described above with respect to modeling the track as a plurality of blocks can also be applied to representing the track as a graph.

[0088] The method 1200 includes, at block 1206, identifying at least one test to be performed on a biological sample (e.g., the first sample 164A) disposed in a sample container (e.g., the first sample container 104A) and transported via a sample carrier (e.g., the first sample carrier 108A). In some embodiments, at least one of the order layer 802, the task layer 804, the order manager 902, or the task manager 904 may identify the at least one test. In some embodiments, a user or a medical professional may identify the at least one test to be performed.

[0089] At block 1208, method 1200 includes identifying one or more instruments (e.g., instruments 102) in the diagnostic laboratory system for performing at least one test using a first software module (e.g., one of software layer 800 or modules 900), where the first software module is part of a program (e.g., routing program 126) that includes multiple individual software modules (e.g., one of software layer 800 or modules 900) that communicate with each other. For example, software layer 800 or one of modules 900 may identify which of the instruments 102 should be used to perform the test. As a specific example, task layer 804 and / or task manager 904 may identify the instruments 102 that will perform the at least one test.

[0090] At block 1210, the method 1200 includes generating, using a second software module of the program (e.g., one of the software layer 800 or module 900), transport instructions for transporting the sample carrier to one or more instruments, the transport instructions including transporting the sample carrier between adjacent nodes. Generating the transport instructions may include generating instructions for activating hardware components associated with individual nodes to move the biological sample between the adjacent nodes. For example, the transport driver 910 and / or the physical transport layer 810 may determine which nodes 402 a sample container 104A should traverse to move to or from one of the instruments 102. As a specific example, the transport driver 910 and / or the physical transport layer 810 may determine that a first sample container 104A should travel between particular adjacent nodes 402 to move from the sample handler 102C to the first instrument 102A. The transport driver 910 and / or the physical transport layer 810 can generate instructions used by the block control program 130 to generate signals to the transfer mechanism 154 to move the first sample container 104A between particular adjacent nodes 402.

[0091] At block 1212, the method 1200 includes transporting the sample carrier to one or more instruments in response to the transport command. For example, a command transmitted to the transport mechanism 154 can move the first sample carrier 108A to an adjacent empty node to move the first sample container 104A to a specified location. In a more specific example, the transport driver 910 (and / or the physical transport layer 810) can direct the transport mechanism 154 via the appropriate segment controller 128 (executing the block control program 130) to move the first sample container 104A between adjacent nodes, which serves 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 node 402 ensures that only one sample container enters the empty node 402 at a time to prevent collisions and ensure efficient transfer of the first sample carrier 108A to the first instrument 102A.

[0092] While the 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 herein described in detail. It will be understood, however, that the particular methods and apparatus disclosed herein are not intended to limit the disclosure.

Claims

1. 1. A method of operating a diagnostic laboratory system for analyzing a biological sample, comprising: providing a track within the diagnostic laboratory system, wherein a sample container containing a biological sample is movable among a plurality of instruments on the track; modeling, via a computer in software, the track as a plurality of blocks, each block including a movement pattern indicating one or more directions in which a sample container may move into or out of the block; identifying at least one test to be performed on the biological sample; identifying one or more instruments in the diagnostic laboratory system for performing at least one test using a first software module, the first software module being part of a program including multiple individual software modules in communication with each other; generating, using a second software module of the program, transport instructions for transporting the biological sample via the sample container to one or more instruments, the transport instructions including instructions for transporting the sample container through adjacent blocks; transporting the sample container to one or more instruments in response to a transport command; The method comprising:

2. 10. The method of claim 1, wherein one or more of the blocks includes a first port and a second port, and the transport instruction allows the sample container to enter and exit both the first port and the second port.

3. 10. The method of claim 1, wherein one or more of the blocks includes a first port and a second port, and the transport instruction allows the sample container to enter the first port and exit the second port.

4. 2. The method of claim 1, wherein one or more of the blocks is an intersection block including a first port, a second port, and a third port, and the transport instruction allows the sample container to enter or exit the first port, the second port, and the third port.

5. 10. The method of claim 1, wherein one or more of the blocks is an intersection block including a first port, a second port, and a third port, and the transport instruction allows the sample container to enter the first port and exit from one of the second port or the third port.

6. 2. The method of claim 1, wherein generating transport instructions includes using a second software module to generate instructions to apply appropriate power to selected one or more sample carriers, track segments, or track switches of the track for moving sample containers on the track.

7. The method of claim 1 , wherein generating transport instructions comprises generating instructions for the sample carrier to receive a sample container containing the biological sample at a specific location on the track.

8. The method of claim 1 , further comprising, after modeling, varying motion patterns associated with some of the blocks.

9. 2. The method of claim 1, wherein generating transport instructions includes generating instructions to activate hardware components associated with individual blocks to move sample containers from one block to an adjacent block.

10. 10. The method of claim 1, wherein one or more of the blocks is a cross block configured to have only one sample vessel at a time.

11. The method of claim 1 , wherein each of the blocks is configured to have only one sample vessel at a time.

12. 2. The method of claim 1, wherein each of the blocks corresponds to a track portion sized to have at least one sample carrier within the boundary of the track portion.

13. 1. A method of operating a diagnostic laboratory system for analyzing a biological sample, comprising: providing a track within the diagnostic laboratory system, wherein biological samples are movable on the track by a plurality of sample carriers; representing, via a computer, the track as a graph, the graph including a plurality of nodes and edges, each node representing a portion of the track configured to have only one sample carrier at a time, and each edge representing a movement pattern of the sample carrier to and from the node connected to the edge; identifying at least one test to be performed on a biological sample disposed in a sample container and transported via a sample carrier; identifying one or more instruments in the diagnostic laboratory system for performing at least one test using a first software module, the first software module being part of a program including multiple individual software modules in communication with each other; generating, using a second software module of the program, transport instructions for transporting the sample carrier to one or more instruments, the transport instructions including transporting the sample carrier between adjacent nodes; transporting the sample carrier to one or more instruments in response to a transport command; The method comprising:

14. The method of claim 13 , wherein at least one of the plurality of nodes represents a track portion including a three- or four-pronged track intersection.

15. 14. The method of claim 13, wherein generating transport instructions includes using a second software module to generate instructions to apply appropriate power to selected one or more sample carriers or transfer mechanisms of the tracks for moving sample containers on the tracks.

16. 14. The method of claim 13, wherein generating transport instructions includes generating instructions to activate hardware components associated with individual nodes to move the biological sample between adjacent nodes.

17. 1. A diagnostic laboratory system for analyzing a biological sample, comprising: at least one device for preparing or testing a biological sample; a track configured to transport sample containers to and from at least one instrument, the sample containers configured to contain biological samples to be analyzed; Computer and the computer comprising: modeling the track in software as a plurality of blocks, each of the blocks including a motion pattern indicating one or more directions in which the sample containers may move into or out of the block; identifying at least one test to be performed on the biological sample by the at least one instrument; Executing a program for controlling the operation of a diagnostic laboratory system; wherein the program has an architecture including a plurality of individual software modules in communication with each other, the plurality of individual software modules being configured to: a first software module for identifying one or more instruments in the diagnostic laboratory system for performing at least one test; a second software module for generating transport instructions for transporting the biological sample to one or more instruments; wherein the transport instructions include instructions for transporting the biological sample from one block to an adjacent block.

18. 20. The diagnostic laboratory system of claim 17, wherein the at least one movement pattern indicates one or more directions in which the sample container is configured to move through blocks that model a three-pronged or four-pronged track intersection.

19. 20. The diagnostic laboratory system of 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. 20. The diagnostic laboratory system of claim 17, wherein each of the blocks is configured to have only one sample container at a time.

Citation Information

Patent Citations

  • Sample rack transportation device, sample analysis system and control method

    CN111505320A

  • Automated sample processing system

    JP2015533428A

  • Method of operating laboratory sample distribution system, laboratory sample distribution system, and laboratory automation system

    JP2016218060A

  • Method for operating laboratory sample distribution system, laboratory sample distribution system, and laboratory automation system

    JP2018205310A