1. Create an event table that lists information about system requirements based on the following specific system processing: When a nursing home needs to fill prescriptions for its patients, it provides order details to Reliable. Reliable immediately records information about the order and prescriptions. Prescription orders come in from all of Reliable’s nursing-home clients throughout the day. At the start of each 12-hour shift, Reliable prepares a case manifest, detailing all recent orders, which is given to one of the pharmacists. When the pharmacist has assembled the orders for each client, the pharmacist records the order fulfillment. (Review the Reliable case description at the end of Chapter 1 for more details.) In addition, the system needs to add or update patient information, add or update drug inventory information, produce purchase orders to replenish the drug inventory, record inventory adjustments, and generate various management reports. For now, ignore any billing, payments, or insurance processing.
2. Create an entity-relationship diagram that shows the data storage requirements for the following portion of the system: Add a few attributes to each data entity and show minimum and maximum cardinality. To process the prescription order, Reliable needs to know about the patients, the nursing home, and the nursing-home unit where each patient resides. Each nursing home has at least one, but possibly many, units. A patient is assigned to a specific unit. An order consists of one or more prescriptions, each for one specific drug and for one specific patient. An order, therefore, consists of prescriptions for more than one patient. Careful tracking and record keeping is obviously crucial. In addition, each patient has many prescriptions. One pharmacist fills each order.
3. Create a domain model class diagram for the object-oriented approach that shows the same requirements as described in step 2. Include a few attributes for each class and show minimum and maximum multiplicity. Be sure to identify any association classes and use the correct notation.
4. How important is it to understand that each order includes prescriptions for more than one patient? Is this the type of information that is difficult to sort out at first? Did you see the implications initially, or did you have to work through the model until it made sense to you? Discuss.
In Chapter 1, you learned about the background and prescription-processing operations for Reliable Pharmaceutical Service. As discussed in this chapter, defining the requirements for the new system starts by taking the information gathered about the needed system and then focusing on the events that require system processing and on the things about which the system needs to store information. The full system would involve many events and things. In this chapter’s case exercise, we focus on only a subset of events for the system and a subset of data entities or classes. Exercises in later chapters will add to the scope and complexity of the requirements for Reliable.