Routing of totes and bottles within a pharmacy conveyor system
A system, method, and apparatus for the routing of totes and bottles within a pharmacy fulfillment center are disclosed. The system, method, and apparatus are configured to transmit routing tables from an application server to station controllers (e.g., PLCs) to enable each station to locally make a routing decision. Since the routing logic is locally stored at each station, the controllers do not need to transmit request messages to the server every time a tote or bottle is scanned. The system, method, and apparatus increase conveyor throughput by enabling each station to make a routing decision without having to wait for a response from a server.
1 . A pharmacy conveyor system comprising:
a memory device configured to store a data structure of at least one bottle lookup table, each bottle lookup table including a bottle identifier and an assigned destination of a bottle;
a conveyor belt including a plurality of stations, the conveyor belt for each station including:
a reader configured to read a barcode on a bottle,
a router configured to divert the bottle from the conveyor belt to a medication fulfillment area, and
a controller configured to receive the at least one bottle lookup table and determine whether the router is to be activated based on the read barcode matching a bottle identifier in the at least one bottle lookup table; and
an application server communicatively coupled to the memory device, the application server configured to:
receive a prescription for filling through a pharmacy workflow,
assign the prescription to the bottle,
determine routing information for the bottle,
create a bottle element within the at least one bottle lookup table in the memory device using an assigned bottle identifier,
determine a route code with a destination identifier specified in the respective routing information, and
transmit the at least one bottle lookup table with the bottle element to at least one controller before the bottle is received on the conveyor belt.
2 . The pharmacy conveyor system of claim 1 , wherein the application server includes an interface to the controller of each station for transmitting the at least one bottle lookup table.
3 . The pharmacy conveyor system of claim 1 , wherein the controller of each station includes an interface to the application server for receiving the at least one bottle lookup table.
4 . The pharmacy conveyor system of claim 1 , wherein the application server is configured to transmit the at least one bottle lookup table with the bottle element to the controllers of the plurality of stations for which the bottle is to be diverted before the bottle has arrived at the respective station.
5 . The pharmacy conveyor system of claim 1 , wherein the plurality of stations is associated with manual fill areas, auto-fill areas, semi-auto-pack areas, manual pack areas, auto-pack areas, and at least one collator.
6 . The pharmacy conveyor system of claim 1 , wherein the at least one bottle lookup table with the bottle element includes a seal flag to indicate whether the bottle should be sealed.
7 . The pharmacy conveyor system of claim 1 , wherein the controllers include programmable logic controllers (“PLCs”).
8 . The pharmacy conveyor system of claim 1 , wherein the controller for each station is further configured to:
receive the at least one bottle lookup table;
store the at least one bottle lookup table to a local memory;
receive from the reader of the same station, information that is indicative of a bottle identifier;
identify the bottle identifier respectively within the at least one bottle lookup table;
determine if the destination identifier related to the bottle corresponds to an identifier of the controller; and
cause the router to divert the bottle from the conveyor belt when the destination identifier corresponds to the identifier of the controller.
9 . The pharmacy conveyor system of claim 8 , wherein the controller for each station is configured to:
determine the bottle identifier is not located in the at least one bottle lookup table;
cause the bottle to pass through; and
transmit an alert to the application server indicative of the bottle identifier not being located in the at least one bottle lookup table.
10 . The pharmacy conveyor system of claim 1 , wherein the bottle includes a one-dimensional barcode or a two-dimensional barcode including the bottle identifier of the bottle that is printed on a label, the one-dimensional barcode or the two-dimensional barcode being readable by the readers of the stations.
11 . A pharmacy conveyor system comprising:
a memory device configured to store a data structure of at least one tote lookup table, each tote lookup table including a tag name corresponding to a respective tote identifier of a tote and a route code indicative of a current location or an assigned destination of the tote;
a conveyor belt including a plurality of stations, the conveyor belt for each station including:
a reader configured to read a barcode on a tote,
a pusher configured push the tote from the conveyor belt to a medication fulfillment area, and
a controller configured to receive the at least one tote lookup table and determine whether the pusher is to be activated based on the read barcode matching a tote identifier in the at least one tote lookup table; and
an application server communicatively coupled to the memory device, the application server configured to:
receive a prescription for filling through a pharmacy workflow,
assign the prescription to the tote,
determine routing information for the tote,
select a tote element in the at least one tote lookup table in the memory device,
update the route code with a destination identifier specified in the routing information, and
transmit the at least one tote lookup table with the tote element to at least one controller before the tote is received on the conveyor belt.
12 . The pharmacy conveyor system of claim 11 , wherein the tote includes a radio frequency (“RF”) tag placed on a bottom of the tote, the RF tag including the tote identifier and being readable by the readers of the stations.
13 . The pharmacy conveyor system of claim 11 , wherein the application server includes an interface to the controller of each station for transmitting the at least one tote lookup table.
14 . The pharmacy conveyor system of claim 11 , wherein the controller of each station includes an interface to the application server for receiving the at least one tote lookup table.
15 . The pharmacy conveyor system of claim 11 , wherein the application server is configured to transmit the at least one tote lookup table to the controllers of the plurality of stations for which the tote is to be pushed before the tote has arrived at the respective station.
16 . The pharmacy conveyor system of claim 11 , wherein the plurality of stations is associated with manual fill areas, auto-fill areas, semi-auto-pack areas, manual pack areas, auto-pack areas, and at least one collator.
17 . The pharmacy conveyor system of claim 11 , wherein the controllers include programmable logic controllers (“PLCs”).
18 . The pharmacy conveyor system of claim 11 , wherein the application server is further configured to:
receive a message from one of the controllers that the tote has passed through;
update the at least one tote lookup table associated with the tote with a next destination identifier of the routing information; and
transmit the updated at least one tote lookup table to the controller that corresponds to a next destination.
19 . The pharmacy conveyor system of claim 11 , wherein the controller for each station is further configured to:
receive the at least one tote lookup table;
store the at least one tote lookup table to a local memory;
receive from the reader of the same station, information that is indicative of a tote identifier;
identify the tote identifier respectively within the at least one tote lookup table;
determine if the destination identifier related to the tote corresponds to an identifier of the controller; and
cause the pusher to push the tote off the conveyor belt when the destination identifier corresponds to the identifier of the controller.
20 . The pharmacy conveyor system of claim 19 , wherein the controller for each station is further configured to:
determine the tote identifier is not located in the at least one tote lookup table;
cause the tote to pass through; and
transmit an alert to the application server indicative of the tote identifier not being located in the at least one tote lookup table.