Software System Engineering

CmpE 202Practice Problems

Practice Problem (16)

Healthcare system

______

This problem statement was developed by

Team: DCUBE

Members: Vineet Agrawal, Ching-Hing Goh, Xinyuny Yang, Martin Yip

Date: Nov 16, 2003

______

Read the following problem statement and perform the following:

  1. Use Case Diagrams and Use Cases. Use one or more diagrams to describe all the actors in design session problem and how they will interact with the Use Cases of your system. Provide Flow of Events for all of your Use Cases. Use associations, aggregations, and generalization in the use case diagram(s) and don’t forget to use multiplicities. Use case diagram(s) textual description is a must. Use the following template to document your use cases.

1. Use Case Id.

2. Use Case Title

3. Actors & Corresponding Roles

4. Corresponding Classes

5. Corresponding Attributes

6. Corresponding Interfaces

7. Class Classification: EBTs, Business Objects, and Industrial Objects

8. Use Case Description

9. Alternatives

Evaluation: Use the model essentials to evaluate the use case models.

  1. Document all the CRC cards for all the (classes) classes in the design session problems (CRC stands for Class Responsibility and Collaborations)

Class Name (Role)

Collaborations

ResponsibilityClientsServers

Evaluation: Use the model essentials to evaluate the CRC cards.

  1. Class diagram (Traditional Model). Create a class diagram of the design session problems based on the Traditional Model. Class diagram should include all attributes and methods for the class. All class relationships (associations, aggregations, dependencies, and specializations) should be included in the class diagram. Association classes, interface classes, constraints, interfaces, tagged values and/or stereotypes, and notes must be included in the class diagram.

Evaluation: Use the model essentials to evaluate the class diagram (Traditional).

  1. Class diagram (Stability Model). Create a new Class diagram of the design session problems based on the EBTs, BOs, and IOs. Class model should include all attributes and methods for the class. All class relationships (associations, aggregations, dependencies, and specializations) should be included in the Class diagram. Association classes, interface classes, constraints, interfaces, tagged values and/or stereotypes, and notes must be included in the class diagram.

Evaluation: Use the model essentials to evaluate the class diagram (Stability Model).

  1. Sequence diagrams. Sequence diagrams will be used to "realize" Use Cases. All Use cases should be described through sequence diagrams. The sequence diagrams can describe the same Use Cases that a flow of events was created for in the Use Case portion of the assignment.

Evaluation: Use the model essentials to evaluate the sequence diagrams.

  1. Activity Diagram. Activity diagram is similar to procedural flow charts except that all activities are uniquely associated with objects. Activity diagrams support the description of parallel activities. Activity diagrams: (a) Describes how activities are coordinated; (b) Is particularly useful when you know that an operation has to achieve a number of different things, and you want to model what the essential dependencies between them are, before you decide in what order to do them; (c) Records the dependencies between activities, such as which things can happen in parallel and what must be finished before something else can start; and (4) Represents the workflow of the process. Activities, transitions, decision diamond, constraints, synchronization and splitting bars, boundaries, and start & stop markers must be included in the class diagram.

Evaluation: Use the model essentials to evaluate the Activity diagrams.

Iterate: Redo 1, 2, 5, and 6 with stability in mind.

______

Healthcare system

Introduction

The cost of healthcare insurance has been increased dramatically since 991 event. Many companies are facing incredible challenge to stay profit in today economy environment. In order to reduce operation cost, ABC Company is seeking a way to save its healthcare cost. The company works together with healthcare vendor to provide a healthcare plan that benefits the company and its employees.

The company will reserve some cash to its employees. The reserved cash is used to pay off patient’s medical and prescription bill. After the reserved cash is exhausted, the patient is required to pay its medical and prescription bill based on his/her chosen plan coverage. Until maximum out of pocket amount is reached, the healthcare vendor will cover 100%.

The new healthcare plan can help ABC Company to save money when patient uses his/her reserved cash wisely and it also provides lower premium to its patient. If patient plans to have more operations in that year, the patient should be able to estimate how much he/she needs to spend. Thus, he/she can allocate pre-tax money on the company flexible spending account.

We will build a new database that can accomplish the mission. We will implement the database on MLPQ system, and demo its functionalities.

Database Constraint

The database contains the following sample of classes:

Doctor(name, address, city, state, did, class, spec)

-name: doctor name

-address: doctor office address

-city: the city of the doctor office is located

-state: the state of the doctor office is located

-class: doctor can be classified in primary, specialist

-spec: doctor’s specialization

Patient(name, address, city, state, pid)

-name: patient name

-address: patient home address

-city: the city of the patient home is located

-state: the state of the patient home is located

-pid: patient id

MedicalPlan(name, pno, reserved, maxOOP, premium, year)

-name: name of the plan

-pno: plan number

-reserved: cash reserved for patient

-maxOOP: maximum out of pocket

-premium: premium charge for the plan

-year: effective year of the plan

PrescriptionPlan(name, pno, premium, year)

-name of the plan

-pno: plan number

-premium: premium charge for the plan

DoctorClass(mpno, class, copay)

-mpno: medical plan number

-class: doctor’s classification

-copay: cost of patient copay charge

PrescriptionClass(ppno, branded, copay)

-ppno: prescription plan number

-branded

Service(name, sid, cno, fee)

-name: name of the service

-sid: service ID

-cno: contract number

-fee: service charge

Drug(name, drugId, company, branded, fee)

-name: drug name

-drugId: drug ID

-company: manufacture company name

-branded: is the drug classify branded?

-fee: the cost of the drug

Visit(pid, did, sid, month, day, year)

-pid: patient ID

-did: doctor ID

-sid: service ID

-month: month of the visit

-day: day of the visit

-year: year of service

Medicine(drugId, pid, month, day, year)

-drugId: drugID

-pid: patient ID

-month: month of the medicine subscribe

-day: month of the medicine subscribe

-year: month of the medicine subscribe

Contract(did, cno, year, expire)

-did: doctor ID

-cno: contract number

-year: year of the contract sign

expire: year of the contract expire

.

PParticipation(pid, mpno, ppno, year)

-pid: patient ID

-mpno, medical plan number

-ppno: prescription plan number

-year: effective of the participated plan.

MedicalPayment(mpno, ppay, vpay, fee)

This class is used for calculate patient payment and vendor payment to doctor’s service. We define this class because we could not write program to perform calculation.

-mpno: medical plan number

-ppay: patient pays portion of service charge.

-vpay: vendor pays portion of service charge.

-fee: cost of the service

PrescriptionPayment(dpno, vpay, fee, copay)

This class is used for calculate patient payment and vendor payment to drug charge. We define this class because we could not write program to perform calculation.

-dpno: drug plan number

-vpay: vendor pays portion of charge

-fee: cost of the drug

-copay: copay by patient