Systems and Methods for Identifying Suspicious Orders
Various embodiments of the present invention generally relate to systems and methods for identifying suspicious orders for controlled substances based on performing checks on a received order using historical information on previous orders. According to various embodiments, these checks may include: (1) comparing the order quantity for the received order with the order quantity history for the customer who placed the order for the controlled substance; (2) comparing the order quantity and the days since the last order was shipped to the customer for the same controlled substance with the order quantity history and the days between orders for the particular customer and controlled substance; (3) comparing the order quantity with order quantity history for orders received by customers of the same type for the controlled substance; and (4) comparing the order quantity with order quantity history for any customer for the particular controlled substance.
This application is a continuation application of and claims priority to and the benefit of U.S. application Ser. No. 16/443,667 filed Jun. 17,2019, which is a continuation of U.S. application Ser. No. 13/737,489 filed Jan. 9, 2013, which is a continuation of U.S. application Ser. No. 12/729,543, filed Mar. 23, 2010, the entire contents of each of the foregoing applications being hereby incorporated by reference herein.
BACKGROUND OF THE INVENTION Field of the InventionVarious embodiments of the disclosed invention generally relate to systems and methods for identifying suspicious orders for controlled substances, and more specifically, to systems and methods for identifying suspicious orders for controlled substances based on performing checks on a received order using historical information on previous orders.
Description of the Related ArtIn the United States, distributors of controlled substances are required to be registered by the Drug Enforcement Administration (DEA). A controlled substance is generally understood to be a drug or chemical substance whose possession and use are regulated under the United States' Controlled Substances Act, such as, for instance, many prescription medications and narcotic drugs. Under federal regulations, a distributor must design and operate a system to disclose suspicious orders of controlled substances. Suspicious orders may include orders of unusual size, orders deviating substantially from a normal pattern, and orders of unusual frequency. Failure to do so may result in fines and/or loss of privilege to ship such substances.
Typically, drug distributors institute a simple, threshold-based calculation to determine suspicious orders. For example, a customer may be assigned a monthly threshold for each family of controlled substances and if the customer attempts to place an order that exceeds its monthly threshold, the order is flagged as suspicious.
However, this threshold approach simply sets a number (e.g., threshold) based on various factors and does not automatically adjust over time as more orders are received from customers. Further, this threshold approach does not consider other customers who may be placing orders for controlled substances within the same family. As a result, a customer's threshold may not be as accurate with regard to a “typical” customer who places orders for controlled substances in the same family. In addition, a customer threshold may become outdated (e.g., “stale”) over time and not representative of what should be used to flag suspicious orders. As a consequence, the distributor's system may miss orders that should be flagged as suspicious and this may leave the distributor open to possible fines and/or loss of privilege to distribute such substances. Therefore, a need exists for an improved system and method for identifying suspicious orders for a customer in which the system and method automatically account for historical order information for the customer as well as historical order information for other customers.
BRIEF SUMMARY OF VARIOUS EMBODIMENTS OF THE INVENTIONA system for identifying suspicious orders received for controlled substances according to various embodiments includes memory and one or more processors. In particular embodiments, the one or more processors are collectively configured to: (1) receive an order for a controlled substance from a customer, the order including an order quantity, an order date, a customer identifier identifying the customer, a customer type identifier identifying a type of customer, and a substance identifier identifying the controlled substance; (2) query historical orders from the memory including a historical substance identifier that matches the substance identifier, each historical order including a historical quantity, a ship date identifying the date the order was shipped, a historical customer identifier identifying a customer who placed the order, and a historical customer type identifier identifying the type of customer; (3) apply checks to the order; and (4) in response to the order being marked as suspicious, store information associated with the order in the memory to facilitate further investigation.
Further, in various embodiments, the checks include: (1) determining whether the order quantity is greater than a first upper control limit value, the first upper control limit value being derived from the historical quantities for a first subset of the historical orders, the first subset of the historical orders including the historical orders with the historical customer identifiers that match the customer identifier, and in response to the order quantity being greater than the first upper control limit value, marking the order as suspicious; (2) calculating a period of time between the order date for the order and the ship date for a previous consecutive historical order from the historical orders with the historical customer identifier that matches the customer identifier, determining whether the order quantity is greater than a second upper control limit value, the second upper control limit value being derived from the period of time and the historical quantities for a second subset of the historical orders, the second subset of the historical orders including the historical orders with the historical customer identifiers that match the customer identifier, and in response to the order quantity being greater than the second upper control limit value, marking the order as suspicious; (3) determining whether the order quantity is greater than a first threshold value, the first threshold value being derived from the historical quantities for a third subset of the historical orders, the third subset of the historical orders including the historical orders with the historical customer type identifiers that match the customer type identifier, and in response to the order quantity being greater than the first threshold value, marking the order as suspicious; and (4) determining whether the order quantity is greater than a second threshold value, the second threshold value being derived from the historical quantities of the historical orders, and in response to the order quantity being greater than the second threshold value, marking the order as suspicious.
In particular embodiments, the one or more processors are further collectively configured to prevent the order from being processed in response to the order being marked as suspicious. In addition, in particular embodiments, the one or more processors are further collectively configured to display a result of the checks on a display device in communication with the processor in response to the order being marked as suspicious.
In various embodiments, the first upper control limit is derived from an exponentially-weighted moving average control chart based on the historical quantities for the first subset of the historical orders sorted by the ship date. Further, in particular embodiments, the second upper control limit is derived from the period of time and a control chart based on the formula Q=D*N and the historical quantities for the second subset. In these particular embodiments, Q is a replenishment order quantity, D is an average daily ship quantity, and N is a period of time since a previous consecutive historical order with the historical customer identifier that matches the customer identifier was shipped. In these particular embodiments, the y-axis of the control chart includes values corresponding to D, and the x-axis of the control chart includes values corresponding to N. In addition, in various embodiments, the substance identifier is a Drug Enforcement Administration (DEA) drug code, the customer identifier is a Drug Enforcement Administration (DEA) customer identifier, and/or the customer type is defined by Drug Enforcement Administration (DEA) registration.
A computer-implemented method for identifying suspicious orders received for controlled substances according to various embodiments includes the steps of: (1) receiving an order for a controlled substance from a customer, the order including an order quantity, an order date, a customer identifier identifying the customer, a customer type identifier identifying a type of customer, and a substance identifier identifying the controlled substance; (2) querying historical orders from memory including a historical substance identifier that matches the substance identifier, each historical order including a historical quantity, a ship date identifying the date the order was shipped, a historical customer identifier identifying a customer who placed the order, and a historical customer type identifier identifying the type of customer; (3) applying checks to the order via a computer device; and (4) in response to the order being marked as suspicious, storing information associated with the order in the memory to facilitate further investigation.
In particular embodiments, the checks include: (1) the computer device determining whether the order quantity is greater than a first upper control limit value, the first upper control limit value being derived from the historical quantities for a first subset of the historical orders, the first subset of the historical orders including the historical orders with the historical customer identifiers that match the customer identifier, and in response to the order quantity being greater than the first upper control limit value, marking the order as suspicious; (2) the computer device calculating a period of time between the order date for the order and the ship date for a previous consecutive historical order from the historical orders with the historical customer identifier that matches the customer identifier, determining whether the order quantity is greater than a second upper control limit value, the second upper control limit value being derived from the period of time and the historical quantities for a second subset of the historical orders, the second subset of the historical orders including the historical orders with the historical customer identifiers that match the customer identifier, and in response to the order quantity being greater than the second upper control limit value, marking the order as suspicious; (3) the computer device determining whether the order quantity is greater than a first threshold value, the first threshold value being derived from the historical quantities for a third subset of the historical orders, the third subset of the historical orders including the historical orders with the historical customer type identifiers that match the customer type identifier, and in response to the order quantity being greater than the first threshold value, marking the order as suspicious; and (4) the computer device determining whether the order quantity is greater than a second threshold value, the second threshold value is derived from the historical quantities of the historical orders, and in response to the order quantity being greater than the second threshold value, marking the order as suspicious.
Finally, A computer-readable medium according to various embodiments includes code executable by a processor to: (1) receive an order for a controlled substance from a customer, the order including an order quantity, an order date, a customer identifier identifying the customer, a customer type identifier identifying a type of customer, and a substance identifier identifying the controlled substance; (2) query historical orders including a historical substance identifier that matches the substance identifier, each historical order including a historical quantity, a ship date identifying the date the order was shipped, a historical customer identifier identifying a customer who placed the order, and a historical customer type identifier identifying the type of customer; (3) apply checks to the order; and (4) in response to the order being marked as suspicious, store information associated with the order in the memory to facilitate further investigation.
In particular embodiments, the checks include: (1) determining whether the order quantity is greater than a first upper control limit value, the first upper control limit value being derived from the historical quantities for a first subset of the historical orders, the first subset of the historical orders including the historical orders with the historical customer identifiers that match the customer identifier, and in response to the order quantity being greater than the first upper control limit value, marking the order as suspicious; (2) calculating a period of time between the order date for the order and the ship date for a previous consecutive historical order from the historical orders with the historical customer identifier that matches the customer identifier, determining whether the order quantity is greater than a second upper control limit value, the second upper control limit value being derived from the period of time and the historical quantities for a second subset of the historical orders, the second subset of the historical orders including the historical orders with the historical customer identifiers that match the customer identifier, and in response to the order quantity being greater than the second upper control limit value, marking the order as suspicious; (3) determining whether the order quantity is greater than a first threshold value, the first threshold value being derived from the historical quantities for a third subset of the historical orders, the third subset of the historical orders including the historical orders with the historical customer type identifiers that match the customer type identifier, and in response to the order quantity being greater than the first threshold value, marking the order as suspicious; and (4) determining whether the order quantity is greater than a second threshold value, the second threshold value is derived from the historical quantities of the historical orders, and in response to the order quantity being greater than the second threshold value, marking the order as suspicious.
Having thus described the invention in general terms, reference will now be made to the accompanying drawings, which are not necessarily drawn to scale, and wherein:
Various embodiments of the present invention will now be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all embodiments of the inventions are shown. Indeed, these inventions may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will satisfy applicable legal requirements. The term “or” is used herein in both the alternative and conjunctive sense, unless otherwise indicated. Like numbers refer to like elements throughout.
I. Methods, Apparatus, Systems, and Computer Program ProductsAs should be appreciated, the embodiments may be implemented in various ways, including as methods, apparatus, systems, or computer program products. Accordingly, the embodiments may take the form of an entirely hardware embodiment or an embodiment in which a processor is programmed to perform certain steps. Furthermore, the various implementations may take the form of a computer program product on a computer-readable storage medium having computer-readable program instructions embodied in the storage medium. Any suitable computer-readable storage medium may be utilized including hard disks, CD-ROMs, optical storage devices, or magnetic storage devices.
Particular embodiments are described below with reference to block diagrams and flowchart illustrations of methods, apparatus, systems, and computer program products. It should be understood that each block of the block diagrams and flowchart illustrations, respectively, may be implemented in part by computer program instructions, e.g., as logical steps or operations executing on a processor in a computing system. These computer program instructions may be loaded onto a computer, such as a special purpose computer or other programmable data processing apparatus to produce a specifically-configured machine, such that the instructions which execute on the computer or other programmable data processing apparatus implement the functions specified in the flowchart block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including computer-readable instructions for implementing the functionality specified in the flowchart block or blocks. The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions that execute on the computer or other programmable apparatus provide operations for implementing the functions specified in the flowchart block or blocks.
Accordingly, blocks of the block diagrams and flowchart illustrations support various combinations for performing the specified functions, combinations of operations for performing the specified functions and program instructions for performing the specified functions. It should also be understood that each block of the block diagrams and flowchart illustrations, and combinations of blocks in the block diagrams and flowchart illustrations, can be implemented by special purpose hardware-based computer systems that perform the specified functions or operations, or combinations of special purpose hardware and computer instructions.
II. Exemplary System ArchitectureIn
In various embodiments, the web server 104 provides web services to various customers who may place orders for controlled substances as well as users who review information on orders to determine whether the orders have been identified as suspicious. For instance, the web server 104 delivers web pages to browsers as well as other data files to web-based applications. Thus, in various embodiments, the web server 104 includes the hardware, operating system, web server software, TCP/IP protocols, and site content (web pages, images and other files). Thus, in various embodiments, a customer may access one or more web pages delivered by the web server 104 and may place an order for a controlled substance with the system 100. Further, in various embodiments, a user may access one or more web pages to review information on orders that have been reviewed to determine whether the orders are suspicious.
In the embodiment displayed in
Further, in various embodiments, the application server 103 includes applications that are used to provide functionality within the system 100. For instance, in one embodiment, the application server 103 includes a check module. In this particular embodiment, the check module provides functionality to identify suspicious orders placed for controlled substances. In addition, these servers 101, 103, 104 and storage media 102 may also be in electronic communication with one another within the system 100. For instance, these servers 101, 103, 104 and storage media 102 may be in communication over the same or different wireless or wired networks 105 including, for example, a wired or wireless Personal Area Network (“PAN”), Local Area Network (“LAN”), Metropolitan Area Network (“MAN”), Wide Area Network (“WAN”), the Internet, or the like. Finally, while
In addition, in one embodiment, the application server 103 includes at least one storage device 268, such as a hard disk drive, a CD drive, and/or an optical disk drive for storing information on various computer-readable media. The storage device(s) 268 and its associated computer-readable media may provide nonvolatile storage. The computer-readable media described above could be replaced by any other type of computer-readable media, such as embedded or removable multimedia memory cards (“MNICs”), secure digital (“SD”) memory cards, Memory Sticks, electrically erasable programmable read-only memory (“EEPROM”), flash memory, hard disk, or the like. Additionally, each of these storage devices 268 may be connected to the system bus 261 by an appropriate interface.
Furthermore, a number of program modules (e.g., set of computer program instructions) may be stored by the various storage devices 268 and/or within RAM 267. Such program modules may include an operating system 280 and a check module 300. This module 300 may control certain aspects of the operation of the application server 103 with the assistance of the processor 205 and operating system 280, although its functionality need not be modularized.
Also located within the application server 103, in one embodiment, is a network interface 274 for interfacing with various computing entities, such as the web server 104, database server 101, and/or storage media 102. This communication may be via the same or different wired or wireless networks (or a combination of wired and wireless networks), as discussed above. For instance, the communication may be executed using a wired data transmission protocol, such as fiber distributed data interface (“FDDI”), digital subscriber line (“DSL”), Ethernet, asynchronous transfer mode (“ATM”), frame relay, data over cable service interface specification (“DOCSIS”), or any other wired transmission protocol. Similarly, the application server 103 may be configured to communicate via wireless external communication networks using any of a variety of protocols, such as 802.11, general packet radio service (“GPRS”), wideband code division multiple access (“W-CDMA”), or any other wireless protocol.
It will be appreciated that one or more of the application server's 103 components may be located remotely from other application server 103 components. Furthermore, one or more of the components may be combined and additional components performing functions described herein may be included in the application server 103.
b. Additional Exemplary System ComponentsThe database server 101 and the web server 104 may each include components and functionality similar to that of the application server 103. For example, in one embodiment, each of these entities may include: (1) a processor that communicates with other elements via a system interface or bus; (2) a display device/input device; (3) memory including both ROM and RAM; (4) a storage device; and (5) a network interface. Thus, these architectures are provided for exemplary purposes only and are not limiting to the various embodiments. The terms “computing device” and “computer device” are used generically to refer to any computer, computing device, desktop, notebook or laptop, distributed system, server, gateway, switch, or other processing device adapted to perform the functions described herein.
III. Exemplary System OperationAs noted above, various embodiments of the present invention provide systems and methods for identifying suspicious orders for controlled substances. Reference will now be made to
As previously discussed, in various embodiments, the application server 103 may include a check module 300 that is adapted to perform checks on an order received for a controlled substance to determine whether the order should be identified as suspicious. As previously described, a distributor may receive the order for the controlled substance in various ways according to embodiments. For instance, in one embodiment, the distributor's system 100 may be in direct communication with the customer's system. For example, the customer may send the distributor an email or the customer's system and the distributor's system 100 may exchange information via electronic data exchange (EDI) over a closed network.
In another embodiment, the customer may enter the order on a web site. In this particular embodiment, the customer visits the web site over the Internet 107 and enters the order via one or more web pages. That is, in various embodiments, a web server 104 located within the distributor's system 100 provides an interface (e.g., one or more web pages) that is configured to allow the customer to enter the order for a controlled substance.
The customer placing the order may provide several pieces of information according to embodiments. For example, the customer may provide an identifier for the controlled substance, such as a Drug Enforcement Administration (DEA) drug code. The customer may provide an identifier that identifies the customer, such as a DEA customer identifier. Further, the customer may provide the order quantity for the controlled substance, the date of placing the order, and other related information such as the customer's shipping address. One of ordinary skill in the art can envision several pieces of information the customer may provide with the order in light of this disclosure.
As a result, the order is received within the distributor's system 100 and the system 100 begins to process the order for fulfillment. In various embodiments, the distributor's system 100 engages the check module 300 to perform checks on the order to determine whether the order should be identified as suspicious. Thus, in particular embodiments, the distributor's system 100 passes the order to the check module 300 residing on the application server 103 depicted in
Accordingly,
Thus, in Step 305, the check module 300 receives the order and associated information. In Step 310, the check module 300 queries historical information on previous orders for the controlled substance. For instance, in one embodiment, the distributor's system 100 includes storage media 102 that may include one or more databases that stores information on previous orders placed for controlled substances. Therefore, in this embodiment, the check module 300 queries the information from these databases using various information received with the order as search parameters. For example, the check module 300 queries the shipped date, the sum of the shipped quantities shipped for the date, and the number of shipments for the date based on the controlled substance (e.g., based on the identifier for the controlled substance). Further, in various embodiments, the records may be grouped according to ship date, customer, and/or customer type. In this example, the query may aggregate all of the multiple daily shipments for the controlled substance into one single daily shipped quantity.
In various embodiments, the historical information on previous orders is stored in real-time. The reason for this is because in certain instances the distributor may ship a controlled substance for a particular order to a customer on a given day and may ship and/or receive another order for the same controlled substance on the same day. Therefore, the historical information must be up-to-date so that the aggregate order quantity is accurate.
Once the check module 300 has queried all of the information, in Step 315, the check module 300 applies the first check to the order. As is described in further detail below, in various embodiments, the first check involves the check module 300 comparing the order quantity for the order received by the customer with the order quantity history for the customer for the particular controlled substance. If the check module 300 determines the order fails the first check, the check module 300 sets a suspicious order indicator for the order. For instance, in one embodiment, the check module 300 sets the suspicious order indicator to “Y” as a result of the order failing the first check.
Likewise, in Step 320, the check module 300 applies the second check to the order. In various embodiments, the second check involves the check module 300 comparing the order quantity for the order received by the customer and the days since the last order was shipped to the customer for the same controlled substance with the order quantity history and the days between orders for the particular customer and controlled substance. It should be appreciated that the period of time may be measured in different units besides days for various embodiments. For instance, in other embodiments, the check module 300 may compare the number of hours, minutes, or months since the last order was shipped to the customer for the same controlled sub stance.
If the check module 300 determines the order fails the second check, the check module 300 sets a suspicious order indicator similar to the instance in which the order fails the first check. In one embodiment, the check module 300 sets the same suspicious order indicator as in the case of the first check. However, in another embodiment, the check module 300 sets a different suspicious order indicator. In this particular embodiment, each check has an independent suspicious order indicator that is set as a result of the check module 300 determining that the order fails the particular check. Accordingly, the distributor is able to determine from the individual suspicious order indicators which checks a particular order has failed.
In Step 325, the check module 300 applies the third check to the order. In various embodiments, the third check involves the check module 300 comparing the order quantity for the order received by the customer with order quantity history for orders received by customers of the same type for the controlled substance. In particular embodiments, the customer type for a customer is identified by the DEA registration for the customer. If the check module 300 determines the order fails the third check, the check module 300 sets a suspicious order indicator. As previous described, the suspicious order indicator may be the same indicator associated with the first and second checks or the indicator may be independent and associated only with the third check.
In Step 330, the check module 300 applies the fourth check to the order. In various embodiments, the fourth check involves the check module 300 comparing the order quantity for the order received by the customer with order quantity history for any customer for the particular controlled substance. If the check module 300 determines the order fails the fourth check, the check module 300 sets a suspicious order indicator. As previously described, the suspicious order indicator may be the same indicator associated with the first, second, and third checks or the indicator may be independent and associated only with the fourth check.
Once the check module 300 has performed the four checks, in Step 335, the check module 300 determines whether the order should be identified as suspicious. In various embodiments, this involves the check module 300 evaluating the suspicious order indicator(s). Thus, in Step 340, if the check module 300 determines that the lone indicator or one or more of the individual indicators have been set as a result of the order failing a particular check, the check module 300 stores information indicating that the order has been identified as suspicious in memory.
For instance, in one embodiment, the check module 300 simply stores information on the order in local memory residing in the application server 103 depicted in
Further, the information stored by the check module 300 may include different types of information according to various embodiments. For instance, in one embodiment, the check module 300 simply stores the suspicious order indicator(s). While in another embodiment, as described below, the check module 300 stores information in addition to the suspicious order indicator(s) related to the check(s) performed by the check module 300.
It should be noted that in various embodiments the check module 300 may be configured to determine whether the order has failed a particular check immediately after the check has been performed. That is, in these particular embodiments, the check module 300 may be configured to determine whether the order has failed the first check immediately after performing the first check and before performing the second check. If the order has failed the first check and the order has been identified as suspicious, the check module 300 may be configured to stored information on the suspicious order and not perform the remaining checks (e.g., the second, third, and fourth checks). The check module 300 may be configured to perform the second, third, and fourth check in the same way. As a result, in various embodiments, the check module 300 may execute more quickly than in instances in which the check module 300 is configured to perform all four checks regardless of whether the order fails one of the checks.
Provided below is more detail on how the check module 300 performs the four checks according to various embodiments of the invention. The additional detail is provided along with an example to better demonstrate the check module 300 performing these checks. Thus, the example is provided for illustrative purposes only and should not be construed to limit the scope of the invention.
b. First CheckAs described above, in various embodiments, the check module 300 is configured to apply a first check to the order received by the customer to determine whether the order should be identified as suspicious. In particular embodiments, this may entail the check module 300 comparing the order quantity for the order received by the customer with the order quantity history for the customer for the particular controlled substance. Accordingly,
For example, a customer enters an order for four-hundred (400) units of the muscle relaxant Clonazepam. In the order, the Clonazepam is identified by its DEA drug code of 2737 and the customer is identified by its DEA identifier of ZZ12345678. Further, the order identifies a date of Jul. 7, 2009 as the order date.
As previous mentioned, the check module 300 receives the information on the order and queries the historical information on previous orders based on one or more parameters identified in the order information. For instance, in the example, the check module 300 queries the historical information to retrieve a sum of the shipped quantity and the number of shipments for each ship date wherein the queried records are based on the DEA drug code for each record being 2737 (e.g., Clonazepam) and the customer identifier being ZZ12345678. Thus, the check module 300 queries the order quantity history for orders of Clonazepam received from and shipped to the customer.
It should be noted that the unit of measure for quantity may vary from order to order in particular embodiments. For instance, the unit of measure for quantity may be each (EA), grams (GM), and/or milliliter (ML). Therefore, in these particular embodiments, the unit of measure may also be used as a parameter in querying records from the historical information.
Once the check module 300 has queried the historical information, the check module 300 performs the first check. In various embodiments, the check module 300 makes use of one or more control charts for this check (e.g., data associated with control charts). A control chart is a tool used in statistical quality control to determine if a process is operating within a specified range, or is “in control.” In this case, “in control” implies that the order quantity is typical when compared to past orders. In particular embodiments, the check module 300 is configured to plot the order quantity by order date and use an exponentially-weighted moving average (EWMA) chart to determine whether the order quantity stays within confidence limits based on past order history. The EWMA chart is used in these particular embodiments because the chart can adapt to small and gradual drifts in the order quantity but identify large and quick changes.
Further, in various embodiments, two parameters are defined prior to the check module 300 creating the EWMA control chart. The first parameter is an update parameter. In various embodiments, this parameter is set to a value between zero (0) and one (1) and indicates how much weight is given to the current value and how much weight is given to the previous EWMA. Values closer to one (1) direct the algorithm to weight the current order quantity more heavily and give less weight to older orders, causing the EWMA to adapt more quickly to changes. In particular embodiments, a default value of 0.4 is used.
The second parameter is a sigma multiplier for an upper control limit. This parameter controls the confidence level of the chart. A default value of 3.0 indicates that the control limit should be set such that 99.7% of the order quantities following a normal distribution will be within the limit. Lowering the value to 1.96 will reduce the percentage to 95%. Thus, in various embodiments, the tradeoff of lowering the value is identifying more “false positives” versus possibly missing a suspicious order with a higher value of sigma.
Therefore, in various embodiments, the check module 300 calculates the EWMA chart based on the historical order quantities and the order quantity for the order received by the customer, shown as Step 405. In particular embodiments, the EWMA chart is sorted by shipped date. In addition, in particular embodiments, the check module 300 calculates the standard deviation and determines the upper control limit (UCL) for the EWMA chart.
Thus, in Step 410, the check module 300 compares the EWMA value for the order quantity for the order received from the customer with the upper control limit. In Step 415, the check module 300 determines whether the EWMA value for the order quantity is greater than the upper control limit. If the check module 300 determines the EWMA value for the order quantity is greater than the upper control limit, the check module 300 sets the suspicious order indicator for the order, shown as Step 420.
Therefore, returning to the example, the check module 300 calculates the EWMA chart for the historical order quantities and the order quantity for the order received by the customer and determines that the upper control limit for the chart is 159.8 units. The chart is shown in
Further, in various embodiments, the check module 300 is configured to apply a second check to the order received by the customer to determine whether the order should be identified as suspicious. In particular embodiments, this may entail the check module 300 comparing the order quantity for the order received by the customer and the days since the last order was shipped to the customer for the same controlled substance with the order quantity history and the days between orders for the particular customer and controlled substance. Accordingly,
In various embodiments, the check module 300 factors in a period of time (e.g., number of days) since the last order was shipped for the controlled substance and the order quantity on the last order to determine an order rate that is typical and then compares the order with respect to the order rate. For instance, in one embodiment, the check module 300 uses the equation Q=D*N to define a line in which replenishment orders received from the customer for the controlled substance should fall close to. (In the equation Q=D*N, Q is the replenishment order quantity, D is the average daily ship rate (e.g., the average daily ship quantity), and N is the time period (e.g., number of days) since the last replenishment order was placed.) With the use of this equation, the variability is expected to increase as the time period between orders gets larger in various embodiments. As a result, the upper control limit for a control chart based on the equation is a function of both quantity and time.
Thus, in Step 605, the check module 300 calculates a control chart based on the queried historical information on previous orders received from the customer for the controlled substance. For instance, in one particular embodiment, the control chart includes an x-axis of time period between consecutive orders (e.g., number of days between consecutive orders) and a y-axis of daily shipped quantity.
Further, in Step 610, the check module 300 calculates the period of time since the last order was shipped for the customer for the controlled substance. The check module 300 then compares the order quantity to the upper control limit for the corresponding time period on the x-axis of the control chart, shown as Step 615. In Step 620, the check module 300 determines whether the order quantity is greater than the upper control limit that corresponds to the calculated period of time. If the check module 300 determines that the order quantity is greater than the upper control limit, the check module 300 sets the suspicious order indicator for the order, shown as Step 625.
Thus, returning to the example, the check module 300 calculates the control chart depicted in
As previously mentioned, in various embodiments, the check module 300 is also configured to apply a third check to the order received by the customer to determine whether the order should be identified as suspicious. In particular embodiments, this may entail the check module 300 comparing the order quantity for the order received by the customer with order quantity history for orders received by customers of the same type for the controlled substance. Accordingly,
As mentioned, in various embodiments, the check module 300 queries historical information of previous orders for the controlled substance. Further, as mentioned, in various embodiments, the queried record may be grouped by customer type. In particular embodiments, the customer type may be the customer type assigned by the DEA. Thus, in these particular embodiments, the check module 300 retrieves the records from the historical information with the same identifier for the controlled substance and the same customer type as the customer who placed the order. That is, the check module 300 may retrieve the records from the records originally queried from the historical information (e.g., a subset of the queried records) or the check module 300 may query the historical information directly for the records.
In Step 805, the check module 300 begins the process for applying the third check by calculating a threshold value based on the queried historical information to compare to the order quantity received on the order for the controlled substance. For instance, in various embodiments, the check module 300 simply sets the threshold value to a percentage of the historical order quantities that the order quantity for the order received must fall under. For example, the threshold value may be set to 95% and therefore the order quantity must be within the order quantities of 95% of the historical orders received and shipped for the controlled substance for the customer type. Yet, in other embodiments, the check module 300 calculates a threshold value based on using either a common or a specialized probability distribution model for the historical quantities for the customer type. For example, the check module 300 uses a normal distribution and sets the threshold value to the ninety-fifth percentile (e.g., two standard deviations of the mean).
Following the calculation, the check module 300 compares the order quantity on the order received from the customer with the threshold value, in Step 810. In Step 815, the check module 300 determines whether the order quantity is greater than the threshold value. In Step 820, if the check module 300 determines the order quantity is greater than the threshold value, the check module 300 sets the suspicious order indicator for the order.
Thus, returning to the example, the customer type for the customer who has placed the order is “Retail Pharmacy.” The check module 300 retrieves four-hundred and fifty-nine records for historical orders shipped for the controlled substance Clonazepam to customers with the customer type of “Retail Pharmacy.” The check module 300 sets the threshold value to 95%, evaluates the historical order quantities for Clonazepam, and determines the order quantity received for the order by the customer of 400 is higher than 98% of the historical order quantities for customers of the same type. As a result, the check module 300 sets the suspicious order indicator for the order.
d. Fourth CheckFurther, in various embodiments, the check module 300 is configured to apply a fourth check to the order received by the customer to determine whether the order should be identified as suspicious. In particular embodiments, this may entail the check module 300 comparing the order quantity for the order received by the customer with order quantity history for any customer for the particular controlled substance. Thus, the check module 300 basically performs the same steps as the third check with a different set of retrieved historical records. In this particular instance, the check module 300 does not limit the retrieved records to the same customer type as the customer who placed the order. The check module 300 retrieves records for all of the historical orders placed and shipped for the controlled substance.
Similar to the third check, the check module 300 sets a threshold value and determines whether the order quantity for the order received from the customer is greater than the threshold. In various embodiments, the check module 300 sets the threshold using similar mechanisms as described above with respect to the third check. Therefore, returning to the example, the check module 300 retrieves three-thousand nine-hundred and seventeen historical records for orders received and shipped for Clonazepam. The check module 300 sets the threshold value to 95%, evaluates the historical order quantities for Clonazepam, and determines the order quantity received for the order by the customer of 400 is higher than 86% of the historical order quantities for all customers. As a result, the check module 300 does not set the suspicious order indicator for the order.
III. Exemplary InterfacesAs previously described, in various embodiments, the check module 300 stores information, in addition to the suspicious order indicators, related to the checks performed by the check module 300. Further, in various embodiments, the distributor's system 100 may include an interface that displays the results of the checks. In particular embodiments, this interface may be provided by the check module 300 and is accessed via a user interacting directly with the check module 300. For example, a user may interact with the check module 300 over a network 105 within the distributor's system 100 and the check module 300 provides one or more screens that serve as an interface. While in other embodiments, the interface may be provided as one or more web pages via the web server 104. For instance, in these particular embodiments, the web server 104 may communication with the check module 300 residing on the application server 103 and/or the storage 102 over the network 105 and may provide one or more web pages to display information gathered from the check module 300 and/or storage 102 on the checks performed by the check module 300. Thus, a user logs onto a web site associated with the distributor via a browser on the user's computing device 108 and interacts with the interface via the one or more web pages.
Shown in
Many modifications and other embodiments of the inventions set forth herein will come to mind to one skilled in the art to which these inventions pertain having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Therefore, it is to be understood that the inventions are not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.
Claims
1. A distributor system comprising:
- memory; and
- one or more processors collectively configured to: receive, by the one or more processors executing a check module, an order for a controlled substance via a computing device associated with a customer, the order comprising: an order quantity, an order date, and a customer identifier identifying the customer; query, by the one or more processors executing the check module, historical orders from the memory, each historical order comprising: a ship date identifying a date the historical order was shipped, a historical customer identifier identifying a customer who placed the order, and a historical quantity, a first historical order including a historical customer identifier that matches the customer identifier; derive a first threshold via a control chart based on the formula Q=D*N, where Q comprises a replenishment order quantity, D comprises an average daily ship quantity, N comprises a period of time since the first historical order with the historical customer identifier that matches the customer identifier was shipped, where a y-axis of the control chart comprises values corresponding to D, and an x-axis of the control chart comprises values corresponding to N; and
- based at least in part on the control chart and the order quantity being greater than the first threshold, mark, by the one or more processors executing the check module, the order as suspicious.
2. The system of claim 1, wherein the order further includes a customer type identifier identifying a type of customer, and a substance identifier identifying the controlled substance, and wherein each historical order further includes a historical customer type identifier identifying the type of customer.
3. The system of claim 2, wherein the marking of the order as suspicious is further based on the order quantity being greater than a second threshold, wherein the second threshold is based on the historical quantities for a subset of the historical orders with the historical customer type identifier matching the customer type identifier.
4. The system of claim 3, wherein the marking of the order as suspicious is further based on the order quantity being greater than a third threshold, wherein the third threshold is based on the historical quantities of the historical orders.
5. The system of claim 4, wherein:
- a. the order is marked suspicious based on a fourth threshold; and
- b. the fourth threshold is derived from an exponentially-weighted moving average control chart based on the historical quantities for another subset of the historical orders sorted by the ship date, the fourth subset of the historical orders comprising the historical orders with the historical customer identifiers that match the customer identifier, wherein the exponentially-weighted moving average control chart is created based on an update parameter that indicates a first weight for a current value associated with an exponentially-weighted moving average and a second weight for a previous value associated with the exponentially-weighted moving average, and is created based on a sigma multiplier parameter for the fourth threshold that indicates a confidence level of the exponentially-weighted moving average control chart.
6. The system of claim 1, in response to the order being marked as suspicious, transmit information associated with the order to a user interface associated with an investigating computing device for further investigation.
7. The system of claim 6, wherein the transmitting of information associated with the order to a user interface associated with an investigating computing device for further investigation occurs to determine whether there is at least one of: a fine and a loss privilege to complete the order for the controlled substance.
8. The system of claim 1, wherein at least one of the substance identifier, the customer identifier, and a customer type is a Drug Enforcement Administration (DEA) customer identifier.
9. A computer-implemented method comprising:
- receiving, by one or more processors executing a check module, an order for a controlled substance via a computing device associated with a customer, the order comprising an order quantity, an order date, and a customer identifier identifying the customer;
- query, by the one or more processors executing the check module, historical orders from the memory, each historical order comprising a ship date identifying a date the historical order was shipped, a historical customer identifier identifying a customer who placed the order, and a historical quantity, a first historical order including a historical customer identifier that matches the customer identifier;
- deriving a first threshold via a control chart based on the formula Q=D*N, where Q comprises a replenishment order quantity, D comprises an average daily ship quantity, N comprises a period of time since the first historical order with the historical customer identifier that matches the customer identifier was shipped, where a y-axis of the control chart comprises values corresponding to D, and an x-axis of the control chart comprises values corresponding to N; and
- based at least in part on the control chart and the order quantity being greater than the first threshold, mark, by the one or more processors executing the check module, the order as suspicious.
10. The method of claim 9, wherein the order further includes a customer type identifier identifying a type of customer, and a substance identifier identifying the controlled substance, and wherein each historical order further includes a historical customer type identifier identifying the type of customer.
11. The method of claim 10, wherein the marking of the order as suspicious is further based on the order quantity being greater than a second threshold, wherein the second threshold is based on the historical quantities for a subset of the historical orders with the historical customer type identifier matching the customer type identifier.
12. The system of claim 11, wherein the marking of the order as suspicious is further based on the order quantity being greater than a third threshold, wherein the third threshold is based on the historical quantities of the historical orders.
13. The method of claim 12, wherein:
- c. the order is marked suspicious based on a fourth threshold; and
- d. the fourth threshold is derived from an exponentially-weighted moving average control chart based on the historical quantities for another subset of the historical orders sorted by the ship date, the fourth subset of the historical orders comprising the historical orders with the historical customer identifiers that match the customer identifier, wherein the exponentially-weighted moving average control chart is created based on an update parameter that indicates a first weight for a current value associated with an exponentially-weighted moving average and a second weight for a previous value associated with the exponentially-weighted moving average, and is created based on a sigma multiplier parameter for the fourth threshold that indicates a confidence level of the exponentially-weighted moving average control chart.
14. The method of claim 9, further comprising in response to the order being marked as suspicious, transmitting information associated with the order to a user interface associated with an investigating computing device for further investigation.
15. The method of claim 14, wherein the transmitting of information associated with the order to a user interface associated with an investigating computing device for further investigation occurs to determine whether there is at least one of: a fine and a loss privilege to complete the order for the controlled substance.
16. The method of claim 9, wherein at least one of the substance identifier, the customer identifier, and a customer type is a Drug Enforcement Administration (DEA) customer identifier.
17. A non-transitory computer-readable medium comprising code executable by one or more processors to:
- receive an order for a controlled substance via a computing device associated with a customer, the order comprising an order quantity, an order date, and a customer identifier identifying the customer;
- query historical orders from the memory, each historical order comprising a ship date identifying a date the historical order was shipped, a historical customer identifier identifying a customer who placed the order, and a historical quantity, a first historical order including a historical customer identifier that matches the customer identifier;
- derive a first threshold via a control chart based on the formula Q=D*N, where Q comprises a replenishment order quantity, D comprises an average daily ship quantity, N comprises a period of time since the first historical order with the historical customer identifier that matches the customer identifier was shipped, where a y-axis of the control chart comprises values corresponding to D, and an x-axis of the control chart comprises values corresponding to N; and
- based at least in part on the control chart and the order quantity being greater than the first threshold, mark, by the one or more processors executing the check module, the order as suspicious.
18. The computer-readable medium of claim 17, wherein the order further includes a customer type identifier identifying a type of customer, and a substance identifier identifying the controlled substance, and wherein each historical order further includes a historical customer type identifier identifying the type of customer.
19. The computer-readable medium of claim 18, wherein the marking of the order as suspicious is further based on the order quantity being greater than a second threshold, wherein the second threshold is based on the historical quantities for a subset of the historical orders with the historical customer type identifier matching the customer type identifier.
20. The computer-readable medium of claim 19, wherein the marking of the order as suspicious is further based on the order quantity being greater than a third threshold, wherein the third threshold is based on the historical quantities of the historical orders.
Type: Application
Filed: Jun 23, 2022
Publication Date: Jan 12, 2023
Inventors: Warren Eastman Hearnes, II (Liburn, GA), Lester Robert Lamb (New Castle, DE)
Application Number: 17/848,037