System, method, and non-transitory computer-readable storage media for mobile check-out in retail store

A system, method, and non-transitory computer-readable storage media for mobile check-in and check-out in a retail store include a computer system configured to receive input from and provide output to a mobile computing application for a retail store running on a mobile computing device of a customer. The computer system is configured to establish that a customer order is ready for pick-up and communicates with the mobile computing device to assist in handling any pre-staging requirements prior to pick-up.

COPYRIGHT NOTICE

The figures included herein contain material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of this patent document as it appears in the U.S. Patent and Trademark Office, patent file or records, but reserves all copyrights whatsoever in the subject matter presented herein.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates generally to online transactional processing for pharmacies for retail stores, to providing product information to a consumer and, more particularly, to a system, method, and non-transitory computer-readable storage media for mobile check-out at a pharmacy of a retail store, that monitor activities of pharmacy customers, determines potential drug interactions, and generates and displays product information via a website in response to potential drug interactions.

2. Description of the Related Art

Many pharmacy consumers or customers desire to deliver and/or obtain their pharmaceutical medications being prescribed to them either directly or remotely, e.g., on-line, through the Internet, or using a specially designed application or app on a personal computer or mobile device, such as a tablet or cell phone. In addition, pharmacy customers may have at least one prescription fill order that needs to be filled by a pharmacist at a pharmacy of a retail store. For example, the customer may have a prescription fill order for a sexually transmitted disease that is delivered to the pharmacy of the retail store. Sometimes when the customer enters the retail store, the customer proceeds directly to the pharmacy. When the customer arrives at the pharmacy, the prescription fill order may not have been filled, or is not ready for pick-up by the customer. In other situations, the customer has to tell someone in the pharmacy that he/she is there to pick up the prescription filled according to the prescription fill order, which is undesired. In addition, at least some known web hosting systems include information associated with pharmaceutical drugs including treated illnesses and potential side effects.

Furthermore, once the prescription has been filled and the customer's order has been filled, the customer must proceed to the check-out station. Once at the check-out station, there are a number of requirements that must be met prior to the purchase having been completed. This increases the total wait time for the customer. Some known systems also allow customers to search drug databases for the names of particular pharmaceutical drugs, select one or more drugs stored in the database, and display information related to the selected drugs. However, because of the increasing number of pharmaceutical drugs being made available to consumers and the amount of drug information associated with the pharmaceutical drugs, consumer may become frustrated with the lack of relevant information being provided by known systems. In addition, because of the number of records that may be included in a drug database, at least some known search engines require significant computing time and resources to generate and display the sorted drug lists to the consumer. As the amount of records being included in a database increases, the amount of computing resources that are required to perform the search functions increase, thus reducing the overall performance of known web hosting systems.

The present invention is aimed at one or more of the problems identified above.

SUMMARY OF THE INVENTION

In different embodiments of the present invention, systems, methods, and non-transitory computer-readable storage media are provided for generating, communicating, and displaying information to users via mobile computing devices.

In one aspect of the present invention, a system includes a database, a customer control unit, and a processing device. The database includes a plurality of customer accounts and pharmacy records. The customer control unit is associated with one of the customers. The processing device is coupled to the database and is associated with a retail environment. The processing device is configured to establish, as a function of the customer accounts and the pharmacy records, a pharmacy order for one of the customers. The processing device is further configured to transmit a communication to the customer control unit related to pre-staging requirements and receive from the customer control unit a response to the communication and storing the response in the database. The processing device is also configured to establish receipt of the pharmacy order by the one of the customers and responsively complete the pharmacy order.

In another aspect of the present invention, a method is provided. The method includes the steps establishing, as a function of customer accounts and the pharmacy records stored in a database, a pharmacy order for one of the customers. The method further includes the steps of transmitting a communication to the customer control unit related to pre-staging requirements and receiving from the customer control unit a response to the communication and storing the response in the database. The method also includes the steps of establishing receipt of the pharmacy order by the one of the customers and responsively completing the pharmacy order.

In a further aspect of the present invention, one or more non-transitory computer-readable storage media, having computer-executable instructions embodied thereon, wherein when executed by at least one processor, the computer-executable instructions cause the processor to establish, as a function of customer accounts and the pharmacy records stored in a database, a pharmacy order for one of the customers. A communication is transmitted to the customer control unit related to pre-staging requirements. The customer control unit sends a response to the communication and the response is stored in the database. After the customer has received the pharmacy order, the pharmacy order is completed.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT(S)

Any combination of one or more computer-usable or computer-readable media (or medium) may be utilized. For example, a computer-readable media may include one or more of a portable computer diskette, a hard disk, a random access memory (RAM) device, a read-only memory (ROM) device, an erasable programmable read-only memory (EPROM or Flash memory) device, a portable compact disc read-only memory (CDROM), an optical storage device, and a magnetic storage device. Computer program code for carrying out operations of the present invention may be written in any combination of one or more programming languages.

Several (or different) elements discussed below, and/or claimed, are described as being “coupled”, “in communication with”, or “configured to be in communication with”. This terminology is intended to be non-limiting, and where appropriate, be interpreted to include without limitation, wired and wireless communication using any one or a plurality of a suitable protocols, as well as communication methods that are constantly maintained, are made on a periodic basis, and/or made or initiated on an as needed basis. The term “coupled” means any suitable communications link, including but not limited to the Internet, a LAN, a cellular network, or any suitable communications link. The communications link may include one or more of a wired and wireless connection and may be always connected, connected on a periodic basis, and/or connected on an as needed basis.

With reference to the FIGS. and in operation, the present invention provides a networked computer system10, method, and computer product media that allows a mobile check-in and check-out for pharmacy customers at a pharmacy of a retail store. Referring toFIG. 1, an exemplary environment in which the networked computer system10operates is illustrated. In general, the present invention describes a networked computer system10that allows mobile check-in with a pharmacy in a retail store that prioritizes at least one prescription fill order so that the prescription is filled, so that the prescription is ready for pick up by the time the customer arrives at the pharmacy of the retail store. Other features of the system10can be found in the following commonly owned US Patent Applications, which are hereby incorporated by reference: U.S. patent application Ser. No. 15/009,327, filed on Jan. 28, 2016; U.S. patent application Ser. No. 15/009,374, filed on Jan. 28, 2016; U.S. patent application Ser. No. 15/009,417, filed on Jan. 28, 2016; U.S. patent application Ser. No. 15/009,561, filed on Jan. 28, 2016; U.S. patent application Ser. No. 15/009,436, filed on Jan. 28, 2016; U.S. patent application Ser. No. 15/009,654, filed on Jan. 28, 2016; U.S. patent application Ser. No. 15/009,583, filed on Jan. 28, 2016; U.S. patent application Ser. No. 15/009,454, filed on Jan. 28, 2016; U.S. patent application Ser. No. 15/009,598, filed on Jan. 28, 2016; U.S. patent application Ser. No. 15/009,611, filed on Jan. 28, 2016; and, U.S. patent application Ser. No. 15/009,644, filed on Jan. 28, 2016.

In some embodiments, the system10also monitors activities of pharmacy customers for potential drug interactions and provides pharmacy notifications to customers when potential drug interactions with existing pharmaceutical medications currently used by the customer is detected. Moreover, the networked computer system10is configured to communicate with a mobile device associated with the customer to provide push notifications to the mobile devices including messages about the potential drug interactions to the pharmacy customers. In addition, the system10may determine the location of the customer based on the geographic location of the corresponding mobile device and determine environmental conditions associated with the geographic area of the mobile device that may affect or require the use of the pharmaceutical medications being used by the customer. The system10may then transmit push notifications to the customer with information about current weather conditions in the area and reminders to use the appropriate pharmaceutical drug. The system10may also include a mobile computer application being stored on a mobile device associated with the pharmacy customer. The mobile application uses location and public API's to give warnings based on known conditions of the user. For example, in one embodiment, the pharmacy customer receives a push notification warning in the morning because the pollen count in their area is high and they are known users of an allergy medication. The system may also allow the pharmacy customer to identify additional users such as, for example, family, friends, and healthcare professionals, to receive similar notifications to provide the additional users with the information associated with the pharmacy customer.

The system10is configured to generate and store user pharmacy data records associated with pharmacy customers that includes information associated with pharmaceutical drugs being used by the customers. The system10also determines action events that are associated with the pharmaceutical drugs and generates and stores action records that includes information associated with actions to be performed by the system upon detecting activities being performed by the customer. In addition, the user pharmacy data records may include triggering events that are detected by the system to initiate the action events. The triggering events may include detecting purchases being made by the customers, requests being received by the customers, and/or customer selected calendar dates. The action events may include initiating data search operations to search e-receipt data to determine potential drug interactions and/or provide notifications to the customer of the potential drug interaction via the customer's mobile device.

By generating action event records associated with customer activities that include triggering events that trigger corresponding system actions, the system10improves the speed and functionality of known computing systems by reducing the amount of computing time required to monitor customer activity, thus reducing the computing resources required to generate and display relevant pharmacy messages to pharmacy customers.

For clarity in discussing the various functions of the system10, multiple computers and/or servers are discussed as performing different functions. These different computers (or servers) may, however, be implemented in multiple different ways such as modules within a single computer, as nodes of a computer system, etc . . . . The functions performed by the system10(or nodes or modules) may be centralized or distributed in any suitable manner across the system10and its components, regardless of the location of specific hardware. Furthermore, specific components of the system10may be referenced using functional terminology in their names. The function terminology is used solely for purposes of naming convention and to distinguish one element from another in the following discussion. Unless otherwise specified, the name of an element conveys no specific functionality to the element or component.

In the illustrated embodiment, the system10includes a server system12that is coupled in communication with one or more user computing devices14and one or more 3rd party entity server systems16via a communications network18. The communications network18may be any suitable connection, including the Internet, file transfer protocol (FTP), an Intranet, LAN, a virtual private network (VPN), cellular networks, etc. . . . , and may utilize any suitable or combination of technologies including, but not limited to wired and wireless connections, always on connections, connections made periodically, and connections made as needed.

The user computing device14may include any suitable device that enables a user to access and communicate with the system10including sending and/or receiving information to and from the system10and displaying information received from the system10to a user. For example, in one embodiment, the user computing device14may include, but is not limited to, a desktop computer, a laptop or notebook computer, a tablet computer, smartphone/tablet computer hybrid, a personal data assistant, a handheld mobile device including a cellular telephone, and the like. The user computing device14, as well as any other connected computer systems and their components included in the system10, can create message related data and exchange message related data (e.g., near field communication (“NFC”) payloads, Bluetooth packets, Internet Protocol (“IP”) datagrams and other higher layer protocols that utilize IP datagrams, such as, Transmission Control Protocol (“TCP”), Hypertext Transfer Protocol (“HTTP”), Simple Mail Transfer Protocol (“SMTP”), etc.) over the network.

In one embodiment, the user computing device14includes a mobile computing device20(shown inFIG. 3) such as, for example, a smartphone such as an iPhone™. The mobile computing device20includes a processor coupled to a memory device, and a database for storing various programs and data for use in operating the mobile computing device20. The mobile computing device20may also include a touchscreen display device22, one or more video image cameras24, one or more speakers26, a microphone28, at least one input button30, and one or more sensors32including, but not limited to, a touch ID fingerprint sensor coupled to the input button30, a barometer, a three-axis gyro, an accelerometer, proximity sensor, and an ambient light sensor. In addition, the mobile computing device20may also include a Wi-Fi antenna, a cellular network antenna, a Bluethooth™ communications device, assisted GPS and GLONASS, a digital compass, and an iBeacon microlocation device.

The GPS is a device that determines a location of the mobile computing device20by communicating with a plurality of GPS satellites. The GPS can perform known triangulation techniques to determine the GPS coordinates of the mobile computing device20. It should be appreciated that while a GPS is shown, any other suitable component for determining the location of the mobile computing device20can be implemented.

In the illustrated embodiment, the mobile computing device20includes a web browser program stored in the memory device. The processor executes the web browser program to display web pages on the touchscreen display device22that includes information received from the server system12to enable a user to interact with and operate the server system12. In addition, the mobile computing device20may be programmed to store and execute computer program applications that display user interfaces34(shown inFIGS. 3 and 6-9) on the touchscreen display device22that allows the user to access the server system12to retrieve and store information within the server system12as well as interact with and operate the server system12. In addition, in one embodiment, the system10may install one or more mobile computer application programs in the memory device of the mobile computing device20. When initiated by the processor of the mobile computing device20, the mobile computer application program causes the processor of the mobile computing device20to perform some or all of the functions of the server system12.

The 3rd party entity server system16include information and data associated with environmental condition associated with various locations. For example, in one embodiment, the 3rd party entity server system16may include environmental information associated with weather conditions for various geographical locations. The environmental information may include, for example, temperature, cloud conditions, wind conditions, air conditions such as dust and/or smog levels, UV data, barometric pressure, humidity, precipitation data, allergy information such as type of pollen and pollen counts, and/or any suitable environmental information associated with geographic locations. In addition, the environmental information may include historic weather and/or allergen conditions, and/or predictive weather and/or allergen conditions.

In the illustrated embodiment ofFIG. 1, the server system12includes a website hosting server36, e-receipts server38, a pharmacy account server40, a database server44, and a database46. The database server44includes a memory device that is connected to the database46to retrieve and store information contained in the database46. The database46contains information on a variety of matters, such as, for example, web pages associated with one or more websites, search queries, pharmaceutical drug information, prescription fill order information, prescription refill information, entity authentication information, food-drug interaction data, drug-drug interaction data, customer pharmacy account information, product records, e-receipt data, action events, action trigger conditions, notification messages, mobile device identifies, mobile device application program interfaces (APIs), and/or any suitable information that enables the system10to function as described herein. In one embodiment, some or all of the information contained in the database46may also be stored in the database of the mobile computing device20.

In the illustrated embodiment, the database46includes a pharmacy account list48(shown inFIG. 4) that includes a plurality of user pharmacy account records50. Each user pharmacy account record50is associated with a corresponding pharmacy customer and includes user identification information52associated with the pharmacy customer and pharmaceutical drug data associated with pharmaceutical drugs prescribed to and/or purchased by the corresponding pharmacy customer. The user identification information52includes user identifying data such as, for example, a unique user ID and/or password. The user identification information52may also include user contact information such as, for example, a phone number, an email, and/or a mobile device data54associated with a mobile computing device20associated with the corresponding pharmacy customer. For example, the mobile device data54may include, but is not limited to, a unique mobile device ID, operating system, phone number, IP address, mobile device API, and/or any suitable information that enables the system10to communicate with the corresponding mobile computing device20.

In the illustrated embodiment, each user pharmacy account record50includes a plurality of data categories56associated with the pharmaceutical drugs prescribed to and/or purchase by the pharmacy customer. The data categories56includes information associated with the pharmaceutical drugs and activities associated with the pharmacy customers. For example, in one embodiment, each user pharmacy account record50may include a first data group58including data categories56including information associated with a corresponding pharmaceutical drug and a second data group60including data categories including information indicating pharmacy customer activities associated with the corresponding pharmaceutical drug. The first data group58may include data categories56including information indicating a unique drug ID associated with the pharmaceutical drug, pharmaceutical drug description, drug category, prescribed use information, dosage information, and/or any suitable information associated with the corresponding pharmaceutical drug. The second data group60may include data categories56including information indicating a prescription fill order, number of prescription refills remaining, a prescription refill frequency, a date and/or time of a prescription fill order, a date and/or time of the last prescription refill purchase, purchase date, and/or prescription expiration, and/or any suitable information associated with pharmacy customer activity.

In one embodiment, the database46also includes a drug action list that includes a plurality of pharmaceutical drug action records. Each pharmaceutical drug action record includes pharmaceutical drug information and corresponding action records. The drug information includes information associated with pharmaceutical drugs such as, for example, drug categories and drug identifiers associated with the corresponding drug categories. Each action record is associated with one or more drug identifiers and includes and action record ID and information associated with actions and/or operations that may be initiated by the system10.

In one embodiment, the database46may also include an action event list that includes a plurality of action records. Each action record may include triggering event data indicating a triggering event and action event data associated with an action and/or operation that may be initiated by the system10. Action event data includes information and data including, but are not limited to, action event descriptions, an action record ID, and/or action rule description. The action event description may also include data associated with food-drug interactions, drug-drug interactions, and/or use reminders. The action rule description includes data that enables the system to perform particular actions and operations associated with the corresponding action record. For example, in one embodiment, the action rule description may include data that enables the system10to initiate a data search operation that searches e-receipt data for purchases the include foods and/or drugs that may interact with the corresponding pharmaceutical drug, and/or perform a search for weather data that may trigger medication reminder notifications. The triggering event data includes data associated with a triggering event that includes an event or occurrence that may be detected by the system10. Event triggers may include, but are not limited to, requests and/or signals received by a user computing device14, a consumer product purchase, a pharmaceutical drug purchase, calendar events such as, for example, a day of the week, month, and/or year, a time of day, and/or any suitable triggering event that enable the system10to perform as described herein.

The database46may also include a user action event list that include a plurality of user event action records that are associated with a plurality of pharmacy customers. Each user event action record includes a user identification information52associated with the corresponding pharmacy customer, a drug identifier indicating pharmaceutical drugs associated with the corresponding user identification information52, and an action record associated with each corresponding pharmaceutical drug. In addition, the user event action record may also include messaging information including data and information associated with a mobile computing device20associated with the corresponding user ID and/or API information associated with the corresponding mobile computing device20. In one embodiment, the messaging information may also include contact information such as, for example, emails and/or text and phone numbers, associated with friends, relatives, and/or healthcare professionals associated with the pharmacy customer. The pharmacy customer may identify one or more additional users that may receive notifications generated by the pharmacy account server40and include contact information associated with the identified additional users in the messaging information.

In one embodiment, the database46may include a drug interaction search term list that includes information and search terms for use in performing data search operations. The drug interaction search term list includes a plurality of data search records. Each data search record includes information associated with a corresponding action event. For example, the information included in the data search record may include and action ID associated with a corresponding action event, associated drug information, food-interaction search terms, and/or drug interaction search terms.

The website hosting server36is configured to host a website86that is accessible by a user via one or more user computing devices14. The website hosting server36retrieves and stores web pages88(shown inFIG. 5) associated with one or more websites86in response to requests received by the user via the user computing device14to allow users to interact with the website and search and/or purchase products such as, for example, goods and/or services via the website. In one embodiment, the website hosting server36is configured to generate and display web pages88associated with the website in response to requests being received from consumers via corresponding web browsers that are displayed on the user computing devices14. In addition, the website hosting server36may be configured to generate and display a mobile webpage90(shown inFIG. 6-9) that is displayed on one or more mobile computing devices20. For example, in one embodiment, the website hosting server36may display a pharmacy webpage92(shown inFIGS. 6-9) in response to receiving a user request that allows a user to access a corresponding user pharmacy account record50, input product search requests including search criteria including one or more search terms, purchase pharmaceutical drugs, request prescription fills, request prescription refills, request pharmacist consultations, schedule pharmacy and/or medical clinic appointments, and the like.

The website hosting server36may allow customers to login and access corresponding customer pharmacy accounts including account information such as, for example, previous purchases, pending prescription fill orders, pending prescription refills, and/or pharmaceutical drug information. For example, the website hosting server36may display a login page94(shown inFIGS. 6-7), receive a unique customer ID such as, for example, a username and/or password, and identify the customer account associated with the unique customer ID to enable the identified customer to access information and/or features associated with the corresponding customer pharmacy account. In addition, the website hosting server36may transmit search requests to the search engine server and/or the pharmacy account server40for use in generating search data and/or pharmacy information in response to the user's search request. The website hosting server36may also receive one or more product lists from the search engine server and/or the pharmacy account server40that includes information associated with products that are selected based on the user's search criteria. The website hosting server36may also display a search results webpage to display the product lists to the user and to allow the user to select one or more of the displayed products for purchase.

The e-receipts server38receives and stores information associated with consumer retail purchases in the database46and is programmed to generate and store electronic receipt data associated with the consumer retail purchases. In addition, the e-receipts server38may be programmed to transmit signals indicating pharmacy customer purchases to the pharmacy account server40. In one embodiment, the e-receipts server38may communicate with a plurality of point-of-sale (POS) systems as well as other computer systems at each of the one or more physical store locations (e.g., on an internal corporate network) to facilitate business operations for the corresponding entity. For example, a pharmacy customer may purchase a pharmaceutical drug using a POS system at a store location. The e-receipts server38may generate e-receipt data indicating the purchase and transmit the e-receipt data to the pharmacy account server40for use in modifying a corresponding user pharmacy account record50to include information associated with the pharmaceutical drug purchase.

The e-receipts server38is programmed to receive application identifiers and digital receipt data, including item data for one or more purchased items, from POS systems at various different store locations, and generate and store digital receipts from received receipt data. Generating digital receipts can include item data for items included in corresponding digital receipt data (but potentially in a different format, for example, a format deliverable to mobile devices). In the illustrated embodiment, 20 associated with the pharmacy customer. The request may also be received from the pharmacy server42may also transmit a validation failure message to the pharmacy account server40if the authentication server42cannot validate the identity of the entity server system16.

In an embodiment, the search engine server is configured to receive a search request from the website hosting server36and/or the pharmacy account server40including one or more search terms, and generate search data including a plurality of records as a function of the search terms. For example, in one embodiment, the search engine server may initiate a search algorithm based on a Boolean model to search pharmacy records and/or search terms contained in the drug interaction search term list contained in the database46based search terms received from the user and/or received from the pharmacy account server40. The search engine server may generate search data including pharmaceutical drugs matching the search criteria, generate a relevance score associated with each pharmaceutical drug included in the search data, and transmit the relevancy score to the pharmacy account server40. In one embodiment, the relevance score may be determined based on statistical information, including, but not limited to the number of records in the database, the frequency in which the search terms appear in the database, and the frequency in which the search term appears in the pharmaceutical drug record. The relevance of a returned search record may be determined based on the corresponding relevance score and the relevance scores of the other pharmaceutical drugs records in the search data, wherein records having a higher relevance scores are more relevant to the search criteria.

In an embodiment, the pharmacy account server40is programmed to monitor activities associated with prescription drugs being used by pharmacy customers. For example, in one embodiment, the pharmacy account server40is configured to monitor consumer product purchases being made by pharmacy customers in order to determine potential drug interactions and/or food interactions with currently prescribed prescriptions drugs being used by the corresponding pharmacy customers. In addition, the pharmacy account server40is programmed to detect the occurrence of triggering events associated with pharmaceutical drugs being used by pharmacy customers and transmit pharmacy notification messages to the customers to provide information and notifications of the potential interactions. In addition, the pharmacy account server40may also be programmed to monitor environmental conditions associated the geographic locations of the pharmacy customers for use in generating pharmacy notification messages that include reminders for taking prescription allergy medication.

In one embodiment, the pharmacy account server40may also access the user pharmacy account record50associated with the user ID, retrieve contact information associated with the corresponding pharmacy customer, and transmit a verification message to the pharmacy customer based on the retrieved contact information. The verification message may include a verification hyperlink including verification data that allows the pharmacy customer to access the hyperlink and transmit a verification signal to the pharmacy account server40. For example, in one embodiment, the user pharmacy account record50may include an email address and/or a phone number associated with a phone capable of received SMS text messages. The pharmacy account server40may generate the verification message including an email message and/or SMS text message and transmit the email message and/or SMS text message including the verification hyperlink to the pharmacy customer.

In some embodiments, the pharmacy account server40is programmed to receive a signal indicating a purchase of a pharmaceutical drug by a pharmacy customer. The signal may include an indication of a purchase being made by the customer and be received from the e-receipts server38and/or include a request to fill a prescription received from the pharmacy website. In addition, the signal may include a pharmaceutical drug ID and a user ID. In one embodiment, the pharmacy account server40may access the pharmacy account list being stored in the database an determine the user pharmacy account records that is associated with the received user ID, determine one or more pharmaceutical drugs associated with the user ID, and determine the pharmaceutical drug ID associated with each corresponding pharmaceutical drug.

In the illustrated embodiment, the pharmacy account server40determines a drug category associated with each drug ID, and accesses the drug action list included in the database46to determine a drug action record associated with each corresponding pharmaceutical drug as a function of the determined drug category and the corresponding drug ID. The pharmacy account server40determines the action ID associated with the drug action record and accesses the action event list to obtain the corresponding action record including the triggering event data and action event data associated with the action ID. The pharmacy account server40may then generate and store a user event action record associated with the user ID including the information contained in the action record and information associated with a pharmacy notification message associated with the action record.

For example, in one embodiment, the pharmacy account server40may receive a signal indicating a purchase of a pharmaceutical drug including a pharmaceutical drug ID and a user ID, access the drug action list including pharmaceutical drug action records being stored in the database46, select a pharmaceutical drug action record as a function of the received pharmaceutical drug ID, determine the action event data associated with the selected pharmaceutical drug action record, and generate a user pharmacy account record associated with the received user ID including the determined action event data associated with the selected pharmaceutical drug action record. The corresponding user pharmacy account record includes information that allows the pharmacy account server40to monitor purchases being made by the pharmacy customer to facilitate notifying the pharmacy customer of potential food and drug interactions with current prescription medications.

In the illustrated embodiment, the pharmacy account server40receives a request to display a pharmacy notification message to a user via a user computing device14. For example, the pharmacy notification message may include information associated with a medication reminder and/or a drug interaction. In one embodiment, the pharmacy account server40may receive a request to display the pharmacy notification message on a mobile computing device20. In the illustrated embodiment, the request includes a corresponding user ID. Upon receiving the request, the pharmacy account server40accesses the database46and identifies a user pharmacy account record associated with the received user ID. The pharmacy account server40is programmed to determine a pharmaceutical drug included in the identified user pharmacy account record and determines an action record associated with the determined pharmaceutical drug. The pharmacy account server40also determines the triggering event data and the action event data corresponding to the action record.

The pharmacy account server40also detects an occurrence of a triggering event as a function of the triggering event data, and initiates a data search operation associated with the corresponding action event data upon detecting the occurrence of the triggering event. The pharmacy account server40then determines an outcome of the data search operation and generates a pharmacy notification message as a function of the outcome of the data search operation. The pharmacy account server40then generates and transmits a signal including the pharmacy notification message to the mobile computing device20to cause the mobile computing device20to display the pharmacy notification message on the mobile computing device20.

In one embodiment, the pharmacy account server40may determine the triggering event to include an indication of a purchase of consumer products by the user. In addition, the triggering event may include a purchase of pharmaceutical drugs by the user and/or a request to fill a prescription for pharmaceutical drugs being submitted through the website. For example, the pharmacy account server40may receive a signal from the e-receipts server38indicating a purchase being made by a customer. The signal may include a user ID associated with the customer. In addition, the pharmacy account server40may receive electronic receipt data including product information associated with consumer products purchased by the user from the e-receipts server38. In one embodiment, the pharmacy account server may retrieve the electronic receipt data from the database46using the corresponding user ID.

Upon receiving the electronic receipt data, the pharmacy account server40initiates the data search operation including transmitting the electronic receipt data to the search engine server for use in conducted the data search operation using the electronic receipt data. In one embodiment, during the data search operation, the pharmacy account server40generates search terms associated with the pharmaceutical drug included in the identified user pharmacy account record and transmits the search terms to the search engine server. In one embodiment, the pharmacy account server40is programmed to access the drug interaction search term list being stored in the database46to determine search terms associated with the determined pharmaceutical drug included in the associated user pharmacy account record, and transmits the determined search terms to the search engine server. The search engine server conducts a data search operation to review the electronic receipt data to determine if at least one consumer product included in the electronic receipt data includes product information matching the determined search terms. In one embodiment, the search engine server transmits the matching search terms to the pharmacy account server40for use in generating the pharmacy notification message.

For example, the pharmacy account server40may transmit the notification message upon determining at least one consumer product includes product information matching one or more of the determined search terms associated with the determined pharmaceutical drug. In one embodiment, search terms may be associated with other pharmaceutical drugs. The pharmacy account server40may select a notification message indicating a potential drug-drug interaction if the search engine server returns a matching drug purchased by the consumer. In addition, in one embodiment, the search terms may be associated with food products. The pharmacy account server40may select a notification message indicating a potential food-drug interaction if the search engine server returns a matching food purchased by the consumer.

In one embodiment, the triggering event may include a request for allergy information being received from a customer's mobile computing device20. Upon receiving a request for allergy information, the pharmacy account server40may request and receive weather data including location data and associated allergen data from the 3rd party entity server system16. The pharmacy account server40may initiate the data search operation including, receiving location data from the corresponding mobile computing device20, determine a current location of the mobile computing device20, review the received weather data to identify location data matching the current location of the mobile computing device, and determine an allergen count value as a function of the allergen data associated with the identified location data. For example, the pharmacy account server40may generate a pollen count value as a function of the allergen data received from the 3rd party entity server system16. In the illustrated embodiment, the pharmacy account server40determines if the allergen count associated with the location of the mobile computing device20is equal to, or greater than, a predefined allergen count, and generates and transmits a pharmacy notification message upon determining the determined allergen count value to be greater than, or equal to, the predefined allergen count value.

In one embodiment, the pharmacy account server40may allow the user to establish a calendar event as the triggering event to allow the system10to perform a daily, weekly, and or monthly review of environmental allergies. In addition, the user may establish triggering events associated with food-drug interactions. For example, in one embodiment, the pharmacy account server40may display a notification trigger webpage to allow the user to establish triggering events associated with the corresponding user pharmacy account record. The user may establish calendared reminders to prompt the pharmacy account server40to conduct data search operations upon the occurrence of user defined events. In addition, the pharmacy account server40may allow the user to op-out of push notifications and not receive notifications generated by the system10.

In one embodiment, the pharmacy account server40may generate the notification message including a hyperlink including a pharmaceutical drug ID to allow the user to cause the system10to display additional information associated with the corresponding pharmaceutical drug. For example, the pharmacy account server40may receive a signal from the mobile computing device20indicating that the user has accessed the hyperlink, access the list of pharmaceutical drug records stored in the database46with each pharmaceutical drug record associated with a pharmaceutical drug and including a corresponding pharmaceutical drug ID and corresponding pharmaceutical drug data information associated including information associated with the corresponding pharmaceutical drug. The pharmacy account server40then retrieves the pharmaceutical drug record corresponding to the received pharmaceutical drug ID and generates and displays an information webpage on the mobile computing device20including drug-related information included in the retrieved pharmaceutical drug record.

Referring toFIG. 2, in one embodiment, the system10may include a system server104that is configured to perform the functions of the website hosting server36, the e-receipts server38, the pharmacy account server40, the search engine server, and the database server44. In the illustrated embodiment, the system server104includes a processing device106and the database46.

The processing device106executes various programs, and thereby controls components of the system server104according to user instructions received from the user computing device14. The processing device106may include memory, e.g., read only memory (ROM) and random access memory (RAM), storing processor-executable instructions and one or more processors that execute the processor-executable instructions. In embodiments where the processing device106includes two or more processors, the processors can operate in a parallel or distributed manner. In an example, the processing device106may execute a communications module108, a website hosting module110, an e-receipts module112, a search engine module, and a pharmacy account module114.

The processing device106may also include a memory device for storing programs and information in the database46, and retrieving information from the database46that is used by the processor to perform various functions described herein. The memory device may include, but is not limited to, a hard disc drive, an optical disc drive, and/or a flash memory drive. Further, the memory device may be distributed and located at multiple locations.

The communications module108retrieves various data and information from the database46and sends information to the user computing device14via the communications network18to enable the user to access and interact with the system10. In one embodiment, the communications module108displays various images on a graphical interface of the user computing device14preferably by using computer graphics and image data stored in the database46including, but not limited to, web pages, pharmacy records, pharmacy notification messages, product lists, and/or any suitable information and/or images that enable the system10to function as described herein.

The website hosting module110may be programmed to perform some or all of the functions of the website hosting server36including hosting various web pages associated with one or more websites that are stored in the database46and that are accessible to the user via the user computing device14. The website hosting module110may be programmed to generate and display web pages associated with a website in response to requests being received from users via corresponding web browsers.

The e-receipts module112may be programmed to perform some or all of the functions of the e-receipts server38including generating, receiving, and storing e-receipt data in the database46and detecting purchases being made by the pharmacy customers.

The pharmacy account module114may be programmed to perform some or all of the functions of the pharmacy account server40including monitoring activities associated with pharmacy customers including consumer purchase and/or prescription fill orders or requests, prescription refill orders or requests, generate notification messages associated with the monitored activities, transmit and received data from 3rd party entity server systems16, and executing verification and authorization operations.

The search engine module may be programmed to perform some or all of the functions of the search engine server including generating and storing search data in response to the user's product search request and/or pharmacy module114search requests. In addition, the search engine module may also be programmed to generate a relevance score associated with each of the records included in the search data.

Referring now toFIG. 10, an example method170, according to one embodiment of the present invention, using the system10for mobile check-in with a pharmacy in the retail store by a mobile computing device20is illustrated. The method170can be executed by the components illustrated inFIGS. 1-9. In general, a flowchart of the method170, according to one embodiment of the present invention, starts in bubble172. The method170includes the steps of determining that a location of a customer entering or in the retail store in block174. For example, receiving, by the system10, a location of the customer entering or in the retail store can be determined by GPS of the mobile computing device20of the customer. The method170also includes the step of confirming that the customer has at least one prescription fill order pending with the pharmacy of the retail store in block176. For example, performing a search, by the system10, on a plurality of prescription fill order records corresponding to a plurality of prescription fill orders located in the pharmacy of the retail store12, which may include inputting a search query to any search algorithm known in the art. The corpus of documents searched may include the database48of records or some other corpus of documents, accessible over the Internet. The method170includes the steps of prioritizing the at least one prescription fill order of the customer to a top of a workflow in the pharmacy of the retail store in block178. For example, prioritizing, by the system10, one or more of the prescription fill order records relevant to the customer in the search query. The method170also includes the steps of transmitting a communication to the mobile computing device20of the customer and displaying the communication on the mobile computing device20in block180. For example, transmitting, by the system10, a communication to the mobile computing device20of the customer that “You will be notified when order is ready for pickup”. The method170includes the steps of prioritizing the at least one prescription refill order to the top of the workflow of the pharmacy in the retail store in block182. For example, prioritizing, by the system10, the at least one prescription fill order by moving the at least one prescription fill order of the customer to the top of the workflow of prescription orders to be filled by the pharmacist in the pharmacy of the retail store. The method170further includes the steps of filling the at least one prescription fill order by the pharmacist in block184. For example, the pharmacist in the pharmacy of the retail store fills the at least one prescription fill order as directed by the at least one prescription fill order. The method170includes the steps of marking the at least one prescription fill order as ready for pickup in block186. For example, marking, by the system10, that the at least one prescription fill order is ready for pickup in the pharmacy of the retail store by the customer. For example, the pharmacist inputs on the user computing device14of the pharmacy that the at least one prescription fill order has been filled by the pharmacist. The method170also includes the step of transmitting a communication to the mobile computing device20of the customer for display by the mobile computer application to notify the customer to proceed to the counter in the pharmacy of the retail store to pickup the at least one filled prescription fill order in block186. For example, transmitting, by the computer system10, a communication to the mobile computing device20and the mobile computer application running on the mobile computing device20notifies the customer to proceed to the counter in the pharmacy of the retail store to pickup the at least one filled prescription fill order. The method170further includes the step of displaying with the mobile computer application running on the mobile device20the communication in block190. For example, the mobile computer application displays the communication such as “Please proceed to counter to pickup your prescription” on the display of the mobile computing device20of the customer. The method170ends in block192. It should be appreciated that the method includes other steps such as providing the computer system and servers and coupling the servers to one another.

With reference toFIGS. 11-15, in one aspect of the system10, a system7for managing a check-out process is provided. The check-out system7may include a sale computer system27to facilitate the processing of the customer order. In one embodiment, the sale computer system27may be a stand-alone computer that is located at the retail environment6. Alternatively, the sale computer system27may include a sale computer29located at the retail environment6and one or more servers16,36,38,40,44which is generally located remotely. The database20may be used to store customer account information, customer order information, and information related to the retail environment6(see below). The sale computer system12or the server16,36,38,40,44may access the data stored on the database20. For example, the database20may include a plurality of customer accounts. Each customer account has an associated customer identification, e.g., an identification number. The sale computer29may access the customer accounts to running a query against the database based on customer identification number.

In some embodiments, a customer control unit23communicates with the sale computer29with a wireless communications unit25. The wireless communications unit25may be, e.g., a wireless router or wireless access point that provides a wireless network (wireless network or Wi-Fi). In general, the customer control unit23is embodied in a software application or “app” that is run by the mobile device14/20.

The mobile device14/20may be the customer's cell phone. In some embodiments, the mobile device14/20may communicate with the sale computer system27(or the server16,36,38,40,44) over the cellular data network. A system that facilitates the processing of customer orders is disclosed in commonly owned U.S. patent application Ser. No. 15/004,624, filed on Jan. 22, 2016, which is hereby incorporated by reference.

The database20may include a plurality of customer accounts and pharmacy records. The processing device106is configured to establish a pharmacy order that is associated with the customer, as a function of the customer accounts and the pharmacy records. For example, the pharmacy order may include a prescription that needs to be filled or refilled.

As discussed above, when the customer enters the store or pharmacy and logs in to their account, the system10identifies if the customer has a prescription refill pending. If the customer has a prescription refill pending, then the system10may, through the customer control unit23, inquire if the customer wants to have the prescription filled and to pick the prescription up. If the customer desires to have the prescription filled, then the system10facilitates the filling of the prescription.

Once the customer has confirmed that the customer wants the prescription to be filled, a communication70is transmitted to the customer control unit23. The communication70is related to pre-staging requirements. The communication70, as described below, may include one or more inquiries or requests for confirmation from the customer that are needed in order for the pharmacy order to be filled. Since the prescription is being filled, but may not be currently readied, the customer, by meeting the pre-staging requirements, may shorten the time necessary to complete the purchase once the order is ready.

With reference to13, in one embodiment, the communication70may include a confirmation72of a privacy rule. For example, in some situations, a customer's health records are not shared with a health information exchange (HIE). Thus, in order for the customer's health records to be included in the HIE, the customer must opt in. As shown inFIG. 13, the system10defaults to the health records not being shared with the HIE (“OPT-OUT”). This, in order for the customer to opt-in, the customer must select the “OPT-IN” option and select “ENTER”. Alternatively, in some situations, some or all of the customer's records are already shared with the HIE by default. In those situations, the system10defaults to the “OPT-IN” selection and the customer must actively opt-out in order to stop the records from being shared. These requirements are generally governed by the Health Insurance Portability and Accountability Act of 1996.

In another embodiment of the present invention as shown inFIG. 14, the pre-staging requirement allows the customer to select a method of payment74. The customer's account may include one or more methods of payment. As shown inFIG. 14, the communication70may include the defined methods of payment and an option to enter a new method of payment. The customer can select one of the methods of payment (shown as a highlighted entry), or select to enter a new method of payment. Once the desired method of payment has been selected, the customer may select “ENTER” to confirm payment.

In another embodiment of the present invention as shown inFIG. 15, the pre-staging requirement allows the customer to confirm insurance information. For example, the pharmacist will run the prescription against the customer's insurance plan. The details of the customer's insurance plan with respect to the medicine in the prescription will be displayed76in the communication70. The details may include the name of the insurance company and the amount of the customer's co-pay for the medicine, for example. If the information is correct, the customer can select “CONFIRM”.

After all of the pre-staging requirements are met and the order is ready, the customer may be notified that the prescription order is ready for pick-up. When the customer arrives at the counter to pick up the prescription, the pharmacist must scan the prescription. Typically, the prescription will include an identifying barcode. The pharmacist scans the bar code associated with the prescription and the order is responsively completed. In general, the payment cannot be processed until the bar code has been scanned to be handed to the customer.

With reference toFIG. 12, a method200for completing the check-out process will now be explained. In a first step202, the pharmacy order is established. As discussed above, in one embodiment, the pharmacy order is established once the customer's location is confirmed within the store or pharmacy and an order that is ready to be filled has been identified in the pharmacy records for the customer. In a second step204, the pre-staging communication or communications are sent to the customer control unit23associated with the customer. The pre-staging communication or communications may include any query or confirmation that may be handled prior to the order being picked up. In a third step206, the customer may respond to any query or request for confirmation. The responses may then be stored in the database20. Once the prescription has been filled and is ready for pick-up, a notice to the customer (using the customer control unit23) may be sent. The customer is instructed to proceed to the check-out station to pick up the prescription. If all of the pre-staging requirements have been met, when the customer arrives at the check-out station, the pharmacist scans the prescription to establish that the order has been received by the customer (step208). After receipt of the order has been established, the purchase is completed by utilizing the selected method of payment to pay for the order (step210).

In one embodiment, the pharmacy account server40may determine the triggering event to include an indication of a new prescription or a refilled prescription through the mobile webpage1760. The pharmacy account server40may be programmed to receive a signal indicating a new or updated pharmaceutical drug associated with a pharmacy customer. The signal may include an indication of a new prescription and/or include a request to fill a prescription received from the mobile webpage1760. In addition, the signal may include a pharmaceutical drug ID and a user ID. In one embodiment, the pharmacy account server40may access the pharmacy account list being stored in the database an determine the user pharmacy account records50that is associated with the received user ID, determine one or more pharmaceutical drugs associated with the user ID, and determine the pharmaceutical drug ID associated with each corresponding pharmaceutical drug.

Referring now toFIG. 16A, the pharmacy account server40may store the retrieved information about the prescribed pharmaceutical drug and the prescription information in a virtual pill case1668associated with the pharmacy customer. The virtual pill case1668may display a date range1670. The date range1670may correspond to a calendar1672, which may have a separate entry1674for each day of the week and, in some cases, entries for different times of day (e.g., AM and PM), similar to a traditional physical pill case. Each entry1674may have a checkbox1676to indicate whether the pharmacy customer has taken the prescribed dose for that day and/or time. An image1678showing the pill associated with the pharmaceutical drug may also be displayed, along with a hyperlink1680to additional information about the pharmaceutical drug including dosage instructions. All currently prescribed pharmaceutical drugs stored in database46and associated with the customer ID of the pharmacy customer will be shown in the virtual pill case1668(e.g., DRUG A and DRUG B).

Referring now toFIG. 16B, when the pharmacy customer follows hyperlink1680, the additional information about the pharmaceutical drug is displayed. In the illustrated embodiment, a photograph1682shows the pill (or other medication administration device) associated with the pharmaceutical drug. Drug details1684include, for example, the name, class, and strength of the drug, as well as the shape, color, and imprint of the pill. Additionally, dosage instructions1686are displayed, which include personalized instructions for administration of the medication as prescribed for the pharmacy customer. The pharmacy customer may access additional information via a hyperlink1688, which may take the pharmacy customer to a third party website and display, for instance, information about side effects and drug and food interactions associated with the pharmaceutical drug.

Referring now toFIG. 16C, the pharmacy customer may indicate that a dosage was taken by placing a taken dose symbol1690. If the pharmacy customer misses a dose, a missed dose symbol1692may be shown. In response to a missed dose, a pharmacy notification may be sent to the pharmacy customer.

Referring now toFIG. 17, in one embodiment, the pharmacy account server40may receive a request to display a pharmacy notification message1794to the pharmacy customer via a user computing device14. In one embodiment, the pharmacy account server40may receive a request to display the pharmacy notification message on a mobile computing device20. The request may include a corresponding user ID. Upon receiving the request, the pharmacy account server40accesses the database46and identifies a user pharmacy account record50associated with the received user ID. The pharmacy account server40detects an occurrence of a triggering event as a function of the triggering event data, such as a missed dose by the pharmacy customer, and generates the pharmacy notification message94. The pharmacy account server40then generates and transmits a signal including the pharmacy notification message to the mobile computing device20to cause the mobile computing device20to display the pharmacy notification message on the mobile computing device20.

FIGS. 18-21are flowcharts of methods1800,1900,2000, and2100that may be used with the system10for monitoring activities of pharmacy customers and generating and displaying information to the pharmacy customers on a website via a mobile computing device. The methods include a plurality of steps. Each method step may be performed independently of, or in combination with, other method steps. Portions of the methods may be performed by any one of, or any combination of, the components of the system10.

Referring now toFIG. 18, a method1800for determining new prescription information is available is shown. At step1802, the pharmacy account server40receives a request to initiate a notification operation to monitor an activity of a pharmacy customer. The request includes a corresponding user ID. In one embodiment, the request may be received from a mobile computing device20associated with a pharmacy customer. In another embodiment, the request may be initiated by the customer via the pharmacy website. In addition, the pharmacy account server40may be programmed to initiate a notification operation at a specific time and/or upon receiving an indication of activities associated with a pharmacy customer.

At step1804, the pharmacy account server40accesses the user pharmacy account list being stored in the database46to determine a user pharmacy account records50associated with the received user ID.

At step1806, the pharmacy account server40determines that a triggering event has occurred. For example, in one embodiment, the triggering event may include a purchase of a new prescription by the pharmacy customer associated with the user ID. In another embodiment, the triggering event may include an indication that a pharmaceutical drug associated with the user ID requires a refill.

At step1808, the pharmacy account server40generates and transmits a pharmacy notification message to the pharmacy customer requesting that the pharmacy customer add the new prescription information to the pharmacy customer's virtual pill case1668. In the illustrated embodiment, the pharmacy account server40generates and transmits a signal including the notification message to the mobile computing device20to cause the mobile computing device20to display the notification message on the mobile computing device20. For example, the pharmacy account server40may generate a notification upon detecting a new prescription or new refill. In one embodiment, the system10may access the corresponding user pharmacy account records50to determine a messaging API associated with an operating system of the mobile computing device20and generate the notification message as a function of the retrieved messaging API to enable the mobile computing device20to display the received message. In one embodiment, each user account record includes information associated with the mobile computing device20including a unique mobile ID and message API. In another embodiment, the user pharmacy account records50may include a message preferences, such as, for example, an email, text message, push messaging, automated phone call, and the like. The pharmacy account server40identifies the messaging preference associated with the user pharmacy account records50and generates the notification message based on the message preference.

Referring now toFIG. 19, a method1900for acquiring new prescription information is shown. At step1902, prescription information is received (e.g., manually entered by the pharmacy customer or received via an electronic transaction record).

At step1904, the pharmacy account server40initiates a data search operation including transmitting the prescription information to a search engine server. In one embodiment, during the data search operation, the pharmacy account server40generates search terms associated with a prescribed pharmaceutical drug included in the identified user pharmacy account record50and transmits the search terms to the search engine server. The search engine server may initiate a search on the third party computer server. The search results may be transmitted from the search engine server to the pharmacy account server40. The search results may include information about the pharmaceutical drug, including information about the pill shape, size, color, and strength, and an image or photograph representing the pill (or inhaler, pump, patch, or other device by which the pharmaceutical drug is administered).

At step1906, the pharmacy account server40reviews the data search results and determines whether new information not already stored in the virtual pill case has been retrieved. For example, the prescription information may correspond to a refill of a pharmaceutical drug that is already stored in the pharmacy customer's virtual pill case, but the search results may indicate new information is available for the pharmaceutical drug because the manufacturer has changed the pill shape since the pharmacy customer's previous refill.

At step1908, the virtual pill case is updated with any new information retrieved via the search results.

Referring now toFIG. 20, a method2000for sending a reminder to pharmacy customer regarding a virtual pill case. At step2002, the pharmacy account server40prompts a pharmacy customer to set one or more reminder preferences regarding a virtual pill case. Reminder preferences may include, for example, whether the customer wishes to receive reminders regarding the virtual pill case. If the customer wishes to receive reminders, the customer may indicate a frequency with which the reminder should be sent (e.g., daily, weekly, etc.) and when the reminder should be sent (e.g., in the morning, afternoon, or evening, or at a specific time). The user may also indicate whether the reminder should be sent only if the user has missed a scheduled medication dose, or if the reminder should always be sent. Additionally, the user may indicate the preferred method of transmission of the reminder (e.g., push notification, text message, e-mail, etc.).

At step2004, the pharmacy account server40determines that a reminder to the pharmacy customer is due, based on the customer's set reminder preferences. At step2006, the pharmacy account server40generates and sends a reminder to the pharmacy customer regarding the virtual pill case.

Referring now toFIG. 21, a method2100for sending a missed dose notification to pharmacy customer using a virtual pill case. At step2102, the pharmacy account server40receives a request to initiate a notification operation to monitor an activity of a pharmacy customer. The request includes a corresponding user ID. In one embodiment, the request may be received from a mobile computing device20associated with a pharmacy customer. In another embodiment, the request may be initiated by the customer via the pharmacy website. In addition, the pharmacy account server40may be programmed to initiate a notification operation at a specific time and/or upon receiving an indication of activities associated with a pharmacy customer.

At step2104, the pharmacy account server40accesses a virtual pill case associated with the pharmacy customer. At step2106, the pharmacy account server40determines that the pharmacy customer missed at least one scheduled dose of a pharmaceutical drug according to dosage instructions provided by a prescriber. At step2108, the pharmacy account server40generates and sends a notification to the pharmacy customer regarding the missed dose and prompting the user to visit the virtual pill case to review dosage instructions.

A controller, computing device, server or computer, such as described herein, includes at least one or more processors or processing units and a system memory (see above). The controller typically also includes at least some form of computer-readable media. By way of example and not limitation, computer-readable media may include computer storage media and communication media. Computer storage media may include volatile and nonvolatile, removable and non-removable media implemented in any method or technology that enables storage of information, such as computer-readable instructions, data structures, program modules, or other data. Communication media typically embody computer-readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave or other transport mechanism and include any information delivery media. Those skilled in the art should be familiar with the modulated data signal, which has one or more of its characteristics set or changed in such a manner as to encode information in the signal. Combinations of any of the above are also included within the scope of computer-readable media.

In some embodiments, a processor, as described herein, includes any programmable system including systems and microcontrollers, reduced instruction set circuits (RISC), application specific integrated circuits (ASIC), programmable logic circuits (PLC), and any other circuit or processor capable of executing the functions described herein. The above examples are exemplary only, and thus are not intended to limit in any way the definition and/or meaning of the term processor.