Advanced Software Engineering

Document Sample
Advanced Software Engineering Powered By Docstoc
					             Advanced Software Engineering

                           CSE870, Spring 2007

Homework 2                                                     Due: January 25, 2007

Medical information systems are an integral part of any health center (e.g., private or
public clinics, hospitals). The objective of MISys is to manage patient records and
automate various record-keeping and notification tasks that are often needed in the day-to
operation of health centers.

Brief Description of MISys:

A health center comprises a set of medical doctors, a set of nurses, a receptionist, a
pharmacist, a lab technician, and a radiologist. A patient may make an appointment to see
a doctor. After checking in with the receptionist, patients should be prescreened by a
nurse before being examined by a doctor. Each patient is identified by a unique ID. In
addition, the MISys database maintains the following information for each patient: (1)
personal attributes such as name, age, sex, and allergies, (2) history of prescriptions,
(3) history of diagnoses, and (4) insurance company and plan. The receptionist, nurses,
lab technician, and doctors all have access to a patient’s records. The doctor may refer a
patient to the radiologist for X-rays or to the laboratory for one or more blood tests. At
the end of the appointment, the doctor sends the patient back to the receptionist to
schedule follow-up appointments as necessary and pay for the appointment.


   1.    (Database) Upon admission of a new patient, the receptionist adds a new patient
        record to the database containing the above information (enumerated in bold
        italics). Subsequently, a doctor, a nurse, the receptionist, radiologist, lab
        technician (person who conducts the blood tests), and pharmacist should be able
        to search, browse, and edit the records of the database. During the appointment,
        the nurse and the doctor use MISys to record symptoms experienced by the
        patient. At the end of the appointment, the doctor uses MISys to record the
        diagnosis and may choose to prescribe medication, schedule follow-up procedures
        (e.g., blood tests or X-rays), and/or schedule a follow-up visit.

   2. (Appointments) No two patients should be scheduled for a doctor at the same time
      slot. MISys should also send reminder email messages to patients for their
      follow-up appointments and referral procedures (e.g., blood test or X-rays).
  3. (Pharmacy) If a patient requires a prescription to be filled, the patient’s record is
     edited to include the name of the medication and the dosage. When the patient
     goes to the pharmacy, the pharmacist looks up the patients record and locates the
     prescription order. The pharmacist should consult with an external reference (e.g.,
     a PDR: Physicians Desk Reference) to ensure that prescriptions for new
     medications do not conflict with a patient’s allergies, new and current
     prescriptions. (A future extension might integrate MISys with a decision-support
     system that checks for conflicts automatically.) For now, if the pharmacist detects
     a conflict, the patient’s record is appropriately noted, and MISys notifies the
     doctor with the conflict information.

  4. (X-ray) Pregnant women should not have X-rays taken. MISys should, by
     default, prevent any X-rays from being scheduled for pregnant women. For
     extenuating circumstances, an explicit override from a doctor, approved by a
     radiologist, is necessary before X-rays can be scheduled for pregnant women.

  5. (Insurance) MISys should automatically bill the patient and patient’s insurance
     company based on the patient’s insurance plan.


  1. Using the UML modeling tool, ArgoML, create a use case diagram for the
     specified requirements. You can download the latest stable version from

  2. Specify the system boundary.

  3. Document each use case by instantiating the use case template (below).

  4. Identify 3 global invariants of the system. For instance, “each patient has a unique
     ID” is a global invariant of the system. (Find 3 other invariants.)
Use Case Template:

  Use Case:      Name
  Actors:        Name of actors interacting with current use case
  Description:   Description of the goals, objective, services provided by
                 use case
  Type:          Primary (essential) or secondary
  Includes:      Name of use cases that the current use case includes
                 (common goal shared by 2 or more use cases)
  Extends:       Name of use cases that the current use case extends (the
                 name of the normal scenario use case that the current
                 use case extends)
  Cross-refs:    Number of requirement that the current use case
  Use cases:     Enumerate use cases that are dependent upon the
                 current one.

Shared By: