LH Medical Company (LHM)
LHM is a London based privately owned hospital which provides healthcare to its patients. The hospital uses in-house software to manage and service its patients which they refer to as clients. It is an expanding venture and needs to accommodate for processing its information globally. The practice management system is web enabled and multi-platform for connectivity via web services, in addition it has connectivity to existing legacy systems. An enterprise document management system ensures patient documents are replicated globally and available per demand.
In addition to medical treatments, medicine and drugs, consultation and vaccinations are offered to its patients (with a variable additional fee) the company offers medical instruments to other companies either to purchase or to lease. LHM records the details of its clients with possibly their full medical history in their computer system. When a new patient requests an appointment (walk-in or on-line) a treatment course begins and a practitioner is allocated to the patient. A full history and previous medical records are printed showing different categories of Treatments during different time intervals. Analyses are drawn in terms of any possible allergies and previous histories. Treatments may involve many surgeons and consultants depending on its complexity.
The contact practitioner is responsible for estimating the costs of treatments that is agreed by the client at the start of the treatment. The duration of the treatment may be set at any time duration and may also be changed during the treatment depending on the complexity of possible operations. The final cost and completion date are recorded at the end of the treatment.
During a treatment process notifications may be sent to patients and other practitioners.
Repeat prescriptions may automatically be produced by the system if appropriate and are available for collection at any surgery by the patient. At any time a practitioner may suspend or cancel the prescriptions. The cost for a treatment is paid for by the client or an insurance policy provided by a number of insurers. Insurance policies may have additional surcharges and costing depending on treatment types and medicines. Long term treatment courses may be edited or cancelled by practitioners or clients. To re-start an existing treatment an additional fee is applied.
LHM may receive requests for specialise treatments from other hospitals or they may refer clients to other medical centres.
Each treatment course or service may include one or more of the following items:
• Operations and vaccinations
• Consultations and check-up
• Medicine and different types of tablets
• Clinical reports and attached documents and history
• Prescriptions and repeat Prescriptions
Payments by clients may be in full or part payments to cover a range of medical and non-medical services offered by the company. Payments may include possible applied surcharges for late payments and or special discounts for long term treatments. Tax allocations may also vary from one treatment item to another. Payments have to accommodate for price changes for medicines and medical services and track price changes for drugs purchased from pharmaceutical companies.
A treatment course comprising services from other hospitals carry additional changes set by the medical service providers. A full list of Treatment courses with corresponding payments may be requested by the site manager at any time. Clients’ outstanding balances may be retrieved at any time for current treatment and services indicating the payments for the treatment course.
This assignment is accompanied with a case study describing a high level system specification for an application. You are required to provide UML models for ONLY ONE appropriate use case. Your selected use case must be agreed by your module tutor.
Develop a Use case model with one use case. As part of your answer produce the use case description and use case scenario.
Produce a Class diagram and domain model with appropriate refactoring and abstraction, related to the selected use case. As part of your model, produce a system class with clear set of public methods.
Produce a Sequence Diagram for the selected use case. Include possible guards, iteration, and message operations in your diagram.
Incorporate OCL to represent the business logic, rules and constraints for the selected use case. As part of your solution include the correct syntax for pre and post conditions, navigation, and multiplicities.
Produce a Component model with associated interface methods. As part of your model, illustrate various possible component composition and discuss the significance of your design.
Produce a software architectural design and associated interface methods. Discuss coupling and cohesion aspects of your design.
Enhance your class diagram given as part of Task1 to contain the Mediator design pattern. Illustrate and discuss how your model can be extended with the observer pattern.