Software Requirements Specification

Software Requirements Specification

SRS

Clinic Appointment

Scheduler System

C.A.S.S.

September 30, 2005

Concordia University

Team Members

Name / Responsibility
Julie Petrusa / Section 1, Editor
Loay Qasem / MySQL Configuration, Administrator Use Cases
Nuzhat Jilani / Functional Requirements, Doctor Use Cases
Yun Xu / Web Server Configuration, Patient Use Cases
Mohammad Yassine / Section 3, Administrator Use Cases, Editor
Yuhuai Zhang / Domain Model, Patient Use Cases
Carlos Villarruel
(Team Leader) / Section 2, Doctor Use Cases

Contents

1. Introduction

1.1 Purpose 5

1.2 Scope 5

1.3 Definitions, Acronyms, and Abbreviations 7

1.3.1 Definitions 7

1.4 References 8

2. Overall description 9

2.1 Product Perspective 9

2.2 Product Funtions 10

2.3 User Characteristics 11

2.4 Assumptions and Dependencies 11

3. Specific Requirements 12

3.1 Functional Requirements 12

3.1.1 Domain Model 12

3.1.2 Use case model 13

3.2 Performance Requirements 26

3.2.1 Static Requirements 26

3.2.2 Dynamic Requirements 26

3.3 Logical Database Requirements 26

3.4 Design Constraints 26

3.5 Security Requirements 27

3.6 Software System Attributes 27y

Apendixes

A. Analysis Model / 29
A.1 Structural model / 29
A.1.2 Domain Model / 29
A.2 Behavioral Model / 30
A.2.1 Use Case Model / 30
A.2.1.1 Use Case Diagram / 30
A.2.1.2 Sequence Diagrams / 31

List of Figures

Figure 1 / Domain Model Diagram / 29
Figure 2 / Use Case Model / 30
Figure 3 / CASS-FR-PT-SD-Book-Appointment / 31
Figure 4 / CASS-FR-PT-SD-Cancel-Appointment / 32
Figure 5 / CASS-FR-PT-SD-Edit-Personal-Information / 33
Figure 6 / CASS-FR-PT-SD-Create-Account / 33
Figure 7 / CASS-FR-PT-SD-Consult-Appointments / 34
Figure 8 / CASS-FR-DR-SD-Cancel-Appointments / 35
Figure 9 / CASS-FR-DR-SD-Schedule-Special-Appointments / 36
Figure 10 / CASS-FR-DR-SD-Edit-Personal-Information / 37
Figure 11 / CASS-UC-Use-Cases-Generalization / 37
Figure 12 / CASS-FR-DR-SD-View-Appointments-By-Date / 38
Figure 13 / CASS-FR-DR-SD-View-Appointments-By-Name / 38
Figure 14 / CASS-FR-DR-SD-View-Appointments-All / 38
Figure 15 / CASS-FR-AD-SD-Create-Doctor-Account / 39
Figure 16 / CASS-FR-AD-SD-Configure-Employee-x-Department / 40
Figure 17 / CASS-FR-AD-SD-Configure-Clinic-Departments / 41
Figure 18 / CASS-FR-AD-SD-Configure-Department-Appointment-Duration / 42
Figure 19 / CASS-FR-AD-SD-Suspend-Doctor’s-Account / 43
Figure 20 / CASS-FR-AD-SD-Schedule-Doctor’s-Unavailability / 44

1. Introduction

The Software Requirements and Specifications document (SRS) collects, analyzes, and defines high-level needs and features of the web-based Clinic Appointment Scheduler System (C.A.S.S.). Hospitals, clinics and other medical facilities will use C.A.S.S. to manage all aspects of scheduling appointments for their patients. This software replaces the tasks that would normally be given to a receptionist or secretary by allowing patients to schedule their own appointments and by allowing doctors to manage their appointments. This application can also be adapted to businesses that schedule appointments for their clients, for example, car dealers, beauty salons, etc. For simplicity, this SRS will only refer to medical facilities, doctors and patients. The document will describe the product functions, requirements and constraints of the web-based Clinic Appointment Scheduler System.


The details of how the web-based Clinic Appointment Scheduler System fulfills these needs are explained in the use-cases. More details will be available in the upcoming system design phase report.

1.1 Purpose

The purpose of this document is to define the requirements and the specifications of the web-based Clinic Appointment Scheduler System. It will describe the product functions, specific requirements, constraints and an analysis model. The analysis model will include use-case diagrams, class diagrams, sequence diagrams and state transition diagrams. This document is intended primarily for the modeling and design team developers of the web-based Clinic Appointment Scheduler System and the project co-coordinator and shall serve as a basis for the upcoming phases of the project.

1.2 Scope

This web-based Clinic Appointment Scheduler System shall enable patients and doctors to schedule and manage their appointments with the latest software technology from the comfort of their homes and offices. C.A.S.S. is capable of many interdependent tasks, some of which relate to patients scheduling their appointments, and some of which relate to doctors managing their appointments. C.A.S.S. consists of three user interfaces: the patient interface, the doctor interface, and the administrator interface.

There are three user levels for this software, namely:

·  Patient

·  Doctor

·  Administrator

The scope of the patient is limited to:

·  Logging into the patient interface of the system using a username and password: This applies to returning patients only.

·  Entering their personal information: New patients are required to fill in a form in order to enter their personal information. The patient’s personal information will be stored in a database. The patient’s personal information includes their name, address, telephone number, e-mail address, SIN, Medicare card number, username, password, etc.

·  Modifying their personal information: Once a returning patient is logged in, they will be able to update their personal information if necessary.

·  Scheduling their appointment(s): Patients can schedule their own appointments via the Internet. The patient will be able to choose the type of appointment he/she needs, for example, the appointment could be for a regular check-up, a blood test, an operation, etc. Each of these appointment types will require a different amount of time, for example, a regular check-up can be half an hour while an operation can be three hours. Also, each appointment type will be associated with a different doctor. Once the patient has chosen their appointment type, they will be able to choose a date and time for their appointment. The time slots will depend on the time that is needed for the appointment type that was chosen and the availability of the doctor that is associated with that appointment type.

·  Modifying their appointment(s): Returning patients will be able to modify their appointments if necessary.

·  Canceling their appointment(s): Returning patients will be able to cancel their appointments if necessary.

·  Viewing, printing or emailing their schedule: Once the patient has made their schedule, they will be able to view it on their screen, print it or email it.

The scope of the doctor is limited to:

·  Logging into the doctor interface of the system using a username and password: This applies to returning doctors only.

·  Entering their personal information: New doctors are required to fill in a form in order to enter their personal information. The doctor’s personal information will be stored in the database. The doctor’s personal information consists of their name, address, telephone number, social security number, etc.

·  Modifying their personal information: Once a returning doctor is logged in, they will be able to update their personal information if necessary.

·  Scheduling the time(s) that they will not be available to meet with patients: For example, they can set their lunch hour from 12:00 to 1:00 so that patients will not be able to schedule appointments during this time.

·  Modifying the time(s) that they will not be available to meet with patients: Returning doctors will be able to modify their availability if necessary.

·  Canceling the time(s) that they will not be available to meet with patients: Returning doctors will be able to cancel their unavailable times if necessary.

·  Viewing, printing or emailing their schedule: Once the doctor has made their schedule, they will be able to view it on their screen, print it or email it. Their schedule will also contain information about their patients.

1.3 Definitions, Acronyms, and Abbreviations

1.3.1 Definitions

1.3.1.1  Technical Definitions

·  Operating System: In computing, an operating system (OS) is the system software responsible for the direct control and management of hardware and basic system operations. Additionally, it provides a foundation upon which to run application software such as word processing programs and web browsers.[1]

·  Database: A database is a collection of data elements (facts) stored in a computer in a systematic way, such that a computer program can consult it to answer questions. The answers to those questions become information that can be used to make decisions that may not be made with the data elements alone. The computer program used to manage and query a database is known as a database management system (DBMS).[2]

·  Web Server: A web server is a computer responsible for serving web pages, mostly HTML documents, via the HTTP protocol to clients, mostly web browsers.[3]

·  HTML: In computing, HyperText Markup Language (HTML) is a markup language designed for the creation of web pages and other information viewable in a browser. HTML is used to structure information -- denoting certain text as headings, paragraphs, lists and so on -- and can be used to define the semantics of a document.[4]

·  PHP: PHP is a popular open-source; reflective programming language used mainly for developing server-side applications and dynamic web content, and more recently, other software.[5]

1.3.1.2 Domain Definitions

·  Medical Facility: In this document, the terms medical facility, hospital and clinic will be used interchangeably. A medical facility is an institution for professional health care provided in part by physicians and nurses.[6]

·  Doctor: In this document, the terms doctor, physician and medical professional will be used interchangeably. A doctor is a person who practices medicine.[7]

·  Patient: A patient is any person who receives medical attention, care, or treatment. A patient is often ill or injured and is being treated by, or in need of treatment by, a physician or other medical professional.[8]

·  Administrator: One who administers affairs; one who directs, manages, executes, or dispenses, whether in civil, judicial, political, or ecclesiastical affairs; a manager.[9]

·  Appointment: An appointment is a time reserved for something such as a doctor visit, much like a reservation.[10]

·  Schedule: In this document, the terms schedule and timetable will be used interchangeably. A schedule is an organized list or timetable, usually set out in tabular form, providing information about a series of arranged events: in particular, the time at which it is planned these events will take place.[11]


1.3.2 Abbreviations
SRS – Software Requirements Specifications

C.A.S.S. - Clinic Appointment Scheduler System

Dr – Doctor

Admin – Administrator

SIN – Social Insurance Number

OS – Operating System

DB – Database

DBMS – Database Management System

HTML – HyperText Markup Language

HTTP – HyperText Transfer Protocol

PHP – PHP Hypertext Preprocessor or Personal Home Page

1.4 References

[1] Pankaj Kamthan, http://cmvl.cs.concordia.ca/courses/comp-5541/fall-2005/ (current September 22, 2005).

[2] Wikipedia, http://www.wikipedia.org/ (current September 22, 2005).

2. Overall description

2.1 Product Perspective

C.A.S.S. is intended to be used in Medical clinics in order to help improve appointment services. There already exists a wide variety of similar products on the market. Most of these commercial applications are intended to be very general and try to cover any possible business. Although these products exist, Medical clinics still exhaust a great deal of time and money scheduling their appointments. This is because Medical clinics have very specific needs that differ from other businesses. C.A.S.S. is a web-based application that is tailored to a Medical clinic’s needs.

2.1.1 System Interfaces

Not required.

2.1.2 User Interfaces

CASS contains three different types of users, and can be seen from different perspectives:

1)  Patients. Patients will be able to:

a.  Book an appointment

b.  Cancel an appointment

c.  Edit Personal information

d.  Create his/her account

e.  Consult his/her appointments

2)  Doctors. Doctor shall be able to:

a.  Cancel appointments

b.  Schedule special appointments

c.  Edit his/her profile. Meaning s/he will be able to change his/her address, etc. S/he can also make changes to his/her schedule, for example, set vacations, days off, etc.

d.  Consult his/her appointments

3)  Administrators. Administrator will be able to:

a.  Activate or deactivate a doctor

b.  Configure employee catalogs

c.  Configure departments

d.  Configure employees in a department

e.  Create an doctor’s account

2.1.3 Hardware Interfaces

Not required

2.1.4 Software Interfaces

Not required

2.1.5 Communication Interfaces

Not required

2.1.6 Memory Constraints

CASS is supported by any web browser and can be accessed by any computer with internet access.

The following is needed for the architecture of our web browser:

Pentium IV

256 MG Ram

250 GB HDD

2.1.7 Operations

Backup the database on a monthly basis.

2.1.8 Site Adaptations requirements

Not required.

2.2 Product Funtions

2.2.1 Patients

2.2.1.1 Book Appointment

The patient shall be able to book an appointment with any doctor. There are some types of appointments that can only be made by a doctor, e.g. a surgery.

2.2.1.2 Cancel an Appointment

The patient can cancel his own appointment, as long as he cancels it 60 hours in advance.

2.2.1.3 Edit Personal Information

The patient will be able to modify his/her personal information such as his/her address, telephone number, etc.

2.2.1.4 Create a Patient Account

The patient needs to register with CASS in order to book appointments. The patient must provide the following information: Medicare card number, contact information, username and password.

2.2.1.5 View Appointments

The patient will be able to consult all of his or her active appointments.

2.2.2 Doctors

2.2.2.1 Cancel Patient Appointments

In the case of an emergency, a doctor may need to cancel his/her appointments. The system will send an e-mail to all the patients affected by the change.

2.2.2.2 Consult Appointments

A doctor may need to identify all of the appointments that have been scheduled for a specific day or week.

2.2.2.3 Edit Personal Information

There are certain exceptions in which a doctor will not be able to follow his/her regular schedule. For example, vacations, illness, etc. CASS allows the doctor to modify his/her schedule for a short period of time.

Scenario CASS-FR-DR-SD-Edit-Personal-Information

Preconditions:

1)  System must be online

2)  Doctor account must exist

3)  Doctor must log into CASS

2.2.2.4 Schedule Special Appointments

When surgery is needed, an administrator must schedule the appointment on the doctor’s behalf. The patient will not have control over the time and date.

2.2.3 Administrator

2.2.3.1 Management Catalogs

The administrator will be responsible for the following tasks: add a new doctor, add department information, add types of appointments, and set time limits for each type of appointment.

2.2.3.2 Create Doctors Accounts

Each time a new doctor joins the clinic, the administrator needs to add the doctor to the network.