Sanjivani- Medical Practice Management System
SOFTWARE REQUIREMENTS SPECIFICATION
Prepared by: Rohan N. Shah
Kaustubh Phatak
Contents
------------
1. Introduction.
Purpose of Requirements Document
1.2 Document conventions
1.3 Intended audience and reading suggestions
1.4 Scope of development project
1.5 Definitions, Acronyms, and Abbreviations
1.6 References
1.7 Document overview
2 General Description.
2.1 Product Function
2.2 User classes and Characteristics
2.3 Operating environment
2.4 Design and Implementation constraints
2.5 User Documentation
2.6 Assumptions and dependencies
2.7 Overview of data requirements
2.8 User view of product use
3 External interface requirements
3.1 User interface
3.2 Hardware interfaces
3.3 Software interfaces
3.4 Communication interfaces
4 System features
4.1 Modules
5 Other non-functional requirements
5.1 Performance requirements
5.2 Safety requirements
5.3 Security requirements
5.4 Software quality attributes
5.4.1 Portability
5.4.2 Reliability
5.4.3 Testability
5.5 Special user requirements
5.5.1 Backup & Recovery
5.5.2 Data Migration & Retention
5.6 Installation
6 Other requirements
7 Entity Relationship diagram
1. INTRODUCTION
1.1 Purpose
This Software Requirement Specification (SRS) specifies the requirements of The Sanjivani- A complete Medical Practice Management System, which will be used in clinics and hospitals. This document will be used by the customer to ensure all specifications are correct and verified by the software engineer to design the system.
1.2 Document convention
Main Section Title: Font: Arial : BOLD : SIZE : 14
Sub Section Title: Font: Arial : BOLD : SIZE: 11
Other Text Matter: Font: Arial : Size : 11
1.3 Intended audience and reading suggestions
Hospital and Clinic Administrators: Hospital and Clinic Administrator will be using this software for overall management.
Doctors: Doctors will be using this to keep track of their patients, appointments, their consultation fees, and other details
Computer Operators: Computer Operators will be using this software to for patient billing, accounting and inventory tracking, patient records, employee records, etc
1.4 Scope of development project
The purpose of the MPPS software is to simplify the handling of day-to-day administrative and financial tasks so as to improve the efficiency. It shall integrate all aspects of running a hospital, as well as provide relevant information to various departments and doctors as and when required. Sanjivani is an enterprise wide resource planning solution for hospitals, which addresses the issues from multi disciplines vis-à-vis patient, hospital management, doctors and pharmacy. This solution is modular in nature having following modules- Billing, Patient Records, Accounting and Inventory Tracking and Human Resources Management Module for medical and non-medical staff.
1.5 Definition, Acronyms, Abbreviations
MPPS-Medical Practice Management Software
EPR- Electronic Patient Record
1.6 References
Books referred:
1. Java 2 Complete Reference
2. Java Unleashed
3. SAMS Teach yourself MySQL in 21 days
4. Mastering MySQL 4
1.7 Overview of document
The first section of SRS gives a brief idea what is the need of having a Medical Practice Management System. Along with this it also provides the reference information for design and implementation.
The second section throws light on overall description of functions, operating environment, design and implementation constraints.
The third section gives description of external interfaces such as user interface, software interface, and hardware interface.
The fourth section includes system features in detail.
The fifth section gives details of non-functional requirements such as security requirements, safety requirements.
2. OVERALL DESCRIPTION
2.1 Product Functions
The following is the list of the primary functions provided by Sanjivani:
1. Operations and Administration
User identification shall be checked before accessing Sanjivani.
Permit user to get existing information from database of Sanjivani depending on the permission level assigned to the user.
It shall report time critical information to user regularly.
The administrator shall be able to create, modify and delete different user levels and allow each user to access modules of Sanjivani based on his/her department and designation.
2.2 User classes and Characteristics
Administrators:
The Administrator(s) has all Operator control, along with features to directly update the system. The Administrator is responsible for overall user management and should have thorough knowledge of the system, database and networks.
The Administrator will be able to:
Create and modify user levels
Authorize new accounts
Modify/ Remove accounts
Control the overall configuration of the system
Operators:
Operators interact with the system through the overlying GUI. They must have comprehensive knowledge of the system, its behavior and also should be able to troubleshoot possible errors encountered.
The Operators will be able to:
Perform Patient Registration, Discharge and Transfer
Schedule Appointments
Enter patient records
Perform accounting, billing operations
Keep track of inventory of medicines, bio-medical instruments.
Maintain records of hospital staff like doctors, nurses, ward boys and non-medical staff like housekeeping.
Doctors:
Doctors shall be using the system mainly to access patient information.
Doctors will be able to:
Enter and schedule appointments
Obtain patient's past medical records
Obtain patient's various laboratory reports, tests performed and all other information for effective diagnosis.
2.3 Operating Environments
Operating System : Red Hat Linux
Processor: Pentium II and above
2.4 Design Implementation Constraints
It is assumed that the terminals are connected to the server using 100Mbps ethernet connections.
User Constraints
Each user can access only those modules and information permitted to him
Each user must keep the password private and that they must be greater than 7 characters.
Each user can access only from 1 site at a time.
At a time a maximum of 101 users can log in to the system (MySQL constraint)
2.5 User Documentation
The documentation and tutorials for the software will be provided after the product is fully developed and tested
2.6 Assumptions and Dependencies
Assumptions
Each terminal is always connected to the server whenever Sanjivani is running
The terminal running Sanjivani supports atleast JRE - 5
2.7 Hardware Dependencies/System Dependencies
Sanjivani requires minimum 128 MB RAM and recommended RAM is 256 MB
Sanjivani requires minimum 500 MHz Processor
Sanjivani requires JRE version 5 on the terminal
2.8 Overview of Data Requirements
Input: Patient information, previous records if any, patient-type, bed no, bills as and when charged to patients, patient's lab and test reports. Doctor’s information, appointment schedules, purchase receipts of medicines and bio-medical instruments, etc.
Output: Electronic Patient's Record, Doctors' record, etc
2.9 User View of Product Use
First, a patient is admitted to hospital. The patient is assigned a unique Patient Identification Number (PIN). All the required information is entered into Sanjivani database. As and when the tests and diagnosis are carried out, their reports are inputted. Also, appropriate bills are charged to the patient. When the patient is to be discharged or transferred to another hospital, all his medical reports, bills, etc is quickly made available. Also discrepancies if any can be checked.
The doctor enters details about the patients he is looking after, also consultations provided, etc. As and when medicines and other equipments are purchased their details are inputted into the database.
3 EXTERNAL INTERFACE REQUIREMENTS:
3.1 User Interface:
Login Screen: The users log in and access the system depending on privileges given.
Registration form: At the time of admission, patient's details like patient name, patient type, sex, bed number, referred from, doctor's name, illness, blood group, contact details, previous illness, etc
OPD Screen: Book appointments; attach reports and images to the patient's records.
IPD Screen: Book beds/Operation theatres/appointments; attach reports, images, and charges.
Inventory Management Screen: Present stock, usage.
Admin screen: Add and remove system users / change rights, password, perform backup and restore operations, change configurations, etc.
HR Screen: Administrator enters details about all the employees, which includes medical and non-medical staff. Their salaries payable, perks, etc.
Report preparing utility: Settings for preparing the reports such as medical reports, bills, etc
3.2 Hardware interface
Main Server: server is located in the hospital premises which hosts the database using MySQL
Clients: each dept is provided with client systems, which run the app and connect to the database server using internal LAN
Internal connections: internal connections are hi-speed Ethernet connections
External connections: external connection is provided by means of Internet and/or private dialup access.
3.3 Software interface
Sanjivani is a multi user, multi-tasking environment. It uses Java 2 Standard Edition as front end and MySQL as backend database.
3.4 Communication Interface:
The entire communication interface is handled by the operating system. Example sockets are used for communication between MySQL server and Sanjivani.
4 SYSTEM FEATURES
4.1 Modules:
Patient Records
This module consists of Registration, OPD and IPD panels. This module provides all the information about the patient as per the user access level.
Doctors have access to the patient’s medical records. They can view the results of tests conducted and medical history. They can also append medical details of the patient as per their diagnosis.
Lab technicians attach reports of the various tests conducted in the hospital.
Computer operators can add/edit other relevant patient information. They also perform registration and other formalities.
Human Resources Module:
This module is responsible for employee management. Typical hospital consists of doctors, nurses, ward boys, lab technician, house keeping staff and clerks. HR module keeps track of various details such as salaries, perks, medical benefits, leaves, etc. However, only the HR staff and Administrators can access this module.
Accounting and Inventory Module
This module allows tracking of the inventory and finances. All purchases made by hospital such as medicines, bio-medical equipments and other relevant items are recorded by this module. It allows bookkeeping, generates Income and Expenditure Account, Balance Sheet and other accounting reports. It generates various Inventory reports, allows the hospital staff to view total stock available. Based upon the reports hospital can decide which medicines are sold faster so that they can keep adequate stock of it.
Billing Module
This module generates bills of patients as per the information about the various services offered. The services include the bed, tests, consultation, medicines, etc. The module automatically generates bills according to the services used by the patient.
The Pharmacy Dept will basically use this module. This module keeps tracks of sales of medicines. This module will be linked to Accounting and Inventory module so that the net stock of medicines is always available.
5 OTHER NON-FUNCTIONAL REQUIREMENTS:
5.1 Performance requirements
The important aspect of Sanjivani is that it must offer complete control management and all information at the click of a button. Response time of server may not be greater than 1 min. Number of terminals is not restricted by the application but the operating system or N/w may impose some restrictions, in any case only one login per terminal and only one login per user name is allowed
5.2 Safety Requirements:
Sanjivani must guarantee that the data is safe.
It keeps backup of all data files in separate directory, tape drives, etc
5.3 Security requirements
Access to the system will only be granted to the operators after authentication
Each user will be provided with a user name, password (minimum 8 characters) and access level. The user can access only those modules and features as permitted by the administrator.
Administrator(s) will have access to entire system
5.4 Software quality attributes
The product is open source so its source code will be available for everyone to see. It will be free for further modifications and improvements.
5.4.1 Portability
Sanjivani must have a simple, user-friendly interface so customers can save time.
The software system must be intuitive enough such that a user with average background in using computers with little knowledge of Sanjivani can quickly learn how to use it.
The software must provide a modern point-click user interface for the operators of the system to use.
5.4.2 Reliability
The reliability of the software system is important. Any failure reporting must be correctly reported. It should reject invalid user input without crashing. Errors should be displayed to the user in a simple language. Sanjivani must ensure proper memory management.
5.4.3 Testability
The requirement of this SRS will be verified through the exercising of test cases as described by the requirement. Each requirement of this SRS will be tested by thoroughly running the system with all forms of input. System should be closely monitored during and after user testing to ensure that any fault is quickly fixed
5.5 Special User requirements
5.5.1 Backup and Recovery
Keep backups of all data files in tape drives, separate directory/drive
Frequently auto save information in case of system failure
5.5.2 Data Migration and Retention
As all information is stored in a MySQL database, data migration and retention can be easily performed.
5.6 Installation
Setting up a conducive environment for the efficient running of Sanjivani, like setup of Database Server, etc.
Not applicable
7 ENTITY RELATIONSHIP DIAGRAM