Flexible Tablet Dispensing, Inspection, and Packaging Systems

The system dynamically adjusts task priorities and ensures a ready queue of tasks through real-time reprioritization, addressing delays and inefficiencies in tablet dispensing and packaging systems by integrating diverse components.

JP2025534854APending Publication Date: 2025-10-20VMI HOLLAND BV
View PDF -1 Cites 0 Cited by

Patent Information

Application Number
JP2025501574
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-08-11
Filing Date
2023-08-10
Publication Date
2025-10-20

Smart Images

  • Figure 2025534854000001_ABST
    Figure 2025534854000001_ABST
Patent Text Reader

Abstract

A method for dynamically sequencing tasks in a manufacturing system includes providing a control unit configured to receive a plurality of job orders, determine a task associated with each of the plurality of job orders, dynamically adjust a priority of each job order in a pending job order list, and send one of the job orders and the associated task to a queue when a threshold associated with the system is met.
Need to check novelty before this filing date? Find Prior Art

Description

[Background technology]

[0001] background A medicine or tablet dispensing and packaging system (e.g., into pouches and / or blister packs) typically includes hardware and software for various processes and systems, including planning, execution, inspection / correction, and packaging / shipping to the customer. One such tablet dispensing device is shown in U.S. Patent Application Publication No. 2014 / 0366489 A1, which is incorporated herein by reference. The hardware may include various machines and / or stations for performing all or part of the overall process, including forming the pouches, dispensing tablets into the pouches, inspecting the pouches for defects, correcting or flagging defects, ensuring that the medicine is available and ready to be placed in the pouch, shipping to the end user, and devices (e.g., robots, conveyors, etc.) for transfer between systems.

[0002] Some systems involve manually performing certain parts of a process, such as instructing an operator when a particular part of the process needs to be performed (e.g., visually inspecting and correcting a particular pouch) and / or instructing an operator to manually prepare a particular medication plate for a table dispenser to dispense into the pouches. Typically, discrete components of the system (e.g., dispenser devices, inspection stations, etc.) have separate control systems that generally can send messages to other components but are not designed to interact with each other and / or to consider more than a specific component and task. In this case, these different components needed to be connected so that each could perform a part of the process and send the results to the next component. Typically, the way orders were handled in such systems was to store all incoming orders in a database. Once a first system was ready and available, it would query the database for the next order or task, such as dispensing a combination of two tablets to create 10 pouches, each containing one tablet. If the order contained tablets that required manual preparation (e.g., the first tablet), the tray preparation system would query the database when further tasks were ready, and the tasks would then be sent to the tray preparation system. The tray would be prepared, and the packaging system would wait for the tray while it was being prepared. This system could cause delays in the process if, for example, tablets were not immediately available for use, and all systems would simply have to wait until preparation and packaging was complete before continuing.

[0003] Additionally, past systems generally had a standard process configuration, although various devices could be mechanically configured differently depending on the customer's needs. Summary of the Invention [Problem to be solved by the invention]

[0004] Summary of the Invention The device of U.S. Patent Application Publication No. 2014 / 0366489 A1 excels at continuously dispensing, retrieving, and packing solid materials as long as the feeder units reliably dispense the solid materials and manual plate-loading medication is provided. However, if one of the feeder units unexpectedly becomes unable to dispense the solid materials, for example, because the respective feeder unit runs out of solid materials, if the remaining solid materials cannot be easily dispensed for some reason, or if the remaining solid materials are past their expiration date, dispensing will be interrupted. Furthermore, if manual plate loading takes a long time or is delayed, dispensing may also be delayed.

[0005] One way to avoid dispensing delays is to queue orders and tasks; for example, when several job orders are received at a device, the dispensing machine typically lines the job orders for processing and fulfillment in the order in which they are received. Once the associated tasks for each job (e.g., fill plates, refill canisters) are known or determined, the job orders and associated tasks are queued so that the various systems and one or more operators always have a current list of what to work on next once one task / job is finished. This helps with overall system efficiency and minimizes downtime.

[0006] However, various circumstances arise during manufacturing that may cause a change in the priority of a job order between the time a job order is received and the time the system begins processing the job order. For example, it may be determined that a particular job order needs to have an earlier shipping time than previously considered (e.g., due to weather conditions affecting shipping). Other circumstances that may affect job sequencing include, but are not limited to, tablets for a particular job order being unavailable until a later time or expiring, a job order requiring a lot of manual plate filling and only one operator being available to the system at a particular time, a failure of a particular component required for a particular order, operator scheduling, the receipt of a new urgent job order, the availability of dispensing resources or equipment, etc. In such cases, it makes sense to change the priority of job orders and tasks. However, once tasks are in the queue, there is no ability to change their priority or order.

[0007] It is therefore an object of the present invention to provide a method, computer program product, and system for a manufacturing system that can dynamically adjust the order of jobs and / or tasks as needed or desired while minimizing downtime and delays in the overall system and in the fulfillment of job orders. Such a system can essentially throttle job orders and dynamically reprioritize them up to the last possible moment before they need to be sent to a queue for order fulfillment.

[0008] In the context of this application, the term queue is used to refer to a linear list of items (e.g., job orders or tasks) with all additions at one end of the queue (e.g., the bottom) and all removals (e.g., completions) at the other opposite end of the queue (e.g., the top). Once items or tasks are placed at one end of the queue, they cannot be reordered and the order of the queue cannot be changed other than by removing items at the other end of the queue. Some queues are prioritized queues that add an element of priority to items, but this must be added to the items before they enter the queue and cannot be changed once the items are in the queue. [Means for solving the problem]

[0009] According to a first aspect of the present invention, a method for dynamically sequencing tasks in a manufacturing system is provided. The method includes providing a control unit configured to receive a plurality of job orders, determine a task associated with each of the plurality of job orders, dynamically adjust the priority of each job order in the pending job order list, and queue one of the job orders and its associated task when a threshold associated with the system is met. Such a method provides a way to adjust priorities in a manufacturing system while ensuring that downtime is minimized by always providing a queue of tasks ready to provide a next task that must be executed as soon as the previous task is completed, but not queuing tasks until the last minute (where tasks cannot be reprioritized).

[0010] According to one embodiment, thresholds associated with the system include a set number of tasks in the queue relative to the amount of operators currently working, which may be, for example, two tasks per operator if the tasks are expected to take a significant amount of time (e.g., more than five minutes per task).

[0011] Optionally or alternatively, the threshold associated with the system includes the number of tasks estimated to take a predetermined total time in the queue. For example, the queue should always be filled with 5-10 minute tasks. Thus, the threshold is met when a task is removed and the estimated time of the tasks remaining in the queue is less than 5 minutes total. In this manner, the threshold is met and additional tasks are sent to the queue. In systems with very short tasks, this may result in a queue of 10-100 tasks or more. In other systems where tasks take longer (e.g., manual plate filling), there may only be 1-3 tasks in the queue per operator.

[0012] According to one embodiment, the tasks associated with each of the plurality of job orders include physical tasks that must be performed by an operator. Optionally, the physical tasks are manual plate-filling orders. Such a system works particularly well when the manufacturing system includes automated and manual components. In this case, manual or physical tasks can be dynamically re-prioritized until they are just about to be queued for fulfillment by the operator, thereby ensuring little or no downtime between tasks and minimizing production delays.

[0013] According to one embodiment, dynamically adjusting the priority of each job order is based on one or more of available tablets, shipping time, new job orders, available operators / equipment, and available dispensing resources (e.g., canister availability). Adjustments to job priorities may be based on any one or more of these or other factors. For example, resources such as feeder units or tablets may be available only at a later time; therefore, other job orders should take priority over those requiring those particular resources. The scheduling of one or more operators (e.g., how much and when they work) may also affect prioritization to ensure shipping times are met. Additionally, new information, such as different weather conditions that affect resources or shipping times, may be reason for reprioritization. The method allows for such reprioritization up to very late in the manufacturing process, thereby enabling rapid adjustments when new information or events affect the priority of manufacturing job orders.

[0014] According to one embodiment, dynamically adjusting the priority of each job order includes reviewing each job order at regular intervals and adjusting the pending job order list accordingly. The regular intervals may be based on a time interval (e.g., every five minutes), when a new job order comes in, if a new job order or multiple job orders come in during reprioritization, at system start-up, or any other time deemed useful or necessary. Such reprioritization at specific time intervals or triggered by an event or new information ensures that prioritization is dynamically and frequently updated to meet changing needs and information for an efficient manufacturing process.

[0015] According to one embodiment, the step of dynamically adjusting the priority of each job order can be performed at any time up until the job order is submitted to the queue. Because the priority cannot be changed once a task is in the queue, submitting tasks to the queue only at the last minute allows for a more dynamic system that can respond to priority changes.

[0016] According to one embodiment, a manufacturing system includes an automated component and one or more manual components. Optionally, the manufacturing system is a system for dispensing and packaging pharmaceutical products. Such a system, which can dynamically change the priority of tasks up until the very last moment they are sent to a queue, enables highly efficient systems that include automated and manual components, such as systems for dispensing and packaging pharmaceutical products. Tasks may typically involve manual or physical components, and the queue can ensure that a task is always available for an operator to pick up by dynamically reprioritizing as many times as necessary until the moment the task is sent to the queue and nearly ready for handling. This results in an overall more efficient system that can respond more easily and quickly to events and information that change the priority of pending job orders and tasks.

[0017] According to an embodiment, the control unit comprises a message broker configured to receive a message from one of the plurality of components, determine which other one or more of the plurality of components need to receive the message, and transmit the message to the other one or more components. Optionally, the message broker is further configured to ensure that each transmitted message is received by the other one or more components. Still optionally, the message broker is configured to hold messages in a message queue until the other components are ready to receive the message. Still optionally, the message broker determines which other one or more of the plurality of components need to receive the message by evaluating the content and source of the message. Such a message broker system allows different components to communicate with each other even if they are not part of the same system or device. By holding messages in a queue, the message broker system can also ensure that messages are delivered even if they were sent when various components were offline.

[0018] According to a further aspect of the present invention, there is provided a computer program product including a non-transitory computer readable medium bearing instructions that, when executed by a processor, cause a dispensing system to perform the steps of the aforementioned method.

[0019] According to a further aspect of the invention, a manufacturing device comprises an automated portion and a manual portion, a graphical user interface, and a control unit for controlling the graphical user interface and the manufacturing device. The control unit comprises a processor and a non-transitory computer-readable medium, which, when executed by the processor, cause the control unit to receive a plurality of job orders, determine tasks associated with each of the plurality of job orders, dynamically adjust the priority of each job order in a pending job order list, and queue one of the job orders and the associated tasks when a threshold associated with the system is met. Optionally, the manufacturing device is a dispensing device for dispensing discrete pharmaceutical products, the dispensing device comprising a dispensing section for dispensing the pharmaceutical products, a plate filling station for manual filling of plates, a user interface, and a control unit for controlling the graphical user interface and the dispensing device. Such devices and systems can function to ensure efficient manufacturing, enabling dynamic adjustment of the priority of job orders and associated tasks up until the last minute before they are queued for manufacturing. Such devices provide a queue of tasks that are always ready to provide the next task, which must be executed as soon as the previous task is completed, but by not sending tasks to the queue until the last minute (in a queue, tasks cannot be reprioritized), they allow priorities to be adjusted, ensuring that downtime is minimized.

[0020] According to one embodiment, tasks associated with each of a plurality of job orders involve manual tasks, such as manual filling of plates. This device enables an efficient manufacturing process with manual tasks and can be particularly useful when such manual tasks take a significant amount of time, such as filling plates. Priorities may change during the time it takes to fill plates (e.g., 20-30 minutes), and the device can dynamically reprioritize tasks up until the moment they enter the queue, allowing for easier and faster response to changing information and priorities.

[0021] According to an embodiment, the control unit is further configured to control a graphical user interface to display the relevant tasks in the queue.

[0022] According to one embodiment, a threshold associated with the system relates to the number of tasks allowed in the queue. Optionally, the number of tasks allowed in the queue relates to the total estimated time to complete all tasks in the queue and / or the number of tasks per operator currently working at the device. Such a threshold ensures that tasks are only sent to the queue at the last minute, thereby enabling dynamic reprioritization along the way. For example, the threshold may relate to the amount of tasks that can be performed in five minutes per operator working. Thus, for shorter tasks, there may be more tasks in the queue, e.g., 10-100. When working on longer tasks (e.g., manual plate filling), the queue always needs another task for the operator, so the threshold may be set to just two tasks, even if the first task is estimated to take more than five minutes.

[0023] Optionally, the job orders received by the control unit may come from a queue. Such a queue may reside in a database or other data storage structure and may be populated by a job producer or another controller. Thus, job orders received in the methods and systems described herein may, in some embodiments, come from a queue and / or a job producer.

[0024] According to a further aspect of the present invention, a method is provided for enabling communication between separate components in a system for dispensing and packaging pharmaceutical products into pouches. The system includes a plurality of components, and the method includes providing a broker configured to receive a message from one of the plurality of components, determine which other one or more of the plurality of components need to receive the message, and send the message to the other one or more components; and connecting the broker to each of the plurality of components so that the broker can send and receive messages to each of the components in the system. Such a method allows different components and systems to interact and function well with other components (e.g., machines and / or stations that are not originally part of the system) and applications to ensure an overall smooth process for customers, regardless of the setup. The message broker allows the systems to communicate and connect with each other. Use of such a method using a message broker allows for a more flexible setup in which different machines and components can interact and communicate with each other to function toward an overall efficient manufacturing. This also allows customers to combine multiple systems, for example to upgrade tablet dispensers, but still use older inspection machines from different manufacturers while maintaining accuracy, efficiency and service.

[0025] According to an embodiment, the broker is further configured to ensure that each sent message is received by one or more other components. Optionally, the broker is configured to hold messages in a queue until another component is available to receive the message. Further optionally, the broker determines which other one or more components of the plurality of components should receive the message by evaluating the content and source of the message. Such a feature ensures that messages are sent and received by the correct components in a variety of situations, including when one or more components are offline.

[0026] According to a further aspect of the present invention, a system for a pharmaceutical dispensing and packaging system including multiple components includes a broker configured to receive a message from one of the multiple components, determine which other one or more of the multiple components need to receive the message, and send the message to the other one or more components, and multiple connections between the broker and each of the multiple components. Such a system using a message broker and connections to different components allows for a more flexible setup in which different machines and components can interact and communicate with each other to work towards an overall efficient manufacturing. This also allows a customer to combine multiple systems, for example to upgrade tablet dispensers, but still use older inspection machines from different manufacturers while maintaining accuracy, efficiency, and service.

[0027] Optionally, the plurality of components comprises two or more of a dispenser, a pouch inspection machine, a visual inspection station, a plate filling station, a shipping station, a pouch packaging planning system, an inventory control system, and a manufacturing job planning system.

[0028] According to a further aspect of the present invention, a system for dispensing and packaging individual pharmaceutical products into pouches includes a dispenser for dispensing and packaging the pharmaceutical products into pouches, an inspection machine for inspecting the formed pouches, optionally a visual inspection station for visually inspecting the formed pouches, optionally a plate filling station for loading plates with pharmaceutical products to be dispensed by the dispenser, optionally a shipping station for shipping the pouches, optionally a pouch planning system for planning what pouches to produce, optionally a manufacturing planning system for planning manufacturing jobs for the dispenser, and a control system including a broker configured to receive messages from the dispenser, the inspection machine, and any optional components, determine which other one or more components need to receive the messages, and send the messages to one or more other receiving components. Optionally, the broker is further configured to queue messages if one or more receiving components are offline and deliver them when the one or more receiving components are available to receive the messages. [Brief explanation of the drawings]

[0029] BRIEF DESCRIPTION OF THE DRAWINGS [Figure 1] 1 shows an isometric view of a dispensing device with a dispensing part, a collecting part and a packaging part according to a first embodiment. [Figure 2A] 2 shows a top view of the dispensing device according to FIG. 1; [Figure 2B] 2B shows a front view of the first feeder unit in the feeder position of the dispensing section, as indicated by the arrow connecting FIG. 2B with FIG. 2A. [Figure 3] 1 shows a screen shot of a graphical user interface that provides a queue of pending tasks for an operator and a timeline that estimates the length of time for completing such tasks. [Figure 4]1 illustrates generally one embodiment of a process for dynamically sequencing tasks in a pharmaceutical dispensing and packaging system. [Figure 5A] This shows the process of reordering the job order. [Figure 5B] This shows the process of reordering the job order. [Figure 5C] This shows the process of reordering the job order. [Figure 6] 1 illustrates a schematic diagram of a message broker system for a system for packaging pharmaceutical products. DETAILED DESCRIPTION OF THE INVENTION

[0030] Detailed Description of the Invention 1 shows a dispensing device 1 according to a first embodiment for dispensing discrete pharmaceuticals, discrete solid pharmaceuticals, medicines or solid medical items, solid objects or substances 90, such as pills, tablets, capsules etc. The pharmaceuticals are "discrete" in the sense that they can be dispensed one by one, individually, separately or in dose units.

[0031] The dispensing device 1 comprises a dispensing section 2 for dispensing the pharmaceutical product 90, a collecting section 3 for collecting the pharmaceutical product 90 from the dispensing section 2, a packaging section 6 for packing the pharmaceutical product 90, and a manual filling station 75 (shown diagrammatically) for manually filling the plates. The collecting section 3 is located below or vertically below the dispensing section 2. The packaging section 6 is located below or vertically below the collecting section 3. The dispensing device 1 further comprises a housing 10 for protecting the aforementioned sections 2, 3, 6 from unauthorized access.

[0032] The dispensing section 2 defines an array of feeder positions 20 for receiving or holding a plurality of canisters, tablet cases, or feeder units 40. Each feeder position includes a docking member for mating with or receiving a respective one of the feeder units 40, the docking member including a suitable opening or channel for allowing passage of dispensed pharmaceutical products 90 through the feeder positions 20 to the collection section 3 below. The array of feeder positions 20 is distributed along an endless collection path Z1. In this example, the endless collection path Z1 is circular or substantially circular, and the array of feeder positions 20 is distributed circumferentially about the axis of rotation X. More specifically, the array of feeder positions 20 is distributed circumferentially or according to a radial grid, e.g., in a plurality of radially extending rows arranged side by side or adjacently circumferentially about the axis of rotation X. Preferably, the housing 10 extends cylindrically around the array of feeder positions 20. In this example, the peripheral wall of the housing 10 is provided with a plurality of stock locations 12 for holding temporarily unused or supplemental feeder units 40 .

[0033] Dispensing device 1 further comprises a robotic manipulator 11, which may include, for example, a robotic arm for automatic, automated, or autonomous handling, positioning, removal, and / or relocation of feeder units 40 relative to the array of feeder locations 20. Robotic manipulator 11 comprises a gripper head for picking and placing feeder units 40. In this embodiment, robotic manipulator 11 is located at the center of the array of feeder locations 20, e.g., adjacent to, on, or near rotation axis X, such that all feeder locations 20 and stock locations 10 are conveniently within reach of robotic manipulator 11.

[0034] 2B shows in more detail one feeder unit 40 of the plurality of feeder units 40. The following description of feeder unit 40 is representative of all feeder units 40 of the plurality of feeder units 40.

[0035] As shown in FIG. 2B, each feeder unit 40 includes a container 50 for holding a quantity of pharmaceutical product 90 having a composition 91 unique to that respective feeder unit 40. The term "composition" is intended to be interpreted as the chemical or pharmaceutical composition, e.g., combination of active ingredients, of pharmaceutical product 90, which may include slight variations. Each feeder unit 40 typically holds only pharmaceutical product 90 of a single composition. Depending on its size and shape, container 50 has a capacity capable of holding several hundred or more (or fewer) pharmaceutical products 90.

[0036] Each feeder unit 40 further comprises an outlet 51, e.g., a downspout, for dispensing the medications 90 towards the collector 3, and a dispensing mechanism 52 between the container 50 and the outlet 51 for controlling the delivery of the medications 90 from the container 50 to the outlet 51. In this embodiment, the dispensing mechanism 52 comprises a wheel that acts as a turnstile for singulating and delivering the medications 90 one by one towards the outlet 51. It will be apparent to those skilled in the art that alternative dispensing mechanisms capable of singulating the medications 90 may be provided.

[0037] Each feeder unit 40 may further include one or more sensors 53, 54, such as a vision camera, a photo sensor, a laser sensor, a level sensor, or a weight sensor, for verifying the type, composition, and / or integrity of the medication 90 and for counting the amount of medication 90 dispensed.

[0038] As best seen in FIG. 1 , dispensing section 2 further includes a feeder loading member 24 having a plurality of feeder loading positions 25 for receiving new feeder units 40 into dispensing device 1 and / or removing feeder units 40 from dispensing device 1. In this example, feeder loading member 24 is formed as a drawer. Alternatively, a door or the like may be used. Dispensing section 2 also includes a manual loading position 26 for receiving a manual loading member, such as a medication delivery plate, that has been manually loaded with medication 90 at manual filling station 75. This is used when a job order requires medication 90 that is not suitable for automatic dispensing using feeder units 40 described above.

[0039] 1 , the collection section 3 comprises a plurality of collection units, specifically collection hoppers 30, which are open on the side facing the dispensing section 2 for receiving pharmaceutical products 90 selectively dispensed from one or more of the feeder units 40. In this example, each collection hopper 30 extends simultaneously beneath the plurality of feeder units 40 to receive pharmaceutical products 90 from any of the feeder units 40. Each collection hopper 30 is tapered towards its bottom and is provided with a valve (not shown) at the bottom that can be operated to drop the collected pharmaceutical products 90 into the packaging section 6.

[0040] In this embodiment, the plurality of collection hoppers 30 are distributed circumferentially about a rotation axis X. More specifically, the plurality of collection hoppers 30 are held by a collection frame 32 that is movable along an endless collection path Z1, for example, by rotating about the rotation axis X to move the plurality of collection hoppers 30 relative to the array of feeder positions 20 of the dispensing section 2. The rotation may be in steps, with each step aligning the plurality of collection hoppers 30 with the next group of feeder units 40 in the array of feeder positions 20. Each collection hopper 30 extends radially along a row of radially arranged feeder positions 20.

[0041] In normal operation, the collection frame 32 is rotated unidirectionally in a collection direction C along an endless collection path Z1 so that each collection hopper 30 can rotate a full 360 degrees about the rotation axis X and visit all feeder locations 20 in the array of feeder locations 20, although in some embodiments the rotational movement may be more limited.

[0042] The packaging section 6 comprises a first packaging unit 61 in a first packing position, or first angular packing position P1, about the rotation axis X. Optionally, the packaging section 6 may comprise a second packaging unit 62 in a second packing position, or second angular packing position P2, to improve the packing efficiency of the dispensing device 1. The valves of the collection hoppers 30 are operated when each one of the collection hoppers 30 is in a position above or directly above a selected one of the packaging units 61, 62 to drop the collected pharmaceutical product 90 into the respective packaging unit 61, 62. Each packaging unit 61, 62 comprises a stock member for holding packaging material, in this example a foil, a printer for printing information about the pharmaceutical product 90 onto the foil, a filling member for positioning the foil to receive the pharmaceutical product 90, a sealing member for forming a pouch around the received pharmaceutical product 90, a perforation member for providing perforations in the foil between the subsequently formed pouches, and an output member for outputting the packaged pharmaceutical product F from the dispensing device 1.

[0043] Alternatively, one or both of the packaging units 61, 62 may be arranged to package the pharmaceutical product 90 in a storage material other than foil, such as a vial, bottle, or card.

[0044] The first packing position P1 and / or the second packing position P2 may be fixed relative to the axis of rotation X, at least during the dispensing operation.

[0045] 1 , dispensing device 1 further comprises a control unit 7 operatively and / or electronically connected to robotic manipulator 11, feeder unit 40, packaging units 61, 62, and other electronic devices such as drives and sensors, for controlling operation of dispensing device 1. Control unit 7 comprises a special purpose processor 71 and a computer readable medium 72 bearing computer readable code or instructions that, when executed by processor 71, cause dispensing device 1 to operate according to methods described in more detail below. Computer readable medium 72 may be non-transitory or tangible, for example a physical data carrier such as a hard drive, USB drive, or RAM memory.

[0046] The dispensing device 1 may further include a graphical user interface 8 (e.g., a screen) to provide a human operator with useful information regarding the dispensing, retrieving, and packing operations, which may include, but is not limited to, a queue list of job orders and / or associated tasks for the fulfillment of the job orders.

[0047] Below, a method of operating the dispensing device 1 will be described with reference only to the plurality of feeder units 40, the first collection hopper 31 of the plurality of collection hoppers 30, and the first packaging unit 61 of the two packaging units 61, 62. It will be apparent to those skilled in the art that the dispensing device 1 can be operated in substantially the same manner for any other selection of feeder units 40, collection hoppers 30, and / or packaging units 61, 62 to ensure a flexible and substantially uninterrupted or continuous dispensing, collection, and packing process.

[0048] 2A , the first recovery hopper 31 is rotatable about a rotation axis X in a recovery direction C relative to the array of feeder locations 20 between a start position or angular start position A downstream from the first packing location P1 in the recovery direction C, and an end position or angular end position B at or near (in this case, above) the first packing location P1. That is, the first recovery hopper 31 is rotatable about the rotation axis X through a recovery range R that begins at the angular start position A and ends at the angular end position B. In this example, the recovery range R is 5 degrees short of 360 degrees (almost a full rotation).

[0049] When the control unit 7 receives a job order for dispensing and packaging pharmaceutical products 90, the control unit 7 determines which feeder unit 40 to use based on the specific current or remaining amount of pharmaceutical product 90 in the feeder unit 40 and determines whether the job order requires manual filling of plates and / or other related tasks (e.g., a new feeder unit).

[0050] The control unit 7 may be configured to store the specific job order and associated tasks in the computer-readable medium 72. Generally, the control unit 7 then places the job order at the end of the control unit's list of pending job orders to be fulfilled. In some cases, for example, if the received job order is marked as urgent, the control unit 7 adjusts the priority of the job order stored in the computer-readable medium 72 to allow the urgent job to be executed earlier than non-urgent job orders, thereby creating a newly prioritized list of all pending job orders. In this manner, the priority of each job order can be dynamically adjusted continuously or at specific intervals (e.g., at set time intervals, whenever a new order or new information about an existing order is received).

[0051] The associated tasks associated with a particular job order may be physical tasks, such as manual plate filling, or may be other tasks, such as starting a program or process. Such manual plate filling is very time-consuming (compared to the production of pouches containing pharmaceutical products from a feeder unit), sometimes taking an operator 20-30 minutes to manually fill a plate. The control unit 7 sends the manual plate filling task to the operator via the graphical user interface 8, indicating to the operator the next manual filling action required to complete the next job order.

[0052] To ensure that the next related task is always available as soon as the previous task is finished (e.g., the next manual fill plate order is ready to start as soon as the operator finishes the last task), the control unit 7 sends the related task to a queue. The queue uses a graphical user interface 8 (see FIG. 3) to display the current task and all other tasks in the queue, and the operator simply marks the current task as complete as soon as it is completed. Once completed, it is removed from the queue on the graphical user interface, and all remaining tasks move up in the queue to be executed, and the control unit 7 sends a further task to the queue to be placed at the end of the queue (highest priority from the control unit 7's newly prioritized list of pending job orders).

[0053] The threshold for tasks in the queue may be manually set in advance and / or adjusted as needed (e.g., as additional operators come to work on the system or as an operator leaves). In some embodiments, the threshold may be constantly monitored and automatically set and / or adjusted. In other embodiments, the threshold may be set according to the schedule of users or operators working at a particular time. The threshold may also be set according to the total time of tasks in the queue. For example, a queue may be set to have 5-10 minute tasks in the queue and dynamically adjust the amount of tasks in the queue depending on the estimated time of completion of each task. If there are shorter tasks in the queue, for example, the queue may consist of 10 tasks, but if there are longer tasks in the queue (e.g., manual plate filling), there may only be two tasks in the queue. At a minimum, there must be two tasks in the queue so that there is always another task that the operator is prompted to start when the current task is completed.

[0054] FIG. 3 illustrates the graphical user interface 8 of the aforementioned dispensing device 1 in more detail. The graphical user interface 8 is generated by the control unit 7. As shown in FIG. 3, the graphical user interface 8 presents a queue of tasks to a human operator for fulfilling a job order, in this case, manual plate filling tasks 80, 82 are shown. Optionally, a timeline 84 is also shown, estimating the timeline for each task. The plate filling tasks 80, 82 may be provided on the timeline 84 and / or separately from the timeline 84. The timeline 84 has a time axis t from left (present time) to right (future). The plate filling tasks 80, 82 are estimated by the control unit 7. In this case, one operator is currently working on the system, and two tasks are shown in the queue. If more operators or users are working, more tasks (e.g., four tasks for two operators) will be shown. Additionally, the amount of items in the queue may be dynamic in relation to the number of users or operators associated with the queue, the specific tasks, and the estimated completion times for those tasks. These are just examples, and a different number of tasks in the queue may be used in relation to the number of operators.

[0055] An operator works on a first task 80 which is preparing a manual fill plate for job 200. Specific instructions regarding the tablets required and manual fill are provided to the operator at manual fill station 75. Once the operator has completed the manual fill plate associated with first task 80, the operator can indicate completion via the graphical user interface, for example, by pressing a complete check button 85.

[0056] In the illustrated and described system, the control unit 7 sends a task to the queue only when it determines that a threshold has been met. This threshold may be related to the number of tasks in the queue and / or the estimated total time of the tasks in the queue, ensuring that there is always a next task available to start, but not too many tasks in the queue so that job orders can be dynamically adjusted in priority until the last possible moment before fulfillment. This threshold may be related to the number of operators currently working in the system and / or the estimated total time of the tasks in the queue; for example, the threshold may be set so that the queue always has two relevant tasks per operator, or so that there are always 30 minutes of tasks in the queue. Thus, in a system with only one operator working, with a threshold of two tasks per operator, if one task is finished by the operator and only one task remains in the queue, the threshold is met and the control unit 7 sends the next relevant task / job with the highest priority to the queue. This allows the system to adjust priorities according to new job orders and / or new information (e.g., tablet availability, order urgency, changed shipping times, resource availability) up until the closest moment when the next job order and associated tasks are to be initiated. In this way, control unit 7 can refine job orders and dynamically adjust priorities up until the closest moment when the job order is to be initiated before sending the job order to a queue for execution.

[0057] Past systems simply determined the tasks associated with a job order and sent them to a queue in the order they were received. However, once in the queue, there was no ability to change the order or priority, and therefore no ability to adjust as conditions change. The current system overcomes these difficulties by dynamically adjusting job orders and task priorities at the control unit and authorizing them to be sent to the queue only when a threshold regarding the minimum number of tasks or total time in the queue is met. Only at this late stage are orders / tasks confirmed and sent to the queue; therefore, the present system allows for more flexibility in adjusting priorities as conditions change.

[0058] An example of this process 400 is shown in Figure 4. First, a new job order is received by the control unit (step 402). This typically consists of an order for a specific number of pouches, each containing a specific set of medications. This may be the same specific set of tablets for each pouch, or it may be different.

[0059] When a new job order is received, the control unit 7 then determines the associated tasks of the new job order, step 404. In this example, the specific associated tasks determined for the job order are the required manual filling plates and the estimated time for an operator to manually fill such plates, although this may include other parameters in other embodiments.

[0060] In step 406, the new job order (and associated tasks) is placed on a pending job list in the control unit. The pending job list contains all jobs that are scheduled to be executed by the system but have not yet been started and are not yet queued. In some cases, this may be a job order that is scheduled to be executed for several hours or days.

[0061] Step 408 then adjusts the order of pending jobs in the control unit as needed, taking into account any new information (step 410) received since the last adjustment and the creation of the newly prioritized list. Such information may include, but is not limited to, a particular job order needing to be shipped earlier or later than previously considered (e.g., due to weather conditions affecting transportation), tablets for a particular job order not being available until a later time, a feeder unit needing to be refilled, a job order requiring a lot of manual plate filling and only one operator being available to the system at a particular time, availability of dispensing resources (e.g., a particular feeder unit being available only later), etc. Specific examples of new information and adjustments for creating a newly prioritized list of pending jobs in the control unit are detailed in connection with Figures 5A-5C.

[0062] Next, a new prioritized list of all pending job orders is created in the control unit, taking into account any adjustments related to the new job order and / or new information (step 412). Dashed line 413 indicates that these steps 408 and 412, related to adjustments in the control unit and creation of the new prioritized list, can additionally be performed, for example, at regular intervals instead of or in addition to when a new order or new information is received. This interval can be based, for example, on a unit of time (e.g., every 5 minutes or every hour), when a new order comes in, when there is a change in operator or number of operators, when a new machine starts up, or any other relevant event or situation.

[0063] In step 414, the control unit 7 receives notification that the threshold in the queue has been met, indicating that the first order in the most recent newly prioritized list should be sent to the queue (step 416). As mentioned above, the threshold in the queue is typically related to the number of tasks per operator and / or the total time for completion of all tasks in the queue. Using the queue shown in FIG. 3, there is currently one operator working on the system, and two tasks 80, 82 are shown in the queue at a time. When the operator completes one (manually loading a plate for job 200, and possibly sending and presenting it to the dispensing system for use) and presses the check button 85 on the graphical user interface 8, that task is removed from the queue (because it is completed) and task 82 moves to the top for the operator to begin working on.

[0064] Also, because there is only one task 82 left in the queue and the threshold is to have two tasks in the queue per operator currently working, the control unit is notified that the threshold has been met. This notification informs the control unit 7 that another task should be sent to the queue to start as soon as the operator completes task 82, which is to prepare the two manual fill plates associated with job 212. The new task is the top task / job from the latest prioritized list of pending job orders in the control unit 7, and this task is placed at the bottom of the queue (where task 82 is currently shown). The estimated timeline is also updated as tasks are marked complete and new tasks are added to the queue.

[0065] In this way, process 400 allows tasks (especially manual tasks) to be dynamically adjusted to flexibly respond as priorities change, thereby enabling job order reprioritization. This helps ensure that the overall system operates efficiently, minimizes downtime, and is responsive to new orders and / or information. The queue ensures that operators always know their next task (and can therefore start as soon as one task is completed), and the pending job list and continuous (or periodic) adjustment and reprioritization of the pending job list in control unit 7 allows priorities to be changed as conditions change. Thus, the overall system can be more accurate and efficient in meeting the needs of pending job orders at any given time.

[0066] 5A, 5B, and 5C relate to a method for dispensing pharmaceutical products 90 using the dispensing device 1 described above, including example steps for reordering pending jobs G1, G2, G3 in light of new information.

[0067] 5A shows a first set of dispensing instructions G1 calling for 45 times the amount of drug 90 of composition A, 50 times the amount of drug 90 of composition B, 10 times the amount of drug 90 of composition C, and 15 times the amount of drug 90 of composition D. Similarly, a second set of dispensing instructions G2 and a third set of dispensing instructions G3 are provided calling for different amounts of drug 90 of similar compositions C, D or different compositions E, F. It is originally intended that control unit 7 will order these within the pending job list such that processor 71 will queue for execution of dispensing instruction sets G1, G2, G3 in the order shown (when thresholds are met) along time axis t from left (present time) to right (future).

[0068] FIG. 5B shows a diagram of method steps performed by processor 71 for determining an alternative order for the pending job list and then sending dispensing instruction sets G1, G2, and G3 to a queue for execution when the first dispensing instruction set G1 cannot be completed with the remaining pharmaceutical products 90 in multiple feeder units 40 (new information).

[0069] Specifically, the method includes receiving dispensing instruction sets G1, G2, and G3 (step S1); and, prior to sending instructions to the queue for executing the first dispensing instruction set G1, determining or receiving information regarding whether the plurality of feeder units 40 contain sufficient immediately available pharmaceuticals 90 to complete dispensing of a first selection and a first quantity of pharmaceuticals 90 in accordance with the first dispensing instruction set G1 (step S2). Pharmaceuticals 90 are "immediately available" if sufficient pharmaceuticals 90 authorized for dispensing remain in the plurality of feeder units 40. The authorization to subsequently send instructions to the queue may be revoked if, at the time of dispensing or administration, the pharmaceuticals 90 are past their expiration date registered with the system. If affirmative, the control unit 7 may proceed to send the first dispensing instruction set to the queue (step S3), and thereafter repeat the above determination for each subsequent dispensing instruction set (step S4).

[0070] However, if information is received that a plurality of feeder units 40 contain insufficient readily available pharmaceuticals 90 to complete the dispensing of the first selection and first quantity of pharmaceuticals 90 in accordance with the first dispensing instruction set G1, the control unit 7 switches to adjusting the order of pending jobs and sends one or more of the one or more additional dispensing instruction sets G2, G3 to the top of the pending jobs list for initial transmission to the queue when the threshold is met (step S6). Optionally, this may be preceded by a determination or receipt of information (step S5) regarding whether the feeder units 40 contain sufficient readily available pharmaceuticals 90 to complete the dispensing of the selection and quantity of pharmaceuticals 90 associated with each subsequent additional dispensing instruction set G2, G3. Thus, the order in which the dispensing instruction sets G1, G2, G3 are executed may be changed, as shown in FIG. 5C.

[0071] During execution of one or more additional dispensing instruction sets G2, G3, actions can be taken to ensure the system is ready to complete job order G1, such as replacing required medications. Specifically, a human operator may be notified to replace or replenish affected feeder units 40.

[0072] If there is insufficient immediately available medication 90 to complete dispensing in accordance with any one of dispensing instruction sets G1, G2, G3, the control unit 7 returns to decision step S2 and waits for medication 90 to be replenished.

[0073] In some cases, the first dispensing instruction set G1 and one or more of the one or more additional dispensing instruction sets G2, G3 may share a logistics parameter L that links the first dispensing instruction set G1 and the one or more additional dispensing instruction sets G2, G3 to a common batch. In this case, the control unit 7 may be limited to only changing the order of the dispensing instruction sets G1-G3 within the common batch, and not with respect to other orders on the control unit's pending job list. The logistics parameter L may be a shipping address, a patient order, a customer name, or the like.

[0074] While a specific embodiment of a dispensing device is shown in FIG. 1, this is by way of example only and the methods and / or systems described herein may be flexible and work with other manufacturing systems, particularly those involving automated components and manual labor.

[0075] Furthermore, the system and method can interface with different discrete components, facilitate communication between them, and consider the needs of the entire system when planning and executing jobs or orders. The control unit 7 or a separate operating system (hereinafter referred to as the "control system") can be the driver of any or all of the various processes and devices / components involved, allowing flexibility in any part of the process, for example, logistics planning and execution, inspection processes, correction processes, shipping, and interaction with other software, processes, systems, and / or machines. Such variations in process and workflow are described below for illustrative purposes, and further variations can be included as desired.

[0076] The control system can cover most or all of the logistical processes of pouch manufacturing and can guide any operator through the entire process (thereby reducing human error). Such processes may include (but are not limited to): Preparing drugs onto plates at the system-guided plate filling station Preparing the drugs for the canisters and / or preparing the canisters themselves · Producing pouches in a tablet dispenser · Inspect the contents of the pouch with a pouch inspection machine Visually evaluate pouch images of pouches that have been rejected by the pouch inspection machine Dividing the produced pouch strings into medication rolls, for example by patient or by another identifier such as administration time / department - note that this can be combined with inspecting the pouches with an inspection machine that provides both functions. Correcting pouches with manufacturing errors, either manually or automatically Sending and evaluating corrected images (manually or automatically) Packaging and shipping of drug rolls to end customers or patients · Generate reports relating to any aspect of the process including orders, manufacturing, and / or hardware.

[0077] The control system can also track all actions taken, thereby providing an audit trail.

[0078] Unlike devices or systems of the past, where it was usually only possible to physically configure a machine or device according to customer requests to run a standard process, the configuration of modern control systems ensures that even processes are very flexible and can be arranged to suit different customer needs or desires, combining and configuring different components in the way that individual customers want. By having key points of configuration, the overall process itself (and the various sub-processes) can be personalized for the customer. Several specific features help to support this: All applications can be configured in a central management application. The process itself can then be configured using a process template that defines which steps will be used (and which steps are not required, for example due to specific components and / or other software running the system), which may also include details such as which print layout will be used for the pouches and the maximum number of medications to package in one pouch. For every step in the process and operator action, a central security module can be used to specify who and / or what entity is allowed to perform these actions and guide the operator to ensure they are performed correctly. This can be used to ensure, for example, that only a pharmacist or another high-level supervisor can manually correct a (defective) pouch or bypass barcode verification. In this way, processes can be configured to ensure compliance with legal regulations, local ordinances, and / or internal regulations.

[0079] Everything can be prioritized by shipping time The control system can also configure all processes to ensure pouches are shipped in time for use by coordinating the logistics of the various processes and systems, and can also accommodate customer preferences regarding production order and priority. This can be done, for example, by one or more of the following steps: Each order can specify a required shipping time (e.g., by the application that submits the order to the system). The system ensures that orders are moved to manufacturing (e.g., sent to a pill dispenser) in time to meet their specified shipping times. Orders can also be marked (e.g., by the application submitting the order to the system) as urgent (urgent) orders. The system then plans to handle these orders with the highest priority, adjusting the order of the pending job list in the control unit as described above, and reprioritizing if necessary. The required shipping time can be shown (e.g., on one or more graphical user interfaces) to operators of all involved components and systems, e.g., tablet dispensers, plate filling stations, correction stations, and shipping stations. For efficient manufacturing, drug rolls from multiple orders can be combined into a single manufacturing job that is assigned to a tablet dispenser. The priority of these jobs can then be determined by the earliest shipping time of the orders that are part of those jobs, and the system can plan and execute these manufacturing jobs accordingly. When two or more orders have the same or similar shipping time, they can be prioritized based on the moment the orders are received. By treating them in a first-in, first-out (FIFO) manner, the application that submits the orders to the system can control the priority, which can be useful because it allows customers to make requests in the order they want them prioritized. The above method of throttling orders and only sending them to the message queue for execution at the last minute ensures that any changes in priority are realized and executed as late as possible with little or no interruption to the production of pouches.

[0080] Through the control system, components and processes are designed to interact and work well with other components (e.g., machines and / or stations that are not originally part of the system) and applications to ensure an overall smooth process for the customer, regardless of the setup. For example, a customer may have several different components from different manufacturers that need to be able to interact with each other. In such a setup, the tablet dispenser device may be separate from the manual plate filling station components, with further separate components for inspection, inventory control, dispatch, and planning, one or more of which may be connected by a transport conveyor and / or robot. The control system can interact with each of these components via a message broker system to drive some or all of the process. Such a system is shown schematically in FIG. 6.

[0081] A message broker facilitates different applications to interact and communicate with each other, as shown in Figure 6. Messages are sent to the broker and configuration within the message broker can determine which other applications this message should be sent to, which then send the message.

[0082] For example, production results from a tablet dispenser (e.g., data regarding produced pouches and their contents) are sent to a message broker, which then determines, based on the content of the message and information stored in the message broker (or other accessible memory related to which messages need to be sent to which components / applications), that these production results need to be sent to an inspection machine, a planning system, and inventory control. The message broker then forwards the production results received from the tablet dispenser to those identified components, inspection machines, planning systems, and inventory control.

[0083] The message broker can also ensure that the message / data is actually received by all identified components / applications. For example, in the example above, if the inspection machine was offline when the production results were received, the message broker could immediately send the message to the other two components, but store it in a message queue and wait for the inspection machine to come back online. Once the message broker senses or is notified that the inspection machine is back online, it will remove the message from the message queue and send it to the inspection machine.

[0084] In this way, the use of a message broker makes it possible to have a more flexible setup where different machines and components can interact and communicate with each other, also working towards an overall more efficient production. This also allows a customer to combine multiple systems, for example to upgrade tablet dispensers, but still use older inspection machines (e.g., from a different manufacturer) while maintaining accuracy, efficiency, and service.

[0085] Control system functionality can also be implemented with microservices, which are relatively small applications that provide a specific function. With each software install, these microservices can be substituted with other implementations to create the ideal fit for the customer. Communication with the message broker can be wired or wireless, or a combination of the two.

[0086] Various components that a message broker may facilitate communication with may include, but are not limited to: Dispenser - to produce pouches and transmit results Pouch inspection machine - publish the inspection results Visual inspection - Human inspection of rejected and / or corrected images and / or pouches - Publication of evaluation results Pouch Packing Plan component - determines which pouches to produce based on received orders, receives orders, and / or publishes pouch packing plans · Manufacturing Job Plan Component - Creates manufacturing jobs from pouch packaging plans.

[0087] Additionally, the control system can help ensure proper load balancing at sites with two or more dispensing systems. At such sites, when an order is received, a decision must be made as to which dispenser will produce the medication roll for the incoming order. The control system can flexibly plan this logistics to balance the load, taking into account efficient processing of the order, drug availability and location, etc.

[0088] The choice of which dispenser to use for an order affects both the preparation time for the medication roll and the amount of medication required that must be manually plated (and delivered to the dispenser). This is partly because not all tablet dispensers have the same selection of feeder units. If a dispenser does not have a feeder unit for a certain medication and is called upon to produce pouches containing that medication, the tablets must be fed into the dispenser using plates (which is slower, more tedious for the operator, and more error-prone because it involves manual labor). The control system can arrange for an order to be sent to a specific dispenser that minimizes production time and / or the manual plate medication required.

[0089] The control system can also assign a drug feeder unit to a single dispenser, or to a group of dispensers, or to no dispenser, in which case the feeder unit can be used by all dispensers (and delivered by an operator or robot). Such assignment can aid in efficient planning, for example, allowing two or more dispensers to share a canister instead of requiring a plate (and the resulting time to manually prepare the plate, slowing production).

[0090] In this way, the control system can provide automatic load balancing for all dispensers to minimize the amount of plate drug required while still ensuring that all drug rolls are produced in time (with respect to the requested shipping time).

[0091] The control system can also help group smaller orders into manufacturing jobs to improve manufacturing efficiency. Tablet dispensers, such as those shown in Figure 1, typically function most efficiently when running large jobs, i.e., when they can produce many pouches in one "run" without requiring a stop between jobs. However, orders coming in from pharmacies are typically for a much smaller number of patients, typically ranging from 5 to 30 patients. To achieve efficient manufacturing, the control system allows orders from different pharmacies to be combined into larger manufacturing jobs to produce medication rolls for many patients, sometimes over 200. Grouping orders into manufacturing jobs varies by site and can take into account factors such as order shipping times, available medications, canister availability, and plate usage (total overall number and / or specific number per job).

[0092] The control system also has the flexibility to plan batch or free production, or a mix of both, depending on the customer's needs at any given time.

[0093] In a batch-oriented environment, drug rolls that need to be shipped to the same destination address at the same time are kept together throughout the manufacturing process. For example, the system receives an order for 20 drug rolls. The system then ensures that those 20 drug rolls arrive at the packing and shipping area in one crate. All rolls can be produced on the same tablet dispenser, inspected on the same inspection machine, etc., to keep the batch together.

[0094] In a free manufacturing environment, each drug roll is considered individually (rather than as a batch as described above), and manufacturing jobs are planned for the most efficient manufacturing possible, disregarding which rolls need to be shipped together. While this can often result in the most efficient manufacturing (e.g., the least need for plated drugs), it is then up to the customer to handle the collection of all drug rolls in a packaging and shipping (or other) area and preparing them (if applicable) to be sent to the same address.

[0095] The control system can also facilitate and guide inspection and correction in the packaging and production of the pouches. Inspection and correction is an important part of any dispensing process and can vary widely depending on the level of automation, inspection requirements, available manpower, etc. The control system is flexible enough to adapt and meet customer needs and requirements for inspection and correction.

[0096] If a manual correction is made at a correction station (e.g., because there are too many or too few tablets in a pouch), this must usually be approved before being sent for shipment. Typically, correction stations can be operated by pharmacists and pharmacy technicians, and control systems can help ensure that a pharmacist, supervisor (or another second set of eyes) is involved when necessary.

[0097] For example, a pharmacist, a supervisor, or simply another person may be required to approve the correction before the medication roll is sent to the patient. If the correction station is operated by a pharmacy technician, a photograph of the manually corrected pouch can be generated at the correction station. This photograph can then be sent to a visual inspection station (e.g., a location or simply a software application with a user interface) where another person (e.g., a pharmacist, a supervisor) evaluates and approves the correction, thereby complying with correction approval requirements without requiring multiple people to be present at the correction station. This can be facilitated by a message broker, as described above. In this way, the control system can also help ensure that requirements and / or guidelines for inspection and correction are followed.

[0098] Additionally, when potential defects are flagged (e.g., by an automated system or visual inspection), such as if a pouch contains too many or too few tablets, they are typically corrected at a correction station such as those described above. However, sometimes the pouch cannot be corrected in this way and must be manufactured again by the dispensing machine. For most systems, remanufacturing pouches is a tedious process because it results in very small manufacturing jobs that are inefficient for the tablet dispenser to manufacture. However, the present control system allows the manufacture of these pouches to be combined with the regular manufacture of other pouches. Remanufacturing can be separated from regular production during the inspection and portioning stages of the process, thereby eliminating the need for very small (and inefficient) manufacturing jobs through the use of the control system.

[0099] The control system can also provide the operator with a consistent user interface to identify the tablets they are handling, thereby minimizing errors throughout the process. There are several stages in the logistics process where operators need to handle tablets, including when preparing plates, when preparing canisters, when removing tablets from their original packaging, during corrective actions if tablets are not placed in a pouch, etc. The control system can provide a consistent user interface to identify the tablets they are handling in order to minimize errors in these manual portions of the process.

[0100] Typically, manufacturer packages are identified by scanning a barcode, and lot numbers and expiration dates are entered (either automatically upon scanning or manually). The user interface for handling tablets from manufacturers can sometimes also interface with a (national / global) drug serialization database for live drug package verification. The serialization uniquely identifies each package of medication, for example to detect counterfeits.

[0101] If tablets from multiple manufacturer packages are previously removed from blister packs and placed in a temporary holding container or feeder unit, the control system can also direct this process. For example, the process can be directed so that the number of tablets in the holding container exactly matches the number of tablets that need to be placed in the feeder unit used in the tablet dispenser. This can also help speed up the filling of feeder units if they become empty during production.

[0102] Finally, because the control system covers all aspects of the logistics process, and because all data is stored in a central database, end users can easily generate reports that cover all stages involved, from pouch production to pouch inspection, pouch correction, and shipping. Reports can span multiple stages (e.g., production, inspection, correction, etc.), but can also focus on differences within one stage (how does dispenser A perform compared to dispensers B and C in the same facility?). Using the control system, reports can be created and deployed per customer request to best meet customer needs.

[0103] In this manner, the disclosed control system provides overall flexibility to work with different components and applications for an overall smooth and efficient manufacturing process, whether the components are from the same manufacturer or different manufacturers.

[0104] The control system can be formed of any combination of hardware and software, such as at least one dedicated processor and at least one non-transitory memory containing computer program code, which is configured to execute the above-mentioned processes of the system using the at least one processor. Any combination of one or more computer-readable media can be utilized as the memory. The computer-readable medium may be a computer-readable signal medium or a non-transitory computer-readable storage medium. The non-transitory computer-readable storage medium does not include a propagating signal and may be, for example, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (non-exhaustive list) of computer-readable storage media include: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. One or more computers or other control units may be physically present as part of the system or may be remotely connected.

[0105] Although the above description refers to medicines, tablets, and the like, the device and method can be used to dispense other types of discrete solid items for separation and packaging.

[0106] It should be understood that the above description is included to explain the operation of the embodiments and is not intended to limit the scope of the invention. From the above description, many variations will become apparent to those skilled in the art which will still be encompassed by the spirit and scope of the invention.

Claims

1. 1. A method for dynamically sequencing tasks in a manufacturing system, the method comprising: providing a control unit, said control unit comprising: receiving a plurality of job orders; determining a task associated with each of the plurality of job orders; dynamically adjusting the priority of each job order in the pending job order list; sending one of the job orders and associated tasks to a queue when a threshold associated with the system is met; A method configured to perform the above, comprising providing.

2. The method of claim 1 , wherein the threshold associated with the system comprises a set number of tasks in the queue relative to the amount of operators currently working.

3. The method of claim 2 , wherein the threshold associated with the system comprises a number of tasks estimated to take a predetermined total time in the queue.

4. The method of any one of claims 1 to 3, wherein the tasks associated with each of the plurality of job orders include physical tasks that need to be performed by an operator.

5. The method of claim 4 , wherein the physical task is a manual plate fill order.

6. 6. The method of claim 1, wherein dynamically adjusting the priority of each job order is based on one or more of available tablets, shipping time, new job orders, available operators / equipment, and available dispensing resources.

7. 7. The method of claim 1, wherein the step of dynamically adjusting the priority of each job order comprises reviewing each job order at regular intervals and adjusting the pending job order list accordingly.

8. The method of claim 7 , wherein the regular interval is a time interval.

9. 9. The method of claim 7 or 8, wherein the step of dynamically adjusting the priority of each job order can be performed at any time up until the job order is submitted to the queue.

10. The method of any one of claims 1 to 9, wherein the manufacturing system comprises automated components and one or more manual components.

11. The method of any one of claims 1 to 10, wherein the manufacturing system is a system for dispensing and packaging pharmaceutical products.

12. The control unit comprises a message broker, the message broker comprising: receiving a message from one of the plurality of components; determining which other one or more components of said plurality of components need to receive said message; sending the message to the other one or more components; The method according to any one of claims 1 to 11, configured to:

13. The method of claim 12 , wherein the message broker is further configured to ensure that each sent message is received by the other one or more components.

14. The method of claim 13 , wherein the message broker is configured to hold the message in a message queue until the other component is ready to receive the message.

15. 15. The method of claim 12, wherein the message broker determines which other one or more components of the plurality of components should receive the message by evaluating the content and source of the message.

16. A computer program product comprising a non-transitory computer readable medium bearing instructions which, when executed by a processor, cause a manufacturing system to perform the steps of the method of any one of claims 1 to 15.

17. a manufacturing device comprising an automated portion and a manual portion, a graphical user interface, and a control unit for controlling the graphical user interface and the manufacturing device, the control unit comprising a processor and a non-transitory computer readable medium, the non-transitory computer readable medium, when executed by the processor, receiving a plurality of job orders; determining a task associated with each of the plurality of job orders; dynamically adjusting the priority of each job order in the pending job order list; sending one of the job orders and associated tasks to a queue when a threshold associated with the system is met; The control unit holds instructions to execute the following:

18. The dispensing device of claim 17 , wherein the task associated with each of the plurality of job orders relates to a manual task.

19. 20. The dispensing device of claim 18, wherein the task associated with each of the plurality of job orders is manual filling of a plate.

20. The control unit further comprises: A dispensing device according to any one of claims 17 to 19, configured to control the graphical user interface to display the relevant tasks in the queue.

21. A dispensing device according to any one of claims 17 to 20, wherein the threshold associated with the system relates to the number of tasks allowed in the queue.

22. 22. The dispensing device of claim 21, wherein the number of tasks allowed in the queue is related to the total estimated time to complete all tasks in the queue.

23. 1. A method for enabling communication between separate components in a system for dispensing and packaging pharmaceutical products into pouches, the system including a plurality of components, the method comprising: providing a broker, the broker comprising: receiving a message from one of the plurality of components; determining which other one or more components of said plurality of components need to receive said message; sending the message to the other one or more components; and providing a connecting the broker to each of the plurality of components in the system such that the broker can send and receive messages to and from each of the components; A method comprising:

24. 24. The method of claim 23, wherein the broker is further configured to ensure that each sent message is received by the other one or more components.

25. 25. The method of claim 24, wherein the broker is configured to hold the message in a message queue until the other component is ready to receive the message.

26. 25. The method of claim 24, wherein the broker determines which other one or more components of the plurality of components should receive the message by evaluating the content and source of the message.

27. 1. A system for a pharmaceutical dispensing and packaging system comprising a plurality of components, the system comprising: A broker, receiving a message from one of the plurality of components; determining which other one or more components of the plurality of components need to receive the message; sending the message to the other one or more components; a broker configured to: a plurality of connections between the broker and each of the components of the plurality of components; Including, the system.

28. 28. The system of claim 27, wherein the plurality of components comprises two or more of a dispenser, a pouch inspection machine, a visual inspection station, a plate filling station, a shipping station, a pouch packaging planning system, an inventory control system, and a manufacturing job planning system.

29. 1. A system for dispensing and packaging individual pharmaceutical products into pouches, said system comprising: a dispenser for dispensing and packaging the pharmaceutical product into a pouch; an inspection machine for inspecting the formed pouch; Optionally, a visual inspection station for visually inspecting the formed pouches; Optionally, a plate filling station for loading plates with pharmaceutical products to be dispensed by said dispenser; Optionally, a shipping station for shipping the pouches; Optionally, a pouch planning system for planning what pouches to produce; Optionally, a manufacturing planning system for planning manufacturing jobs for said dispensers; a control system including a broker configured to receive messages from the dispenser, the inspection machine, and any optional components, determine which other component or components need to receive the messages, and transmit the messages to the other component or components; Including, the system.

30. 30. The system of claim 29, wherein the broker is further configured to queue the message if the one or more receiving components are offline and deliver the message when the one or more receiving components are available to receive the message.