Abstract
In recent years, companies that operate pharmacy store chains have adopted centralized and automated fulfillment systems, which are called Central Fill Pharmacy Systems (CFPS). The Robotic Dispensing System (RDS) plays a crucial role by automatically storing, counting, and dispensing various medication pills to enable CFPS to fulfill high-volume prescriptions safely and efficiently. Although the RDS is highly automated by robots and software, medication pills in the RDS should still be replenished by operators in a timely manner to prevent the shortage of medication pills that causes huge delays in prescription fulfillment. Because the complex dynamics of the CFPS and manned operations are closely associated with the RDS replenishment process, there is a need for systematic approaches to developing a proper replenishment control policy. This study proposes an improved priority-based replenishment policy, which is able to generate a real-time replenishment sequence for the RDS. In particular, the policy is based on a novel criticality function calculating the refilling urgency for a canister and corresponding dispenser, which takes the inventory level and consumption rates of medication pills into account. A 3D discrete-event simulation is developed to emulate the RDS operations in the CFPS to evaluate the proposed policy based on various measurements numerically. The numerical experiment shows that the proposed priority-based replenishment policy can be easily implemented to enhance the RDS replenishment process by preventing over 90% of machine inventory shortages and saving nearly 80% product fulfillment delays.
Keywords: Central fill pharmacy system, Robotic dispensing system, Prescription fulfillment, Medication replenishment, Priority-based policy, 3D discrete-event simulation
Highlights
Robotic dispensing systems are introduced to fulfill high-volume prescriptions
Proper replenishment strategy is required to prevent delays in dispensing medications
Priority-based policy is proposed to determine the replenishment sequence timely
Criticality function is defined to calculate refilling urgency for a canister
Replenishment priority of dispenser is updated by the criticality function value
Introduction
Mail-order pharmacy is used to fill and dispense licensed prescription drugs and provide delivery service to patients. Under the COVID-19 pandemic, mail-order pharmacy has been accelerated by large pharmacy companies due to contactless medication delivery to home, especially for regular medication needs [1, 2]. In recent decades, Central Fill Pharmacy System (CFPS) has become a popular solution to process heavy volume prescription demand in large-scale mail-order pharmacy enterprises, such as Amazon Pharmacy [3]. According to BBC Research, the pharmacy automation market will grow from 5.1 billion dollars in 2019 to 7.8 billion dollars by 2024 [4]. To satisfy the needs of various medication types and the number of items per order required by different customers as well as the needs of significantly increased prescription demand, the CFPS has been highly customized and automated. Each CFPS, which is dynamic and flexibly designed, is a pharmacy automation solution tailored to the local pharmacy and puts the highest priority on the unique personalized prescription filling to maintain patient safety and satisfaction. Besides, pharmacy automation is a key factor in fulfilling growing prescription demand while decreasing prescription errors in the process of CFPS [5, 6].
In the CFPS, the Robotic Dispensing System (RDS) is a critical automated facility that realizes pharmacy automation and assures a high rate of fulfilling productivity of a pharmacy [7]. Quickly developed in recent years, the RDS is widely applied to storing, counting, dispensing, and bottling countable pills by a robot arm, dispenser, and canister. RDSs allow the CFPS to store and dispense the most commonly prescribed medications, which ensures convenience, accuracy, and agility in the dispensing process. One type of RDS machine is shown in Fig. 1. Currently, RDSs have become a general solution for millions of medication errors occurring during the dispensing process and filling over 90,000 patient prescriptions per day [8, 9].
Fig. 1.

RDS machine schematic diagram
To guarantee the high filling productivity and software operation accuracy of RDSs, medication pills in the RDS should be manually replenished in time to avoid medication inventory shortage and system performance reduction. [10] conclude that replenishment optimization of the automated dispensing cabinet by clinical pharmacists can decrease the number of stockouts and the number of dispenses from a central pharmacy. Each RDS machine contains multiple dispensers connected with one canister that contains different medications to fill the dispenser. If the dispenser runs out of pills before the canister is reattached, “Rundry Error”, which indicates that the dispenser cannot continue filling due to the medication shortage, will be triggered by operational delays; this contributes to most machine errors. The rundry error can last hours before a canister is replenished, which causes a decreased throughput of the RDS and impacts on downstream machine performances. Therefore, the RDS requires timely replenishment of various medications by human operators to fully utilize the CFPS.
To guarantee the high productivity of RDS, the proper replenishment strategy is required to be uniquely designed while considering prescription mixtures, human operation complexity, and the CFPS dynamic, and there is a need to develop an RDS replenishment policy designed for inventory control to prevent rundry error. Although the significance of replenishment process optimization has been realized, there is still little research due to several challenges in the analysis of the replenishment process. One challenge is the complex decision-making for the replenishing priority of canisters while considering the mixture of prescriptions. For instance, which canister should be refilled first if several canisters become empty? Another challenge is that complex interactions between automated systems and operators are difficult to be formally formulated. For instance, the cart operator needs to shuttle between RDS machines and replenishment stations as well as collaborate with replenishment technicians.
To overcome these challenges and deal with the urgent need to model the replenishment process, this paper develops an improved priority-based replenishment policy for RDSs. In order for the CFPS to prioritize the real-time sequence of refilling canisters, the policy defines a criticality function that returns the refilling urgency for each canister and corresponding dispenser based on the inventory level and pill consumption rates. In particular, a 3D discrete-event simulation model is developed to analyze the system performance under the proposed strategy while emulating the RDS human operations and reflecting real-world practice and settings of the replenishment process in the CFPS. A 3D simulator, which is able to support both the logical and physical process designs, can help designers verify the rationality and implementability of the system design before the practice system installation [11]. Besides, the 3D simulation software can help enterprises train new operators and enable users to comprehend the CFPS as it’s whole more thoroughly by providing a good visualization for realistic feedback [12]. The simulation-based approach has proved successful in addressing CFPS optimization problems, which are hard to formulate mathematically and obtain exact solutions due to the complex dynamic. It can also represent, track, and analyze the detailed interactions and sequence of replenishment events in the RDS, which can help to evaluate the practical replenishment strategy, quantify the effects of different tailored strategies based on multiple key performance indicators, and be extended to meet more specific needs. Multiple performance metrics are used to numerically analyze systems performance. Insights for practitioners are provided to design and manage efficient replenishment operations with limited resources to help prevent medication shortages and reduce fulfillment delays.
The remainder of the paper is organized as follows: The literature review that pertains to the robotic dispensing and RDS replenishment process studies is presented in Section 2. The detailed RDS replenishment process is defined in Section 3. The priority-based replenishment policy with a criticality function is described in Section 4. Experiments and results are given in Section 5. Finally, conclusions and suggestions of future works are offered in Section 6.
Literature review
Given the importance of fulfilling increasing prescriptions for daily demand and maintaining medication safe within the pharmacy, robotic dispensing has become an active research topic in the area of pharmacy automation. Many studies now focus on RDS performance optimization. Dispenser allocation optimization in the RDS unit has been considered. [13] extract strong associations among the purchased drugs through association rule mining, which can help pharmacists properly allocate dispensers among multiple robotic units and the efficient number of drugs distributed inside the dispenser. [14] put forward an efficient planogram strategy to determine the suitable number of medications for each dispenser while balancing medication associations, drug filling demand, and robot arm travel distance. In addition, optimization of the filling time of multi-item prescriptions is another aspect of the RDS study. [15] identify that the disordered filling process of RDS has become a bottleneck that limits system productivity performance. The paper shows that setting order priority policies and scheduling orders accordingly can benefit system workload balancing and maximum RDS utilization. Besides, as input for collation machines, the RDS throughput can also make an impact on downstream line system performance according to [16].
Due to the restriction of production by rundry errors, the RDS replenishment process has been brought into focus in recent years. [8] propose an RDS replenishment strategy through a mixed integer programming method to help determine the reorder point and backup canisters, which can restrain inventory and operation costs while boosting the efficiency of pharmacy inventory management. [17] exploit a real-time optimization strategy using the receding horizon control mechanism that has a fast response to real-time dispenser replenishment and helps plan dynamic inventory optimization. The replenishment operators have been considered in RDS replenishment cost optimization in [18]. The detailed system configurations and working modes of the RDS are combined and determined through mixed integer linear programming models. In literature [19], the decision robustness that applies a receding horizon control strategy with robust optimization has been enhanced against the stochastic variables to avoid dispenser inventory shortages and reduced throughput. [20] also model the stochastic behavior of the replenishment process by considering a probability distribution for lead time and the uncertainty rate that dispensers count NDCs (National Drug Code) and fill prescriptions using a continuous-time Markov Chain. However, there exists minimal literature that considers detailed human operations and develops a priority-based inventory policy for RDS replenishment. Table 1 summarizes the pharmacy replenishment-related literature review.
Table 1.
Summary of relevant studies on pharmacy replenishment process
| Reference | Objective | Approach |
|---|---|---|
| Wang and Yoon [8] | Minimize total costs for dispensing machine replenishment that considers multiple factors | Mixed integer programming |
| Dauod et al. [17] | Minimize replenishment costs for real-time dispenser replenishment with a receding horizon control mechanism | Mixed integer programming |
| Serhan et al. [18] | Minimize operational costs for determining optimal replenishing settings of mail-order pharmacy automation systems | Mixed integer linear programming |
| Dauod et al. [19] | Propose a robust receding horizon control strategy for RDS replenishment decisions | Mixed integer programming |
| O’Connor et al. [20] | Minimize costs for determining optimal replenishing settings | Markov Chain |
Priority rule is one of the key factors that can influence healthcare inventory problems and can be considered for RDS replenishment. The priority rules, which are developed and well-applied in pharmacy inventory management, can be used to determine the criticality of inventory items and resolve the order or replenishment processing sequence [15, 21]. The priority-based policy has proved its superiority in efficiency and low cost in the literature, which can alleviate stock shortages the disordered replenishment process causes. The replenishment decision can also become robust by applying appropriate prioritization strategies against demand uncertainty and over-forecast probability. In addition, manual operations performed by technicians and operators, which can be affected by undesired factors and complex interactions between automated systems and operators, are crucial to secure the practical and desired throughput and are difficult to be formally formulated.
Therefore, there is an urgent need to adopt a systematic approach that is tailored for RDSs with the priority-based replenishment control policy, while considering the complex dynamics of the CFPS and manual operations by reflecting the real-world practice and ensuring desired performance. This study proposes a criticality priority function and exploits a discrete-event simulation model to emulate and test it. The major originality and contributions that this study provides from existing literature are as follows: (1) a priority based replenishment strategy designed for RDSs is proposed to help manage pharmacy inventory control; (2) a tailored criticality priority function is developed to eliminate medication shortages and fulfillment delays; (3) detailed human operations for three types of operators are modeled and analyzed to be close to real-world practice; and (4) RDS configurations, i.e., canister size, the number of backup canisters, reorder points, and the number of operators, are considered controllable variables in the replenishment process.
RDS replenishment process analysis
One RDS unit contains a robot arm and several automated dispensing cabinets controlled by a smart software system. The robot arm is used to pick up, move, and drop off vials. The slid dispensers in cabinets can be positioned as required and also can be customized with different medications that conform to individual pharmacy solutions and align with the specific prescription volume. There is also a vertical gap between lower-storied dispensers and upper shelves, which can dispose of different sizes of canisters for replenishment that slides on the top of each dispenser. The dispenser and canister schematic diagram is shown in Fig. 2.
Fig. 2.
Dispenser and canister schematic diagram
Dispensers are used for storing, counting, and dispensing tablet and capsule medications. Canisters are applied to replenish connected dispensers. In the dispenser, if the inventory level is less than a critical value tested by a sensor, which can also be considered as a reorder point, the canister will be triggered by the smart software system to release its medications to the connected dispenser for refilling. After all the available drugs are released, the canister’s status and replenishing priority will be changed in the system and need to be replenished by human operators. When the canister needs to be replenished, it can be detached and reattached for replenishment. Therefore, the predefined reorder point of the dispenser, canister size, and replenishing priority value are critical concerns in the canister replenishment process.
The general replenishment process is considered in this study, which means that there is an extra canister in the workbenches for each dispenser, except the one connected to the dispenser in the RDS machines. A replenishment station is properly equipped near RDS machines for quick response to the canister replenishment. There are three types of operators, who are stock clerks, replenishment technicians, and cart operators. Stock clerks work on searching for medications used in the replenishment process. Replenishment technicians go in to refill canisters with drugs in the bottles found by stock clerks. Cart operators engage in the transport of empty and refilled canisters between RDS machines and the replenishment station. In the replenishment process, when one canister becomes empty, its information will be highlighted and shown in the operating system interface for each operator. The stock clerk processes the work sequentially according to the canister priority value. Following the canister and drug information indicated by the system, the stock clerk should get the right medicine and the number of medicine bottles required from the inventory racks. After receiving the bottles from the clerk, the replenishment technician can slide the extra corresponding canister to the docking station on the workbench, refill it using the verified tablets or capsules, and place it at the pickup window of the replenishment station. When the refilled canister is ready for picking on the operating system, the cart operator will deliver it to RDS machines by a trolley cart, switch the empty canister for the refilled one, and reattach it until it confirms that the canister status comes online again. Priority values are also used to determine which canister should be reattached first if there are multiple refilled canisters waiting for attachment. The detailed replenishment process is shown in Fig. 3.
Fig. 3.
General replenishment process for dispensers. Canister A is first attached to the RDS dispenser and Canister B is the backup canister at the replenishment station
Rundry error is a key terminology that is used in RDS replenishment process for dispenser unavailability caused by the medication shortage. The refilled canister’s return time determines the dispenser’s availability status. If the dispenser can be replenished by the canister before it becomes empty and stops filling orders, the replenishment process will not make an impact on the auto streamline productivity; otherwise, the dispenser cannot complete the filling work caused by the rundry errors on time and therefore causes the delay in customer order delivery. With the rundry errors, the working time of RDS machines will be prolonged under the same demands, and filling interruptions may also easily lead to robot failure. In addition, various rundry errors also reflect the low work efficiency of replenishment operators and required replenishing workflow optimization to mitigate work accumulation. Apparently, delays from RDS machines will have an influence on downstream performance, such as vials’ collation time in the same order and packing time. The relationship between dispenser inventory level, return time, and rundry error can be shown in Fig. 4. This study focuses mainly on designing a replenishment policy to prevent the rundry error that occurs when canister and dispenser replenishment is not done properly.
Fig. 4.
Rundry error impact sketch map. The x-axis shows time, and the y-axis shows the medication inventory level in one dispenser, the dashed line represents ROP (reorder point), and the red line shows the rundry error happening with no medication in the dispenser
Priority-based replenishment policy based on criticality function
This section introduces the main contribution of our study, a replenishment policy based on criticality function. After introducing the basic concept of the priority-based replenishment policy, Section 4.1 describes the criticality function based on reasonable assumptions of CFPS goals. Section 4.2 emphasizes the advantages of our designed replenishment policy compared with the “Low-Medium-High” policy, which is widely used in current CFPS.
A priority strategy specifies the sequence in which canisters should be processed; in this case, canisters with the highest priority values are operated first. When staff in the replenishment process align their selection with the priority order, the goals addressed by the priority (e.g., reduction in rundry errors) are more likely to be realized, provided that the priority approach represents a sufficiently accurate model of the system. Incorporating a priority strategy is more challenging for a cart operator owing to the extra complication of how to improve path efficiency. In the current paradigm, the cart operator will leave the replenishment station when no filled canisters are available, will fill the cart in priority order, and will visit RDSs in priority order regardless of distance. The priority order is utilized by each worker in the model in the same manner whether the proposed priority strategy or current default priority strategy is used.
Proposed replenishment policy based on criticality function
One of the important purposes of the priority-based replenishment process is to maintain a level of pill inventory in RDS dispensers to prevent interruption in filling (the occurrence of a rundry error). Therefore, our replenishment system aims to avoid rundry errors in dispensers. Moreover, if multiple dispensers have rundry errors, our system needs to decide the order for which the corresponding canister should be refilled first.
Main Idea: We first predict the time of rundry error for each dispenser based on the future filling demand, which is usually given in advance. We then determine the optimal replenishment order of canisters directly based on the predicted time of rundry error.
Equation 1 is the proposed priority-based replenishment policy ρj with the criticality function f, representing the priority that a canister, denoted as cj, needs to be refilled. takes Ij and as input and outputs a priority value ranging from 0 to 2, where Ij is the initially available inventory in dispenser dj and its attached canister cj (in units of either pills or volume), and is the inventory consumption rate of dispenser dj and its attached canister cj.
| 1 |
Where the function Empty means the canister cj is empty, the function Rundry represents the dispenser dj has a rundry error, β is a constant value.
In the equation, we model the priority value of refilling canister cj in three cases. The first case is that when a canister is not yet empty, the priority value of refilling canister cj is 0, which indicates there is nothing to replenish. The second case is that the priority value of canister cj is , when the canister is empty but the dispenser still has enough pills to fill orders. The last one is that when the dispenser has encountered a rundry error, the priority of refilling the corresponding canister cj should be higher than the other cases. This is because it is typically important to address rundry canisters first to maintain system performance. Here, a constant value β (i.e., β = 1 in our case) is added to distinguish dispensers with rundry as a separate group while preserving relative replenishment sequence information for the dispensers with rundry and corresponding canisters by the criticality function. Figure 5a shows a typical domain region of priority ρj. Volumetric units, considering medication types and sizes, are used to enable comparison across NDCs.
Fig. 5.

Plots of the proposed priority function to demonstrate its properties. Average replenishment makespan sec (derived from simulation results)
To develop the criticality function, specifically, the goal is to obtain an estimated time when a dispenser will have a rundry error, which is approximated by considering at what time it will become completely empty (i.e., zero pills left). This is modeled by
| 2 |
where Ij is the initial available inventory in dispenser dj and its attached canister cj, and tj is the estimated time until rundry for dispenser j. One intuitive way to estimate this is to let , which is the inventory consumption rate of dispenser dj and its attached canister cj. Because it is desirable for dispensers with earlier rundry times to have higher priority, Eq. 2 can be rearranged to give
| 3 |
which has the range . In order to make the priority value in a range of continuous and numerical manner to represent the refilling urgency of the canister, Eq. 3 is plugged into producing, which produces Eq. 4 that has the bounded range (0, 1]; this also has the benefit of obviating special handling of the case where Ij = 0.
| 4 |
Here, f is the developed criticality function, and is the typical makespan of the replenishment process. This has the effect of tuning the sensitive region of f so that differences in priority reflect the ratio between estimated time to rundry and the time it typically takes to replenish a canister (i.e., . Figure 5 shows how scales f so that a priority above 0.5 indicates the dispenser is expected to rundry before the typical replenishment makespan. Note that this scaling effect does not change the relative order of the canisters. Lastly, f is utilized to define the final proposed priority-based replenishment policy, which is used in the simulation.
In the simulation, Ij is available by keeping a pill count for every canister, which is already done as part of the replenishment process, and is currently computed as the cumulative inventory used by dispenser dj and corresponding canister cj since the start of the simulation run divided by the current simulation time. Note that the estimation of the consumption rate utilizes only information from the current shift/day. An estimation method that produces a priority ordering closer to their true deadlines may possibly be obtained by incorporating historical data for each NDC/dispenser.
Proposed policy with criticality function vs. “low-medium-high” policy
Theoretically, comparisons between the proposed and typical priority strategies are made in this section. The proposed priority-based policy with criticality function developed in Section 4.1 is intended to make an improvement over the current priority strategy used in practicing CFPS. The current typical priority strategy used in practice is defined by Eq. 5: the “Low-Medium-High” policy.
| 5 |
Under the same priority level, each empty canister’s refilling sequence is determined by the moment that the canister becomes empty. The fundamental issue with this strategy is that the priority level cannot reflect the refilling urgency and the system impact caused by potential rundry errors. Equation 1 addresses this issue by essentially using the more appropriate attribute of estimated rundry time to break ties between the priority of canisters, rather than using the time at which the canister becomes empty.
Table 2 provides an example situation with realistic values. In this example, there are two canisters, A and B, which empty at time 10 and 11 seconds, respectively. They have the specified average consumption rates () and current inventory levels (Ij). From this, the estimated time to rundry (tj) is computed via rearranging Eq. 3. Then the priority level under Eq. 1 (ρj) and Eq. 5 (ϕj) are computed. Consider a replenishment technician who must make a choice between A and B. The “Low-Medium-High” strategy would direct him or her to select canister A because both are Medium priority and A became empty just before B. The issue with this approach is that B has an earlier estimated rundry time because of less inventory level. Equation 1 overcomes this issue: ρj is greater for B than for A, precisely because it increases with , and thus B is selected first by the technician, which reduces the likelihood of a rundry error (Tables 3 and 4).
Table 2.
Example of a realistic decision point during the replenishment process
| Canister | Time Emptied | Avg. consumption rate | Inventory level Ij | Estimated rundry time tj | ρj | ϕj |
|---|---|---|---|---|---|---|
| A | 10 sec | 0.026 cc/sec | 13.0 cc | 500 sec | 0.45 | Medium |
| B | 11 sec | 0.026 cc/sec | 7.8 cc | 300 sec | 0.57 | Medium |
Table 3.
Measurement comparisons in Case 1 and Case 2 under 95% confidence interval
| Evaluation indicator | Case 1 | Case 2 |
|---|---|---|
| Num. of rundry errors | 134.14 ± 0.28 | 11.43 ± 0.40 |
| Num. of uncompleted items during shift | 29.43 ± 1.20 | 1.00 ± 0.86 |
| Makespan of RDS machines | 7.97 ± 0.02h | 7.56 ± 0.00h |
| Avg. collation delay | 1.58 ± 0.02min | 1.49 ± 0.02min |
| Max. collation delay | 58.64 ± 0.26min | 8.55 ± 0.19min |
Table 4.
System performance comparisons under different distributions of operator processing time
| Evaluation indicator | Exponential distribution | Normal distribution | ||
|---|---|---|---|---|
| Case 1 | Case 2 | Case 1 | Case 2 | |
| Num. of rundry errors | 127.67 ± 10.02 | 13.43 ± 4.50 | 134.43 ± 0.73 | 11.14 ± 0.90 |
| Num. of uncompleted items during shift | 28.83 ± 11.42 | 1.29 ± 1.26 | 31.43 ± 2.49 | 1.00 ± 0.43 |
| Makespan of RDS machines | 8.07 ± 0.10 h | 7.57 ± 0.02 h | 7.99 ± 0.02 h | 7.56 ± 0.00 h |
| Avg. collation delay | 1.59 ± 0.03 min | 1.49 ± 0.02 min | 1.59 ± 0.01 min | 1.49 ± 0.01 min |
| Max. collation delay | 53.59 ± 13.77 min | 9.46 ± 0.91 min | 59.96 ± 2.48 min | 8.43 ± 0.16 min |
Numerical experiments
Simulation model description
A large system that can handle tens of thousands of prescriptions is developed to better observe the impact of replenishment and rundry errors. There are 16 RDS machines arranged in two rows and connected with conveyors that transport filled vials. If only one vial is required by a prescription, which is a single-bottle order, the vial will be sent to packing stations directly for packing; otherwise, this is a multi-bottle order, and the vial will be transferred to collation stations first for collating vials in the same order number and then sent to packing stations. A replenishment station is set near the RDS machines for convenient replenishment. The system layout is shown in Fig. 6.
Fig. 6.
Layout information in the replenishment simulation model
Due to the reason that the travel distance can have a significant impact on the replenishing time and cart operators’ decision, especially in a large system, the physical distances between each RDS unit and distances between the replenishment station and each RDS unit are considered. The consideration of distances introduces a trade-off problem between minimizing the distance the cart operator travels and reattaching canisters in priority order. Furthermore, rundry errors may be prevented in some cases by deviating from priority order and minimizing total distance traveled, or in other cases the inverse may be true. This study did not attempt to resolve this trade-off, and therefore programmed cart operators to reattach canisters only in priority order; it does not consider the minimal length path in which to visit them, although the travel time between stations is accounted for in the simulation. The shortest-path distances between each pair of stations were computed, stored in a distance matrix (see Table 5 in the appendix) according to the locations of labeled machines in Fig. 6, and accessed by the simulation model to compute the simulated delay in cart operator procedures, which represents their travel time. After each reattach, the cart operator determines the next destination and references the distance matrix accordingly.
Table 5.
Distance matrix for travel time computations of the cart operator (unit: inch)
| Source | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | R1 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | − | 150 | 300 | 450 | 1057 | 1207 | 1357 | 1507 | 1458 | 1308 | 1158 | 1008 | 397 | 247 | 97 | 53 | 982 |
| 2 | − | − | 150 | 300 | 907 | 1057 | 1207 | 1357 | 1308 | 1158 | 1008 | 858 | 247 | 97 | 53 | 203 | 832 |
| 3 | − | − | − | 150 | 757 | 907 | 1057 | 1207 | 1158 | 1008 | 858 | 708 | 97 | 53 | 203 | 353 | 682 |
| 4 | − | − | − | − | 607 | 757 | 907 | 1057 | 1008 | 858 | 708 | 558 | 53 | 203 | 353 | 503 | 532 |
| 5 | − | − | − | − | − | 150 | 300 | 450 | 1449 | 1299 | 1149 | 999 | 660 | 810 | 960 | 1110 | 973 |
| 6 | − | − | − | − | − | − | 150 | 300 | 1599 | 1449 | 1299 | 1149 | 810 | 960 | 1110 | 1260 | 1123 |
| 7 | − | − | − | − | − | − | − | 150 | 1749 | 1599 | 1449 | 1299 | 960 | 110 | 1260 | 1410 | 1273 |
| 8 | − | − | − | − | − | − | − | − | 1899 | 1749 | 1599 | 1449 | 1110 | 1260 | 1410 | 1560 | 1423 |
| 9 | − | − | − | − | − | − | − | − | − | 150 | 300 | 450 | 1061 | 1211 | 1361 | 1511 | 654 |
| 10 | − | − | − | − | − | − | − | − | − | − | 150 | 300 | 911 | 1061 | 1211 | 1361 | 504 |
| 11 | − | − | − | − | − | − | − | − | − | − | − | 150 | 761 | 911 | 1061 | 1211 | 354 |
| 12 | − | − | − | − | − | − | − | − | − | − | − | − | 611 | 761 | 911 | 1061 | 204 |
| 13 | − | − | − | − | − | − | − | − | − | − | − | − | − | 150 | 300 | 450 | 585 |
| 14 | − | − | − | − | − | − | − | − | − | − | − | − | − | − | 150 | 300 | 735 |
| 15 | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | 150 | 885 |
| 16 | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | 1035 |
| R1 | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − | − |
Configurable settings in the replenishment model are determined below according to the whole CFP scale, the number of RDS units, and system prescription demand.
Staff arrangement: 1 cart operator, 3 stock clerks, and 3 replenishment technicians;
Cart setting: total 1 cart that contains no more than 24 canisters;
Canister setting: 75% 2000 cc canisters (including a 1500 cc chamber and 500 cc chamber) and 25% 500 cc canisters (including a 500 cc chamber);
Dispenser setting: 800 cc dispenser;
When releasing pills from canister to dispenser, the door between canister and dispenser will remain open until all the pills drop into the dispenser, which can continuously dispense medication with the door opening.
ROP in dispenser: When the dispenser inventory becomes or is lower than 100 cc, the system will trigger the connected canister to release its available chamber;
Backup canister setting: Each canister has one other backup canister at the replenishment station;
Priority strategy: Current three-stage priority strategy determined by rundry errors and timestamps.
In general, for the purpose of system layout design, probability distributions well-reflecting the targeted processing time with less variability are supposed to be considered for the simulation model to reflect system operations with stabilized workstations and skilled operators. Because central fill pharmacy systems are highly automated with robots and machines, operations can be well-controlled to result in targeted performance. Moreover, in the case of manual processes supposed to be done by the operators, operations would be simplified, standardized, and done repeatedly, and the process can be well-controlled to result in performance within the targeted range. Therefore, in our study, triangular distribution is adopted to simulate the processing times of various processes as shown in Table 6. Note that the triangular distribution can be defined in terms of mode and lower/upper limit, which can be considered as the targeted processing time and the range for variability, respectively. Additional system assumptions and restrictions considered for the simulation model are listed below.
Each RDS machine can hold up to 80 different medications.
The RDS machine cannot deal with and needs to delay the prescription if the dispenser has a rundry error until the dispenser has been replenished and comes online again.
Each cart operator can handle only one specific cart.
The cart operator returns the refilled canister first and then retrieves the empty canister in the RDS machine.
Whenever the cart operator is available and sees refilled canisters at the replenishment pickup window, he or she will react.
Reattachment sequence also follows the priority strategy.
The walking speed of cart operators is 55 inches/sec.
Table 6.
Replenishment simulation model processing time assumptions
| Machine & Staff | Task | Processing Time |
|---|---|---|
| RDS unit | Fill vials | Tri[10.5,11.1,11.7] sec/item |
| Collation unit | Pick up input vials | Tri[2.5,2.6,2.7] sec/item |
| Release collated orders | Tri[7.5,7.9,8.3] sec/tote | |
| Conveyor speed | Transport vials | 65 ft/min |
| Replenishment operator | Replenish canisters | Tri[228,240,252] sec/canister |
| Stock clerk | Stock canisters | Tri[15.5,16.3,17.1] sec/canister |
| Stock inventory | Tri[13.9,14.6,15.3] sec/bottle | |
| Cart Operator | Unload carts | Tri[7.2,7.6,8.0] sec/canister |
| Load carts | Tri[8.5,8.9,9.3] sec/canister | |
| Detach/Attach canisters | Tri[5.7,6.0,6.3] sec/canister |
A specialized 3D simulation solution approach is developed to reflect the dynamic replenishment model for RDS units. Emulate3D simulation solver [22], an industry-leading dynamic digital software designed for virtual commissioning and throughput simulation, is utilized to keep tracking the dynamic replenishing operations and recording the movement data and status changes. The implementation of the replenishment model and proposed priority-based replenishment policy are described in Algorithm 1 in the appendix. There are four main entities in this aspect of the simulation: Auto-Fill stations, Stock Clerks, Replenishment Technicians, and Cart Operators. QuickLogic tables are used to track the necessary simulation state relevant to replenishment: each canister’s inventory level; its consumption rate and priority; the canister’s position in the replenishment process; and transactional demand data. When an entity completes a process on a canister, it updates a shared data structure to which the other entities respond as appropriate. First, the Auto-Fill stations read the transactional demand data and begin filling vials accordingly while tracking pill levels in each canister. When a canister becomes empty, the Stock Clerks will see the corresponding change in the shared data structure and will begin delivering the appropriate bottles, which updates the shared data structure accordingly. The Replenishment Technician and Cart Operator react to changes in the shared data structure in a similar manner. Once the Cart Operator has switched and attached the refilled canister, the Auto-Fill station will recognize the updated inventory level and, if there had been a rundry error, can then begin to dispense the blocked item. Each entity incorporates the priority function into its routine when selecting a canister to be worked on next, as can be seen in Algorithm 1. Note that the priority for a canister Cx is updated exactly when Cx has been used to fill an item x. This means that the priority for a canister could change mid-replenishment, which could affect the selection of entities further down the pipeline, which allows for quicker adaptation to demand. More details of the simulation model can be found in Table 7 in the appendix.
Table 7.
Elements of simulation model based on the checklist proposed by [23]
| Checklist item | Content |
|---|---|
| Purpose of the model | Analyze the system performance under different priority-based replenishment strategies. |
| Model outputs | RDS performance evaluation: Total number of rundry errors Total number of uncompleted items during shift Trajectory of the number of dispensers suffered from rundry error Trajectory of number of blocked items waited for fixing rundry error Inventory trajectory for each dispenser and canister Makespan of RDS machines Downstream performance evaluation: Avg. collation delay, Max. collation delay |
| Experimentation aims | Emulating the RDS human operations and reflecting real-world dynamic practice and settings of replenishment process in the CFPS. |
| Base model overview diagram | Shown in Fig. 6. |
| Base model logic | Shown in Section 5.1 and Fig. 6. |
| Algorithm | Shown in Algorithm 1. |
| Components | Entities: Shown in Section 5.1. Activities: Shown in Section 5.1. Resources: 3D CAD file layout, design workbook data used for parameter settings, and technical book used for configuration settings are provided by the designer of CFPS. Queues: Vial filling queue: First in First Out Canister refilling queue: Priority strategy is shown in Section 4. Staff working sequence: The next staff will only work if previous staff is busy. Entry / Exit points: Entities’ entry points are related to the order arrival time and queue. Entities’ exit points are dependent on the activities that are all finished. |
| Data sources | Amount of demand data are provided by the designer of CFPS, which is related to the CFPS scale and historical data from other CFPSs. |
| Input parameters | Shown in Table 6. |
| Pre-processing | Demand data is uniformly distributed during a 7.5-hour shift from 16 RDS machines. |
| Assumptions | Shown in Section 5.1. |
| Initialisation | Warm-up period is 10 min. |
| Run length | The model has a run length of 24 hours including the 7.5-hour shift time and remaining time for finishing the filling and refilling work. |
| Estimation approach | All point estimates are based on the average of 50 replications of a model run. |
| Software or programming language | Emulate3D simulation solver is used for building the simulation model by enterprises license. The software provides QuickLogic simulation language to help program C languages. |
| Model execution | Model run time is 5 hours per replication. |
| System specification | The model is run on Dell XPS 8940, with a 3.6Ghz Intel Core i7 processor and 32 GB of memory under Windows 10 Pro. |
| Computer model sharing statement | The simulation model is built by the enterprise version of Emulator3D and cannot be shared due to confidential reasons. |
Simulation model verification and validation
Model verification is essential to ensure that the simulation model operates as intended. For model verification, the assumptions and processing time utilized in the simulation model are defined in accordance with the designer-provided design workbook, which was created by CFPS designers in accordance with the machines’ specifications and observations from actual CFPSs. According to the 3D CAD layout design drawing, the simulation facility’s location and conveyor system elevation are designed. To verify that the model is functioning as intended, activity logs are kept for each entity (e.g., operator, dispenser, canister, and product), including route tracking and operation time recording. For instance, we design simple demand data to verify whether a specific RDS machine works as we designed. Figure 7 shows how the RDS machine operates with simply designed demand data. The first vial is to be filled as scheduled. For the second vial, although the order arrival time, i.e., scheduled time, is earlier, the start filling time of this vial still begins after the previous vial finishing filling due to the robot arm being busy filling the first item. For the fourth vial, it begins to start filling when the order arrives. There exists a time gap between the third and fourth vial because of the designed unevenly distributed demand data; the RDS robot arm would be in idle status during the gap time. From the sample results in the figure, we can conclude that the model works well following the rules we designed.
Fig. 7.
Verification study of filling time in one RDS machine
Model validation is important for evaluating if the simulation model accurately represents the real system. Due to the fact that the CFPS is highly tailored based on local demand and size, and the CFPS simulation model is usually developed to test system performance before physical facilities building, it is difficult to obtain local real demand data in advance. For model validation, therefore, the replenishment simulation model and outcomes are validated by professionals with experience operating physical CFPSs.
Case study
In this research, a practical pharmacy-based prescription database is employed in the simulation model, which can reflect the actual pharmacy situation where rundry errors occur frequently. The database consists of 36,925 transactions of single and multiple prescription orders that needed to be filled with medications. There are 20,735 preparatory vials for single-item orders and 16,190 preparatory vials for multiple-item orders. The demand data is uniformly distributed during a 7.5-hour shift from 16 RDS machines. One thousand two hundred eighty types of medications, which are tagged as a unique product NDC for each medication to indicate the drugs with specific dosage strengths and manufacturers, are uniformly assigned to the demand order. Table 8 in the appendix shows an example of the transactional demand data of dispensed drugs. Each event log represents the specific information for one vial, which includes the knowledge of the drug, the assigned filling RDS machine, order type, processing time, canister or dispenser information, and the number of pills required to fill the vial.
Table 8.
Example of the transaction database
| GroupId | UniqueId | NDC | FillingMachine | NumItemsPerOrder | OrderType | ArrivalTime | CansName | NumPills |
|---|---|---|---|---|---|---|---|---|
| 13637 | 13737 | 71854968702 | 15 | 1 | Single-Bottle | 7:00:01 AM | Cans1158 | 90 |
| 12640 | 12740 | 52257012162 | 2 | 1 | Single-Bottle | 7:00:02 AM | Cans92 | 90 |
| 14379 | 14479 | 78947621005 | 1 | 1 | Single-Bottle | 7:00:02 AM | Cans47 | 60 |
| 17896 | 17996 | 50587961728 | 5 | 1 | Single-Bottle | 7:00:03 AM | Cans386 | 30 |
| 6923 | 7023 | 33368199505 | 5 | 1 | Single-Bottle | 7:00:04 AM | Cans345 | 30 |
| 25089 | 29636 | 06787139284 | 6 | 4 | Bottle/Collation | 9:37:17 AM | Cans429 | 89 |
| 25089 | 29637 | 93758326065 | 7 | 4 | Bottle/Collation | 9:37:17 AM | Cans535 | 30 |
| 25089 | 29638 | 89491922927 | 11 | 4 | Bottle/Collation | 9:37:17 AM | Cans806 | 30 |
| 25089 | 29639 | 62731662932 | 13 | 4 | Bottle/Collation | 9:37:17 AM | Cans975 | 90 |
Due to the conflict between volume and quantity used in the inventory capacities of canisters or dispensers and the dispensing process, the basic unit “Quantity/100cc” is utilized to transform volume and quantity. The distributions of quantity/100cc and the number of drugs needed for one prescription in one bottle are presented in Tables 9 and 10 in the appendix, which are summarized from a real pharmacy transaction database from a central fill pharmacy.
Table 9.
Qty./100cc distribution
| Qty / 100cc | % |
|---|---|
| 50 | 3.8 |
| 100 | 7.0 |
| 175 | 16.2 |
| 250 | 16.8 |
| 400 | 23.5 |
| [100, 300] | 27.0 |
| [300, 475] | 5.7 |
Table 10.
No. of pills per item distribution
| Pill counts / item | % |
|---|---|
| 30 | 70% |
| 60 | 10% |
| 90 | 15% |
| Other [15, 180] | 5% |
In running simulations, the objectives of this study are to observe how the unseasonal and disordered priority-based replenishment policy impacts a set of performance measures and how to eliminate the rundry errors during the replenishing process. There are two groups of performance measurements, which are RDS performance evaluation and downstream performance evaluation, to assess the CFP productivity and working efficiency. The key metric that measures the performance of the RDS is the total number of rundry errors that happen during the work shift. Comparisons to the number of rundry errors can reflect whether there exist operational delay and disorder. Collation delay, which is the time between the first and last item in a group are collated at collation stations, is used to evaluate the downstream collating performance for multi-item prescriptions. The value of collation delay reflects the impact on downstream workstations, which can be enlarged by the rundry errors. The maximum collation delay is considered.
Two cases are considered in this research.
Case 1: Replenishment process with default “Low-Medium-High” priority strategy. This model is developed to reveal how the replenishing staff works between RDS units and replenishment stations as well as how the rundry errors impact the RDS working throughput.
Case 2: Replenishment process with the proposed priority-based policy that is determined by multiple influence factors. The model is employed to show how the proposed priority model improves the system performance compared with Case 1.
Rundry error analysis
There is a total of 134 rundry errors that occurred in the Case 1 model, which means that the replenishment process with the current priority strategy cannot quickly respond to the 1280-canister inventory holding under current configurable settings in the system. There is no need to change current configurations; Case 2 model can achieve only 11 rundry errors by reasonably assigning the waiting sequence of the empty canisters, which proves the efficiency of the proposed priority strategy for refilling consecutiveness. Figure 8 reflects the trajectory changes of the real-time number of unavailable dispensers with filling interruption due to rundry errors as well as the real-time number of blocked items waiting for fixing rundry errors. In both cases, the number of blocked items is greater than or equal to the number of unavailable dispensers; this indicates that one rundry error can cause multiple items to wait for the filling process. The existing rundry errors also indicate the heavy replenishing workload under current configurable settings in the CFPS. Overtime completion after the shift hour ends, in which there are no additional prescription demand orders, is still needed. In Case 1, the rundry errors easily happen when there are over 100 empty canisters waiting in the RDS machines during the peak working period. The value peaks at the end of the shift due to the continuously increased empty canister caused by operation delays. Without additional prescription demand after the 7.5-hour shift, the rundry errors and blocked items can be fixed in an hour. In Case 2, most dispensers can keep working on filling processes with only several rundry errors even if there exist over 400 empty canisters that need refilling, which means that the proposed priority strategy can enhance the rundry error tolerance in the RDS and improve the robustness of the system. Rundry errors can be delayed up to four hours compared with Case 1 and numbers can be drastically reduced as replenishment operators can identify impending problem dispensers and refill in a timely manner.
Fig. 8.

Number trajectory of dispensers suffered from rundry error and number trajectory of items waited for fixing rundry error in Case 1 and Case 2. The x-axis shows the shift time, and the y-axis shows the number of dispensers or items
Figure 9 shows the available dispensing inventory trajectories of the top two highest-frequency rundry NDCs as an example to show the rundry error effect. For the first example, NDC in Fig. 9a and b, the inventory consumption patterns are similar in both cases in the first two working hours due to a sufficient number of drugs in the canisters. With the continuous increment of dispensers and canisters waiting for replenishment, the canister of the NDC in Case 1 cannot be refilled by operators on time because it needs to wait in the queue to follow the timestamp rules in the “Low-Medium-High” priority strategy. However, the canister in Case 2 can be responded to immediately when its inventory is lower than the reorder point. This is because the canister can jump the queue by adjusting a higher priority value based on the consumption estimation from previous consumption patterns. As a result, the total replenishment work of the canister in Case 2 can be completed earlier several hours than in Case 1 and no rundry error happens. For the second example NDC in Fig. 9c and d, the canister can be replenished quickly at the first two times in both cases due to adequate staff. Five rundry errors appear in Case 1 during the peak workload period and the reattached canister would release its chamber immediately and become empty again. In Case 2, the anticipation of rundry time helps eliminate rundry errors even in a highly utilized canister. For both NDCs with high-frequency rundry, the smaller size of the canister and larger pill size are also the reason that causes rundry to happen.
Fig. 9.
Inventory trajectory of the top two highest-frequency rundry NDCs. The y-axis indicates the total available dispensing inventory level, which includes the inventory in the dispenser and connected canister. The upper dash line shows the maximum capacity of the total drug inventory of the specific NDC attached to the RDS unit. The lower dash line manifests the moment that the connected canister empties its final chamber, and operators are notified of the empty status of the canister
Overall system performance analysis
The different filling sequences will also have an influence on the collation delay in the collation station. Figure 10 shows how the maximum collation delay change under two cases. From the results, we can find that the collation time to finish collating one order has been significantly extended in Case 1 model. The prolonged collation delay indicates that the resources in collation stations need to be occupied longer by one order, which is contrary to the effective utilization of the collation stations. However, by reorganizing the canister refilling process in Case 2, the sequence of filling vials in the RDS units has also been rearranged as a consequence, and the collation stations can be exploited more smoothly and adequately. With only a few rundry errors, the results of the proposed priority strategy can be close to the ideal case that has no inventory shortage and replenishment.
Fig. 10.

Collation delay in different cases
Figure 11 exploits two examples to reflect the impact of collation delay in different cases. The length of the blue bars indicates the processing time of one item from the filling start point to collating start point, while the length of the red bars represents the collation delay of the multi-item order. In the two-item prescription example, the time required to complete the collation of Case 1 is over 40 times that of Case 2. This is caused by the filling delay in the RDS machines that the second item cannot start processing immediately due to the suspended dispenser with medication shortage when the order arrives. The time between two blue bars in Case 1 represents the blank time quantum of the occupied tube in the collation station without any operations, which indicates inefficient tube utilization with workload reduction and liquidity dulling. In the three-item prescription example, the collation delay is still prolonged due to the filling dispenser interruption, which may happen in previous orders even though there is no disruption during the RDS filling in this order.
Fig. 11.
Examples of item processing time from filling to collating in two cases. Figures (a) and (b) are under a two-item prescription order. Figures (c) and (d) are under a three-item prescription order
Table 3 summarizes the measurement comparisons between Case 1 and Case 2. In Case 1, with the increment of rundry errors, RDS units cannot complete the prescription demands as specified during the 7.5-hour shift and need an extra half an hour to finish filling the same demand that there is much ineffective time at the end of the shift. One thing that should be noted is that although the gap between average collation times in the two cases has not significantly widened, some individual samples with enlarged collation delays can cause a huge problem of system performance degradation. The impact of priority rules on system performance is shown more distinctly in Case 2. Only 11 rundry errors happen that have not had a huge influence on the RDS and downstream performance in the complex CFPS operations. This means that the pre-estimated rundry time acts more on the filling sequence optimization compared with the post-time after the change of canister status.
Uncertainty analysis
Due to the fact that variances and unanticipated events may exist among operators with varying individual working performances, the triangular distribution cannot fully reflect the occurrences in actuality when applied to operator processing time. Consequently, the research additionally investigates the robustness of the model by applying exponential and normal distributions to the processing time of operators with potentially unstable performance while working.
In comparison to Table 3’s results, Table 4 reveals that there are substantial performance variations under the 95% confidence interval by using the exponential distribution, which represents the unstable output generated by operators. With a large variance in the working rate of operators, for instance, more than 40 vials may be unable to be filled within a shift hour due to more rundry errors, necessitating more time to finish filling tasks. One collation tube may be occupied for more than an hour, which would have a severe impact on production line mobility and consume collation resources. The normal distribution can also result in a somewhat wide variation for the rundry times, number of uncompleted products, and the collation delay time when compared to triangular distribution.
Results from Table 4 suggest that the proposed replenishment method illustrated by Case 2 outperforms the present default replenishment method illustrated by Case 1 even when the replenishment operators cause considerable variances. In addition, results under Case 2 demonstrate that fluctuations in system performance can also be controlled within a small acceptable range, even with uncertainties happening from the staff side. With the proposed priority method, over 90% of rundry errors can be avoidable. Near 80 % fulfillment delay time can be saved to complete all infilling works in 10 minutes after shift hours. Moreover, downstream stations’ resources, e.g., collation stations, can be utilized in an efficient way.
Conclusion
This research proposes a priority-based replenishment control policy to optimize the canister refilling sequence in the RDS machines to minimize medication shortages and fulfillment delays that happen during the filling process in the CFPS without changing any configurable settings. The proposed strategy estimates the time that a dispenser becomes rundry by multiple factors, which involve the average consumption rates and current inventory levels, instead of considering only the time that the canister status changes. In addition, the complex manual replenishment operations for each type of operator and the dynamics of the CFPS are developed by a discrete-event simulation model. Three types of operators are under their own logic procedure so that the model can achieve and control the dynamic and complex operations close to reality. A large-scale pharmacy-based system has been developed with real machine configurations that consider the mixture of prescriptions. The simulated system has been evaluated from RDS and downstream performance aspects. Case studies with and without the priority-based replenishment policy are compared with the performance indicators. Compared to the Case 1 model with the default “Low-Medium-High” priority strategy, the proposed priority strategy in Case 2 model is a strong performer in eliminating the rundry errors during the refilling process. The proposed system can perform close to the reference model without any inventory shortage and replenishment, which has proven that the consumption rate and current inventory level play an important role in optimizing the refilling sequence.
One limitation is that the current simulation model in the paper cannot provide the optimal settings, like the optimal number of canisters and operators. The simulation-based optimization framework can be expanded to determine the proper level of parameters and configurable parameters to optimize the system performance. Besides, the entire CFPS performance has not been checked with the change of replenishment policy. In addition, the practical happenings, such as the cart operator routing way, unforeseen downtime of RDS, and the scheduled maintenance, have not been considered in the paper. Future work of this research will focus on the potential ways to improve the system’s performance. With current resources and configurations, the priority strategy and different operation strategies can be optimized further regarding the entire CFPS performance improvement. The estimated future demand with statistical information can be considered as one of the indicators in the priority strategy. Besides, the cart operator’s travel distance and pick-up way can be optimized as a strategy. The resources and configurable settings can also be optimized to give better reasonable suggestions while considering costs. Additionally, more NDC information can be gathered from actual prescriptions in the CFPS to generate the demand distribution.
Acknowledgements
This study was supported by the Watson Institute of Systems Excellence (WISE) at Binghamton University.
Appendix
Algorithm 1.
Pseudocodes for the simulation model. Each procedure runs in parallel with the specified number of instances of each one. The three replenishment worker procedures respond to the changes in the shared data structures, Cn and fillQueue.
Declarations
Conflict of Interests
The authors declare that there is no conflict of financial interest.
Footnotes
Publisher’s note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Contributor Information
Nieqing Cao, Email: ncao1@binghamton.edu.
Austin Marcus, Email: amarcus6@binghamton.edu.
Lubna Altarawneh, Email: ltarawn1@binghamton.edu.
Soongeol Kwon, Email: sg.kwon@yonsei.ac.kr.
References
- 1.Alexander GC, Qato DM. Ensuring access to medications in the us during the covid-19 pandemic. Jama. 2020;324(1):31–32. doi: 10.1001/jama.2020.6016. [DOI] [PubMed] [Google Scholar]
- 2.Herzik KA, Bethishou L. The impact of covid-19 on pharmacy transitions of care services. Res Soc Adm Pharm. 2021;17(1):1908–1912. doi: 10.1016/j.sapharm.2020.10.017. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 3.Shaya FT, Eddington ND (2020) Disruptive innovation in pharmacy: Lessons from the amazon frontier. In: JAMA health forum, vol 1. American Medical Association, pp e200,038–e200,038 [DOI] [PubMed]
- 4.Research BCC (2019) Pharmacy automation: Technologies and global markets https://www.bccresearch.com/
- 5.Gebhart F. The future of pharmacy automation. Drug Top. 2019;163(7):18–22. [Google Scholar]
- 6.Sng Y, Ong CK, Lai YF. Approaches to outpatient pharmacy automation: a systematic review. Eur J Hosp Pharm. 2019;26(3):157–162. doi: 10.1136/ejhpharm-2017-001424. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 7.Rodriguez-Gonzalez CG, Herranz-Alonso A, Escudero-Vilaplana V, Ais-Larisgoitia MA, Iglesias-Peinado I, Sanjurjo-Saez M. Robotic dispensing improves patient safety, inventory management, and staff satisfaction in an outpatient hospital pharmacy. J Eval Clin Pract. 2019;25(1):28–35. doi: 10.1111/jep.13014. [DOI] [PubMed] [Google Scholar]
- 8.Wang H, Yoon SW (2016) Drug dispenser replenishment optimization via mixed integer programming in central fill pharmacy systems. In: Industrial and systems engineering research conference
- 9.Dauod H, Li D, Yoon SW, Srihari K. Multi-objective optimization of the order scheduling problem in mail-order pharmacy automation systems. Int J Adv Manuf Technol. 2018;99(1):73–83. doi: 10.1007/s00170-016-9123-1. [DOI] [Google Scholar]
- 10.Lupi KE, Day KM, Gilmore JF, DeGrado JR. Evaluation of a clinical pharmacist-led automated dispensing cabinet stewardship program at a tertiary academic medical center. J Pharm Pract. 2020;33(5):576–579. doi: 10.1177/0897190018823471. [DOI] [PubMed] [Google Scholar]
- 11.Rossmann J, Schluse M, Schlette C, Waspe R (2012) Control by 3d simulation–a new erobotics approach to control design in automation. In: International conference on intelligent robotics and applications, Springer, pp 186–197
- 12.Yang K, Jie J (2011) The designing of training simulation system based on unity 3d. In: 2011 Fourth international conference on intelligent computation technology and automation, vol 1. IEEE, pp 976–978
- 13.Khader N, Lashier A, Yoon SW. Pharmacy robotic dispensing and planogram analysis using association rule mining with prescription data. Expert Syst Appl. 2016;57:296–310. doi: 10.1016/j.eswa.2016.02.045. [DOI] [Google Scholar]
- 14.Wang H, Dauod H, Khader N, Yoon SW, Srihari K. Multi-objective parallel robotic dispensing planogram optimisation using association rule mining and evolutionary algorithms. Int J Comput Integr Manuf. 2018;31(8):799–814. doi: 10.1080/0951192X.2018.1471219. [DOI] [Google Scholar]
- 15.Wang H, Yoon SW (2014) Evaluation and optimization of automatic drug dispensing/filling system. In: Proceedings of the 3rd annual world conference of the society for industrial and systems engineering
- 16.Li Y, Zhang Q, Yoon SW (2019) Discrete event simulation-based collation system analysis in mail-order pharmacy automation system. In: IIE Annual conference, proceedings institute of industrial and systems engineers (IISE), pp 828–833
- 17.Dauod H, Wang H, Khader N, Yoon SW, Srihari K. Real-time dispenser replenishment optimization based on receding horizon control. Procedia Manufacturing. 2017;11:1782–1789. doi: 10.1016/j.promfg.2017.07.313. [DOI] [Google Scholar]
- 18.Serhan D, Dauod H, Yoon SW (2018) Sequential modeling and optimization for resources in mail-order pharmacy automation systems. In: IIE Annual conference, proceedings institute of industrial and systems engineers (IISE), pp 1223– 1228
- 19.Dauod H, Serhan D, Wang H, Khader N, Yoon SW, Srihari K. Robust receding horizon control strategy for replenishment planning of pharmacy robotic dispensing systems. Robot Comput Integr Manuf. 2019;59:177–188. doi: 10.1016/j.rcim.2019.04.001. [DOI] [Google Scholar]
- 20.O’Connor R, Yoon SW, Kwon S. Analysis and optimization of replenishment process for robotic dispensing system in a central fill pharmacy. Comput Ind Eng. 2021;154(107):116. [Google Scholar]
- 21.Wang H, Serhan DM, Yoon SW, Lashier A (2016) Collation delay optimization using discrete event simulation in mail-order pharmacy automation systems. In: Proceedings of the 2016 industrial and systems engineering research conference
- 22.Rockwell Automation lnc (2022) Emulate3d by rockwell automation https://www.demo3d.com/
- 23.Monks T, Currie CS, Onggo BS, Robinson S, Kunc M, Taylor SJ. Strengthening the reporting of empirical simulation studies: Introducing the stress guidelines. J Simul. 2019;13(1):55–67. doi: 10.1080/17477778.2018.1442155. [DOI] [Google Scholar]








