State Diagram

The Business Problem:

Overview:

You have been asked to develop software for a pharmaceutical retail service named Pharm@Home. Pharm@Home aims to allow customers in the Toronto area to order drugs and basic medical supplies online (eg. bandages), and then have it delivered straight to their homes. The Pharm@Home system must be able to handle customer registration, ordering, billing, and delivery. It must also handle internal business processes such as inventory/stock levels, physical order fulfillment, employee information and status, and managerial reports.

Details:

·         Pharm@Home aims to stock both non-prescription medication (eg. Tylenol) as well as medication that does require a prescription (eg. Antibiotics). Any customers who order prescription medication must have a valid prescription from a physician, and the order will be fulfilled by a licensed pharmacist employed by Pharm@Home. The Pharmacist will also provide instructions for correct usage of the prescription drug (eg. “Take 2 daily”) to the customer.

·         Pharm@Home will also stock medical supplies that are not drugs, such as band-aids, thermometers, etc…

·         Customers will be required to make an account with Pharm@Home to be able to order. On registration, customers will be required to provide their personal information, billing information, and delivery information.

·         Pharm@Home will outsource all their deliveries to an external courier service called TPS (Toronto Postal Service). The Pharm@Home system should automatically interact with the TPS system and create a courier request for every order (assume TPS provides an API to their system).

·         Pharm@Home will stock their inventory at a single warehouse and all physical order fulfillment will occur there. You can assume for simplicity’s sake that as long as the TPS system receives the necessary order information, then they will handle package pick-up and delivery.

·         Customers should be able to interface with Pharm@Home via a web-based portal that functions on all modern devices. Employees will interface with the same portal but have their own accounts with necessary privileges and features.

·         Besides the ability to order drugs and supplies, customers should also be able to access their own order and billing history, update their personal info, etc...

·         Employees should be able to see any information that is relevant to their job. For example managerial staff should be able to see general summary reports of sales and inventory. Pharmacists should be able to see prescriptions. General fulfillment staff should be able to see order information. These are examples, this is not a complete list of access permissions.

·         Pharm@Home is privately owned by a parent company: ITEC Conglomerate Holdings Inc.

 Create a State Machine Diagram for the “Prescription” class. (The class that represents the prescriptions that customers must upload if they are buying prescription-required medication).