Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 31

03/05/2024

Pharmacy Management System


Functional Specifications Document

PREPARED BY: KEERTHIKAN


Table of Contents
1. Introduction 4
1.1 Purpose 4
1.2 Project Scope 4
2. System Overview 5
2.1 Data Flow Diagram, Application Screen Flow, Sitemap, and Process Flows 5
2.1.1 High Level Data Flow Diagram 5
2.1.2 Sitemap 6
2.1.2.1 Sitemap for Sub-domain Users 6
2.1.2.2 Sitemap for Administrator 7
2.1.3 Process Flow 8
2.1.3.1 Process Flow for sub-domains 8
2.1.3.1.1 Sign Up 8
2.1.3.1.2 Manage Profile 9
2.1.3.1.3 Drug Request 9
2.1.3.2 Process Flow for Administrator 10
2.1.3.2.1 Sign In 10
2.1.3.2.2 Manage Profile 10
2.1.3.2.3 Manage Users’ Accounts 11
2.1.3.2.4 Add User 11
2.1.3.2.5 Manage Dashboard 12
2.1.3.2.6 Manage Stock 12
2.1.3.2.7 Manage Order 13
2.1.3.2.8 Sample Report view 13
13
2.2 Intended Stakeholders/Audience 14
2.3 Dependencies and Change Impacts 14
2.3.1 Dependencies 14
3. Functional Specifications 14
3.1 Functional Requirements 14
3.1.1 Sub-domain User 14
3.1.2 Administrator 18

Page | 1 Version 1.0


3.2 Architecture Diagram 20
4. System Configurations 21
4.1 Hardware Requirements 21
4.2 Operating Environment 21
4.3 Web Browser 21
5.3 Security 23
5.4 Availability 23
5.5 Expendability 24
5.6 Maintainability 24
5.1 Responsiveness 24
5. Data Migration/ Conversion Requirements 25
5.1 Data Conversion Strategy 27
5.1.1 Data Migration Strategies 27
5.1.1.1 “Big Bang” Migration 27
5.1.1.2 “Trickle” Migration 28
5.2 Data Conversion Preparation 28
5.2.1 Explore and Assess the Source 28
5.2.2 Define and Design the Migration 29
5.2.3 Build the Migration Solution 29
5.2.4 Conduct a Live Test 29
5.2.5 Flipping the Switch 29
5.2.6 Audit 29

Page | 2 Version 1.0


Sr. No Version Updated By Updated on

1. 1.0 Keerthikan 03.05.2024

Page | 3 Version 1.0


1. Introduction
This document is originally prepared to describe the comprehensive Functional Specifications
Document of the project “Pharmacy Management System”. This document describes the
purpose, problem statement, proposed solution, intended stakeholder/users, and their features in
detail. It outlines the functionality of the product that desires to meet the needs of both business
and user side stakeholders. However, all the written specifications are set out according to the
IEEE standards.
1.1 Purpose
The core aim of this document is to explain all the features and functionality specifications
needed for the project of “Pharmacy Management System''. It will help to ensure that all the
intended audience involved in the project, including developers, designers, project managers, and
clients, have a shared understanding of what the system is supposed to do and what features it
should have. It illustrates, in clear terms, the system’s primary uses and required functionality as
specified by our customer. It shall also serve as a basis to update the system and to develop next
versions.

1.2 Project Scope


The scope of the "Pharmacy Management System" is to establish an efficient online platform for
managing pharmacy inventory. The system will enable seamless management of stock levels, tracking
of expiration dates, and ordering of pharmaceutical products. It will provide functionalities for inventory
categorization, batch tracking, and supplier management. Moreover, the system will allow for the
creation of user profiles with varying access levels to ensure secure access to sensitive inventory data. It
will also facilitate the generation of reports and analytics to aid in decision-making and business insights.
In summary, the scope of the system is to provide a robust, secure, and user-friendly platform for
managing pharmacy inventory effectively, thereby optimizing business operations and ensuring
regulatory compliance.

Page | 4 Version 1.0


2. System Overview
The Pharmacy Management system acts as the central nervous system for your stock control.
By offering features like searchable drug databases, automatic reorder point alerts, and expiry
date tracking, it keeps pharmacists on top of their medication levels. This not only minimizes the
risk of stockouts and ensures patients can access the medications they need, but also reduces
wasted resources and optimizes purchasing decisions.

2.1 Data Flow Diagram, Application Screen Flow, Sitemap, and Process Flows
2.1.1 High Level Data Flow Diagram

Request for Drugs


& medical disposables

Manage Profile (view, edit, update)


Login
Sign In
Others Pharmacy Logout
Manage profile
Management Manage reports Admin
System Manage Users Accounts
Manage Stock
Manage Order

Track Request Manage Supply


Register Users

Receive Notifications

Page | 5 Version 1.0


2.1.2 Sitemap
2.1.2.1 Sitemap for Sub-domain Users

Sign Up Sign In

Sub-domain Dashboard

Manage Notification
Home Account Drugs Medical Disposables Requests

View Categories
View Dashboard View Profile View View View

Edit Profile
View Drug Details Search View Requests
summary
Delete

Change Password
Add into Add into Request form Track Requests
Request form

View Request History


Cancel Request

Logout

Page | 6 Version 1.0


2.1.2.2 Sitemap for Administrator

Sign In

Admin
Dashboard

Home Profile Users' Accounts Queries Manage Stock Manage Request

View View View View View View

Generate report of
Edit Theme Edit Search Respond Search
dispense

Manage Widgets Change Password Remove Remove Remove Cancel requests

View Requests Add sub domain Add User Fill Form to Add Add Add more quantity

Page | 7 Version 1.0


2.1.3 Process Flow
2.1.3.1 Process Flow for sub-domains
2.1.3.1.1 Sign Up

Sign In

Click on Enter
Start Sign In Sign In
button Details End
User

Display Displays Sign In


Display
Sign In Error No Details yes
Dashboard
Form Message Valid?
System

Page | 8 Version 1.0


2.1.3.1.2 Manage Profile

Manage Profile

Edit First Name, Click on


Click on My Enter Old, and Re-Enter New
Start Last Name, or Change End
Profile New Password Password
Email Password
User

Display Error Display Password


False Confirm Old
Updated
Displays Display updated Display Change Message Password?
Successfully
My Profile profile Password Screen True
System

True
Password Matched
False
Entered Password?

2.1.3.1.3 Drug Request

Manage Requests

Click drug Add all the View Track Request


Start request
needed drugs requests Status
Click on submit
User

button End
Update Status
False

Confirm Request? Dispatch Drug


Displays
Display Added
drug Send Request to
successfully
details Main store

True

Page | 9 Version 1.0


2.1.3.2 Process Flow for Administrator
2.1.3.2.1 Sign In

Manage Profile
Administrator

Edit First Name,


Click on
Click on My Last Name, Enter Old, and Re-Enter New
Start Change End
Profile Mobile No, or New Password Password
Password
Address

Display Password
Display Error Confirm Old Updated
Message False Password?
Displays Updates the Display Change Successfully
Profile changes Password Screen
True

True
Password Matched
False
Entered Password?

2.1.3.2.2 Manage Profile

Manage Profile
Administrator

Edit First Name,


Click on
Click on My Last Name, Enter Old, and Re-Enter New
Start Change End
Profile Mobile No, or New Password Password
Password
Address

Display Password
Display Error Confirm Old Updated
Message False Password?
Displays Updates the Display Change Successfully
Profile changes Password Screen
True

True
Password Matched
False
Entered Password?

Page | 10 Version 1.0


2.1.3.2.3 Manage Users’ Accounts

Manage Users’ Accounts


Administrator

Click on Click on User Click on


Remove Confirm Remove End
Start Manage Search Users to view
User
Users Details

Yes

Confirm
Remove
System

Display Display Results of Remove User


Display User Action?
Users Page Search from System
Details

Display Users
Cancel
Page

2.1.3.2.4 Add User

Add User
Administrator

Click on Add Enters First Name,


Users Section End
User Last Name, Email

Display Form to Sends Invite and displays


Fill message “Invite Sent
Successfully”

Page | 11 Version 1.0


2.1.3.2.5 Manage Dashboard

Manage Dashboard
Administrator

Click on
Click on Click on Widgets Edits the
Start Manage End
Home to Add or Remove Theme
Widgets
System

Display Users,
Display Widgets Display Display
Statistics, Updated
for Dashboard Updated
Requests Dashboard Dashboard

2.1.3.2.6 Manage Stock

Manage Stock
Administrator

Click on Search Click on


Click on Stock add in Confirm add End
Start Manage Product’s
to view stock
Stock stock

Yes

Confirm add
Display product in
System

Display Results of Add product in


Stock Displays the tock Action?
Search stock
Section Stock

Display updated
Cancel
stock Section

Page | 12 Version 1.0


2.1.3.2.7 Manage Order

Manage Order
Administrator

Click on View Click on


Start Manage customer’s order Dispatch order End
Order order section details

Yes

Display
System

Confirm
Order Display Results order?

Section

Display Cancel
Cancel
order status

2.1.3.2.8 Sample Report view


Administrator
System

Page | 13 Version 1.0


2.2 Intended Stakeholders/Audience
This section identifies the various users that will use this system. Users may be differentiated
based on the frequency of use.

 Product Owner
 Development team
 Business Analyst
 QA team
 Visitors
 Customers
 Contractors
 Admin

2.3 Dependencies and Change Impacts


2.3.1 Dependencies
DEP.01: Customers must have an internet connection to access the system.
DEP.02: Customers must have a compatible web browser installed on their device to access the
system.

3. Functional Specifications
3.1 Functional Requirements
Functional requirements describe all the operational features that must be implemented in the
system to allow users to perform their tasks thoroughly. Following are the functionalities of the
system under consideration.

3.1.1 Sub-domain User


Sr# Description
Registration/SignUp
FR-01 The system shall be able to provide the facility to user to register
themselves by clicking the link provided by the admin.
FR-02 The system shall be able to provide the facility users to provide personal
information by filling out a basic registration form.

Page | 14 Version 1.0


FR-03 The system shall be able to provide the facility to customers to provide a
 Username.
 Strong password of 8 characters including letters and numbers.
FR-04 The user will create valid login credentials.
SignIn/SignOut
FR-06 The system shall be able to provide the facility to the customers to log in to the
system with valid login credentials.
FR-07 The system shall be able to provide the facility to reset the account’s password.
FR-08 The system shall be able to provide the facility to customers to logout from
system.
Manage Profile

Page | 15 Version 1.0


FR-09 The system shall be able to provide the facility to the users to view the
profile details.
 Username
 Email
 Contact Info

FR-10 The system shall be able to provide the facility to view all the drug list.
FR-11 The system shall be able to provide the facility to update the profile data.
FR-14 The system shall be able to provide the facility to change user’s password.
Browse Drugs
FR-15 The system shall be able to provide the facility to the users to view available
drugs.
FR-16 The system shall be able to provide the facility to view available medical
disposables.
FR-17 The system shall be able to provide the facility to customers to browse drugs by
various identifiers.
 Name
 Brand
FR-18 The system shall be able to provide the facility to users to view a thumbnail
of the relevant drugs as well as a brief description of each drug.
Request Drugs
FR-19 The system shall be able to provide the facility to the users to request drugs.
.
FR-20 The system shall be able to provide the facility to check the status of the requests

Page | 16 Version 1.0


FR-21 The system shall be able to provide the facility of edit request
 Increase quantity
 Decrease quantity
FR-22 The system shall be able to provide the facility to cancel the request
FR-23 The system shall be able to provide the facility to edit the request before
approval.

Page | 17 Version 1.0


3.1.2 Administrator
Sr# Description
Login/Logout
FR-01 The system shall be able to provide the facility to login into the system using:
 Predefined Email ID
 Password
FR-02 The system shall be able to provide the facility to change account password.
FR-03 The system shall be able to provide the facility to reset the password if the admin
forgot his password.
FR-04 The system shall be able to provide the facility to logout from the system.
Manage Account
FR-05 The system shall be able to provide the facility to view profile.
FR-06 The system shall be able to provide the facility to update profile details.
Manage Reports
FR-07 The system shall be able to provide the facility to print a report.
FR-08 The system shall be able to provide the facility to download a report.
FR-09 The system shall be able to provide the facility to share a report.
FR-10 The system shall be able to provide the facility to apply filters on a report:
 Date
 Month
 Year
Manage Users Account
FR-11 The system shall be able to provide the facility to update users’ account by
following:
 Add

Page | 18 Version 1.0


 Update
 Delete
 Verify
 View
FR-12 The system shall be able to provide the facility to the admin that he can search
users’ account by various features:
 Filters
 Identifiers
FR-13 The system shall be able to provide the facility to view all the details of the user.
FR-14 The system shall be able to provide the facility to remove the user account if he
wants, in case of any acts regarding terms and conditions.
Manage Stock
FR-15 The system shall be able to provide the facility to manage stock when any drug
stock goes under the minimum level.

FR-16 The system shall be able to provide the facility to keep track of each drug
stock.
Manage order
FR-17 The system shall be able to provide the facility that admin to dispatch drug based
on first come first out order
.
View Suppliers
FR-18 The system shall be able to provide the facility to view supplier details.
FR-19 The system shall be able to provide the facility to keep track of payment details of
suppliers.

Page | 19 Version 1.0


3.2 Architecture Diagram

Relational Database
Authentication (for order management)
and User Services
Authorization

Delivery Engine
Admin Order
Service

Payment
service
Elastic Search Cluster

UI API Gateway

Sub-domains Inventory
service

Tracking
Service

Central
Message
Queue
Micro
services

Notification Service

Page | 20 Version 1.0


4. System Configurations
4.1 Hardware Requirements
Sr.no Browser name Supported versions

1. Processor Family Intel x86 or x64

2. Processor Speed 1 GHz

3. Memory (RAM) 1 GB RAM

4. Display 1024 x 768

4.2 Operating Environment


Sr.no Browser name Supported versions

1. IOS iPhone 8 and above

2. Windows 8, 10, 11

3. Android 9 and above

4. Linux Linux Mint 21.1 “Vera”

4.3 Web Browser


Sr.no Browser name Supported versions

1. Chrome Version 107.0.5304.107 (64-bit)

2. Safari Version 107.0.02.107 (64-bit)

3. Firefox Version 110.0.1.0 (64-bit)

Page | 21 Version 1.0


4. Opera Version 17.0.5.37 (64-bit)

5. Microsoft edge Version 107.0.1418.34 (64-bit)

Page | 22 Version 1.0


5.3 Security
S_1: When the user enters a password, system should only accept 8 characters
password including numbers and letters.
S_2: The system must restrict the user to add digits and special characters in the password.

S_3: Whenever the user writes a password, the system must encrypt it using a hashing
algorithm to assure privacy and confidentiality.

S_4: The system should encrypt sensitive data, in transit and at rest, to protect it from
unauthorized access.
S_5: The system shall not leave any cookies on the user’s device containing the user’s

password. S_6: The system should not allow access to information outside of the user’s

authorized scope. S_7: The user’s data must only be accessible by the administrators of the

system.

5.4 Availability
A_1: The users should be able to use the system 24 hours per day, 7 days a week, 365 days a
year (99% of the time.), except during updates or maintenance.

A_2: The system should notify users of planned downtime five days prior to the downtime.

A_3: Maintenance downtime should not be more than two hours

A_4: Maintenance of the system should be handled on time other than during office hours for
the region

A_5: Unplanned downtime should be handled on an immediate basis to make the system
available for users again

Page | 23 Version 1.0


A_6: The system should have regular maintenance schedules to fix bugs to improve
performance and availability.

A_7: The system should have a reliable data recovery system to protect the data loss.

5.5 Expendability
E_1: The system should be able to handle a high volume of users without crashing down

E_2: The system should have capability to add new features without disrupting the flow of
already existing features.

5.6 Maintainability
M_1: The system should be easy to make changes at the code level, and the code should be well
refactored.

M_2: The system should be designed in modular way to make it easier to update and modify
individual components

5.1 Responsiveness
R_1: The system will have a responsive user interface for browser in all devices, i.e. mobiles,
desktop computers, laptops, and tablets.

Page | 24 Version 1.0


5. Data Migration/ Conversion Requirements
Data migration is the process of transferring data from one storage system, format, or location
to another. This process is often performed when an organization upgrades or replaces its
existing hardware or software systems, such as moving from an old database management
system to a new one, or transferring data from a legacy system to a modern one. Data migration
can also be required when merging two different systems, consolidating multiple databases, or
moving data to the cloud.
Data migration typically involves a series of steps, such as planning the migration, identifying
the data to be migrated, preparing the data for migration, testing the migration process, executing
the migration, and verifying the data after the migration is complete. The process can be complex
and time-consuming, and it requires careful planning and execution to ensure that the data is
migrated accurately and securely, without data loss or corruption.
Usually, data migration comes as a part of a larger project such as

● Legacy software modernization or replacement


● The expansion of system and storage capacities
● The introduction of an additional system working alongside the existing application
● The shift to a centralized database to eliminate data silos and achieve interoperability
● Moving IT Infrastructure to the cloud
● Merger and acquisition (M&A) activities when IT landscapes must be consolidated into a
single system

Sr. No# Requirements Priority

Storage Migration/ Conversion Requirements

DMR.01 The system shall be able to migrate data from paper to High
digital documents.

DMR.02 The system shall be able to migrate data from hard disk Medium
drives (HDDs) to faster and more durable solid-state
drives (SSDs)

Page | 25 Version 1.0


DMR.03 The system shall be able to migrate data from mainframe Medium
computers to cloud storage.

Database Migration/ Conversion Requirements

DMR.04 The system shall be able to upgrade to the latest version of Medium
DBMS (so-called homogeneous migration)

DMR.05 The system shall be able to switch to a new DBMS from a High
different provider — for example, from MySQL to
PostgreSQL or from Oracle to MSSQL

Application Migration/ Conversion Requirements

DMR.06 The system shall be able to move data from one computing Medium
environment to another.

DMR.07 The system shall be able to work with different data Medium
formats.

Data Centre Migration/ Conversion Requirements

DMR.08 The system shall be able to keep data safe during relocation Medium
of existing computers and wires to other premises

DMR.09 The system shall be able to protect data while moving Medium
digital assets, including data and business applications to
new servers and storage.

Business Process Migration/ Conversion Requirements

Page | 26 Version 1.0


DMR.10 The system shall be able to transfer the business Medium
applications and databases with data on customers, and
operations to the new environment.

Cloud Migration/ Conversion Requirements

DMR.11 The system shall be able to move data from on-premises to Medium
the cloud or between different cloud environments without
loss of any data.

5.1 Data Conversion Strategy


A strategic data migration plan should include consideration of these critical factors

● Knowing the data: Before migration, source data needs to undergo a complete audit.
Unexpected issues can surface if this step is ignored.
● Cleanup: Once you identify any issues with your source data, they must be resolved.
This may require additional software tools and third-party resources because of the scale
of the work.
● Maintenance and protection: Data undergoes degradation after a period, making it
unreliable. This means there must be controls in place to maintain data quality.
● Governance: Tracking and reporting on data quality is important because it enables a
better understanding of data integrity. The processes and tools used to produce this
information should be highly usable and automate functions where possible.
5.1.1 Data Migration Strategies
There is more than one way to build a data migration strategy. An organization’s specific
business needs and requirements will help establish what’s most appropriate. However, most
strategies fall into one of two categories: “big bang” or “trickle.”

5.1.1.1 “Big Bang” Migration


● In a big bang data migration, the full transfer is completed within a limited window of
time. Live systems experience downtime while data goes through ETL processing and
transitions to the new database.

Page | 27 Version 1.0


● The drawback of this method is that it all happens in one time-boxed event, requiring
relatively little time to complete. The pressure can be intense, as the business operates
with one of its resources offline. This risks a compromised implementation
5.1.1.2 “Trickle” Migration
● Trickle migration, in contrast, completes the migration process in phases. During
implementation, the old system and the new are run in parallel, which eliminates
downtime or operational interruptions. Processes running in real-time can keep data
continuously migrating.
● Compared to the big bang approach, these implementations can be complex in design.
However, the added complexity, if done right, usually reduces risks, rather than adding
them.
5.2 Data Conversion Preparation
Each strategy will vary in the specifics, based on the organization’s needs and goals, but
generally, a data migration plan should follow a common, recognizable pattern:

5.2.1 Explore and Assess the Source


● Before migrating data, we must know as well as how it fits within the target system.
Understand how much data is pulling over and what that data looks like.
● There may be data with lots of fields, some of which won’t need to be mapped to the
target system. There may also be missing data fields within a source that will need to be
pulled from another location to fill a gap.
● Beyond meeting the requirements for data fields to be transferred, run an audit on the
actual data contained within. If there are poorly populated fields, a lot of incomplete data
pieces, inaccuracies, or other problems, it may reconsider whether we really need to go
through the process of migrating that data in the first place.
● If an organization skips this source review step, and assumes an understanding of the
data, the result could be wasted time and money on migration. Worse, the organization
could run into a critical flaw in the data mapping that halts any progress in its tracks.

Page | 28 Version 1.0


5.2.2 Define and Design the Migration
● The design phase is where organizations define the type of migration to take on — big
bang or trickle. This also involves drawing out the technical architecture of the solution
and detailing the migration processes.
● Considering the design, the data to be pulled over, and the target system, you can begin to
define timelines and any project concerns. By the end of this step, the whole project
should be documented.
● During planning, it’s important to consider security plans for the data. Any data that
needs to be protected should have protection threaded throughout the plan
5.2.3 Build the Migration Solution
● It can be tempting to approach migration with a “just enough” development approach.
However, since you will only undergo the implementation one time, it’s crucial to get it
right. A common tactic is to break the data into subsets and build out one category at a
time, followed by a test. If an organization is working on a particularly large migration, it
might make sense to build and test in parallel.
5.2.4 Conduct a Live Test
● The testing process isn’t over after testing the code during the build phase. It’s important
to test the data migration design with real data to ensure the accuracy of the
implementation and completeness of the application
5.2.5 Flipping the Switch
● After final testing, implementation can proceed, using the style defined in the plan.
5.2.6 Audit
● Once the implementation has gone live, set up a system to audit the data in order to
ensure the accuracy of the migration.

Page | 29 Version 1.0


Page | 30 Version 1.0

You might also like