0% found this document useful (0 votes)
2 views

AJP

Uploaded by

bhavikjangade
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

AJP

Uploaded by

bhavikjangade
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 18

A

MICRO-PROJECT
OF

Advance Java Programming

“Develop a pharmacy management System”

Submitted in V- semester for Partial Fulfillment of Requirement for the


Diploma in Computer Engineering of Maharashtra State Board of
Technical Education

Submitted By

Bhavik Jangade Swapneel Verma

Shiban Nandi Amarpreet Singh

Guided By

Mr. Maresh Shingade


(Assistant Professor)

DEPARTMENT OF COMPUTER ENGINEERING

G. H. RAISONI COLLEGE OF ENGINEERING & MANAGEMENT,


NAGPUR
2024-2025
G. H. RAISONI COLLEGE OF ENGINEERING & MANAGEMENT,
NAGPUR

CERTIFICATE

2024-2025
This is Certify that the Entitled

“Develop a pharmacy management System”

Submitted By

Bhavik Jangade Swapneel Verma

Shiban Nandi Amarpreet Singh

In V- semester for Partial Fulfillment of Requirement for the Diploma in


Computer Engineering of Maharashtra State Board of Technical Education

Mr. Maresh Shingade

(Assistant Professor)

Ms. Roshani Dharme Dr. G.N. Akhade

(Head Of Department) (Dean Poly)


SUBMISSION

We, students of the fifth semester of the third-year diploma in computer


engineering, humbly submit that we have completed the micro project work as
prescribed in this report by our own skill and study in academic session 2024-25,
as per the instruction and guidance of Mr. Maresh Shingade.

The work carried out in the project is our and not copied the report on any
appreciable part from any other literature in contravention of the academic ethics.

The teacher has approved our contribution the students associated in the micro-project
are:

Name of Student Sign

1. Bhavik Jangade

2. Swapneel Verma

3. Shiban Nandi

4. Amarpreet Singh Nagi


ACKNOWLEDGEMENT

We wish to avail this opportunity to acknowledge our profound indebtedness and


extend our deep sense of gratitude of our profound Mr. Maresh Shingade for her
valuable guidance, advice and encouragement that has been feel to successful
completion of this micro-project.

We hereby express our deep gratitude to our H.O.D. and Hon’ble Principal for
his/her cooperation and help and also the other staff -members of the department.

We also thank to library for making us available necessary books for


reference. I would like to place on record my sincere thanks to all persons directly or
indirectly helped using completion of this work.
PART A

Develop a pharmacy management System

1.0 Brief Introduction


A Pharmacy Management System (PMS) is a comprehensive software solution designed
to streamline and automate the daily operations of a pharmacy. The primary goal of a
PMS is to improve efficiency, accuracy, and customer satisfaction while reducing costs
and enhancing profitability. A well-designed PMS can help pharmacies manage their
daily tasks, including prescription management, inventory control, billing, and patient
management, in a more organized and efficient manner.
2.0 Aim of the Micro-Project
This Micro-Project aims at:
1. Develop a pharmacy management System

3.0 Action Plan


Planned Name of
Sr. Planned
Details of activity Finish Responsible
No. Start date
date Team Members
Bhavik Jangade
1 Project Survey 11-9-2024 17-9-2024
2 Gathering Information 18-9-2024 23-9-2024 Swapneel Verma

3 Set up and Configuration 25-9-2024 7-10-2024 Shiban Nandi

4 Create Report 9-10-2024 16-10-2024 Amarpreet Singh

4.0 Resources Required

S.
No.
Name of Resource / Material Specification Quantity Remark
Computer(Pentium
1 Hardware: Computer System 4th gen), RAM 1 ----------
4GB,HDD 500GB

2 Operating System Windows /LINUX 1 ----------


PART B

Develop a pharmacy management System

1.0 Brief Description


A Pharmacy Management System (PMS) is a comprehensive software solution designed
to streamline and automate the daily operations of a pharmacy. The primary goal of a
PMS is to improve efficiency, accuracy, and customer satisfaction while reducing costs
and enhancing profitability. A well-designed PMS can help pharmacies manage their
daily tasks, including prescription management, inventory control, billing, and patient
management, in a more organized and efficient manner.

2.0 Aim of the Micro-Project

This Micro-Project aims at:


1. To develop a pharmacy management system

3.1 Actual Procedure Followed.


1. Project Survey is done by Bhavik Jangade.
2. Gathering Information is done by Swapneel Verma.
3. Set up and Configuration is done by Shiban Nandi.
4. Creating Report is done by Nandani Amarpreet Singh .

4.0 Actual Resources Used


S. Name of Resource /
Specification Quantity Remarks
No. Material
Computer (i3-i5
Hardware: preferable),RAM
1 Computer System minimum 2GB
1 ---------
and
onwards
2 Operating System Windows 1 --------
/LINUX
Introduction to Pharmacy Management System

A Pharmacy Management System (PMS) is a comprehensive software solution


designed to streamline and automate the daily operations of a pharmacy. The primary
goal of a PMS is to improve efficiency, accuracy, and customer satisfaction while
reducing costs and enhancing profitability. A well-designed PMS can help pharmacies
manage their daily tasks, including prescription management, inventory control,
billing, and patient management, in a more organized and efficient manner.

A PMS typically consists of various modules that cater to different aspects of


pharmacy operations. These modules may include prescription management, inventory
control, billing and payment processing, patient management, reporting and analytics,
and integration with other healthcare systems. By automating and streamlining these
tasks, a PMS can help pharmacies reduce errors, improve patient safety, and enhance
overall customer experience.

In this response, we will outline the key steps involved in developing a comprehensive
Pharmacy Management System, including defining the requirements, documenting
functional and non-functional requirements, choosing the technology stack, drawing
UI/UX mockups, development and QA, and implementation. We will also discuss the
key features and benefits of a PMS, as well as the technology stack required to build a
robust and scalable system.

Defining PMS Requirements in Detail


Defining the requirements of a Pharmacy Management System (PMS) is a crucial step
in the development process. This involves identifying the needs and expectations of
the pharmacy, as well as the functional and non-functional requirements of the system.
Identifying the Goals and Objectives of the System
The first step in defining PMS requirements is to identify the goals and objectives of
the system. This includes:
• Improving efficiency and accuracy in pharmacy operations
• Enhancing customer satisfaction and patient care
• Reducing costs and improving profitability
• Improving compliance with regulations and laws
• Enhancing reporting and analytics capabilities
• Improving integration with other healthcare systems

Gathering Functional Requirements


Functional requirements define the features and functionalities of the PMS. These
include:
Prescription Management:
• Prescription creation and editing
• Prescription filling and dispensing
• Prescription tracking and reporting
• Integration with electronic health records (EHRs)

Inventory Control:
• Inventory tracking and management
• Automatic inventory replenishment
• Inventory reporting and analytics
• Integration with suppliers and distributors

Billing and Payment Processing:


• Billing and invoicing
• Payment processing and tracking
• Insurance claims processing
• Integration with payment gateways

Patient Management:
• Patient demographics and profile management
• Patient medication history and tracking
• Patient communication and notification
• Integration with patient engagement platforms

Reporting and Analytics:


• Sales and revenue reporting
• Inventory and supply chain reporting
• Patient and prescription reporting
• Integration with business intelligence tools

Gathering Non-Functional Requirements


Non-functional requirements define the performance, security, and usability of the
PMS. These include:

Performance Requirements:
• System response time and throughput
• Data storage and retrieval capacity
• System scalability and reliability
Security Requirements:
• Data encryption and access control
• User authentication and authorization
• Compliance with HIPAA and other regulations

Usability Requirements:
• User interface and user experience design
• System navigation and workflow
• Training and support requirements

Determining the Scope of the Project


The scope of the project defines the boundaries and limitations of the PMS
development project. This includes:

Pharmacy Operations: Defining the specific pharmacy operations that the PMS will
support

User Roles: Defining the different user roles and their corresponding access levels and
permissions

Integration Requirements: Defining the integration requirements with other


healthcare systems and third-party applications

Timeline and Budget: Defining the project timeline and budget constraints

Step 1: Define PMS Requirements

• Identify the goals and objectives of the system: Determine what the pharmacy wants
to achieve with the PMS, such as improving efficiency, reducing costs, and enhancing
customer satisfaction.

• Gather functional and non-functional requirements: Identify the features and


functionalities of the system, as well as the performance, security, and usability
requirements.

• Determine the scope of the project: Define the boundaries and limitations of the
PMS development project, including the specific pharmacy operations to be
supported, user roles, integration requirements, and timeline and budget constraints.
Step 2: Document Functional and Non-Functional Requirements

• Define the core features and functionalities of the system: Document the
prescription management, inventory control, billing, patient management, and
reporting and analytics features of the PMS.

• Specify the performance, security, and usability requirements: Document the


system's performance requirements, security requirements, and usability requirements.

• Create a detailed documentation of the requirements: Compile all the gathered


requirements into a comprehensive document that serves as a guide for the
development team.

Step 3: Choose Technology Stack

• Select the programming languages and libraries for the front-end and back-end:
Choose the programming languages and libraries that will be used to develop the
PMS, such as Java, Python, or C# for the back-end, and React, Angular, or Vue.js for
the front-end.

• Choose the database management system and other necessary tools: Select the
database management system that will be used to store and manage the pharmacy's
data, such as MySQL, PostgreSQL, or Microsoft SQL Server.

• Consider the cost of development and scalability: Evaluate the cost of development
and the scalability of the chosen technology stack to ensure that it meets the
pharmacy's needs and budget.

Step 4: Drawing UI/UX Mockups

• Create a database schema that reflects the relationships between entities: Design
a database schema that accurately reflects the relationships between the different
entities in the PMS, such as patients, prescriptions, and inventory.
• Design intuitive and user-friendly interfaces for pharmacists, pharmacy
technicians, and administrative staff: Create UI/UX mockups that are intuitive and
user-friendly, and that meet the needs of the different user roles in the pharmacy.
• Ensure accessibility standards are met to accommodate users with disabilities:
Ensure that the UI/UX design meets accessibility standards to accommodate users
with disabilities.
Step 5: Development and QA

• Develop the system using the chosen technology stack: Develop the PMS using the
chosen programming languages, libraries, and database management system.
• Conduct thorough testing, including unit testing, integration testing, and user
acceptance testing: Test the system thoroughly to ensure that it meets the functional
and non-functional requirements.
• Perform continuous integration and continuous deployment (CI/CD) to ensure
the system is always up-to-date: Implement CI/CD to ensure that the system is
always up-to-date and that any issues are quickly identified and resolved.

Step 6: Implementation

• Prepare the deployment environment, including servers, databases, and


necessary software: Prepare the deployment environment, including setting up the
servers, databases, and necessary software.
• Migrate data from existing systems, if applicable: Migrate data from existing
systems, if applicable, to ensure a smooth transition to the new PMS.
• Deploy the application to the production environment: Deploy the PMS to the
production environment, and ensure that it is properly configured and tested.
• Conduct post-deployment testing to ensure everything works correctly: Conduct
post-deployment testing to ensure that the system works correctly and that any issues
are quickly identified and resolved.
• Provide user training and support to help users adapt to the new system: Provide
user training and support to help users adapt to the new PMS and ensure a smooth
transition.

Pharmacy Management System Technology Stack


• Programming languages: Java, Python, or C#
• Front-end framework: React, Angular, or Vue.js
• Back-end framework: Spring, Django, or ASP.NET
• Database management system: MySQL, PostgreSQL, or Microsoft SQL Server
• Other necessary tools: barcode scanners, label printers, and payment gateways
Program Code

**PharmacyManagementSystem.java**

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class PharmacyManagementSystem {


private Connection conn;

public PharmacyManagementSystem() {
try {
Class.forName("com.mysql.cj.jdbc.Driver");
conn =
DriverManager.getConnection("jdbc:mysql://localhost:3306/pharmacy", "root",
"password");
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
}
}
}

public class Prescription {


private int patientId;
private String medication;
private String dosage;
private String instructions;

public Prescription(int patientId, String medication, String dosage, String


instructions) {
this.patientId = patientId;
this.medication = medication;
this.dosage = dosage;
this.instructions = instructions;
}
public void createPrescription() {
String query = "INSERT INTO prescriptions (patient_id, medication, dosage,
instructions) VALUES (?, ?, ?, ?)";
try (PreparedStatement pstmt = conn.prepareStatement(query)) {
pstmt.setInt(1, patientId);
pstmt.setString(2, medication);
pstmt.setString(3, dosage);
pstmt.setString(4, instructions);
pstmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
}

public Prescription getPrescription(int prescriptionId) {


String query = "SELECT * FROM prescriptions WHERE id = ?";
try (PreparedStatement pstmt = conn.prepareStatement(query)) {
pstmt.setInt(1, prescriptionId);
try (ResultSet rs = pstmt.executeQuery()) {
if (rs.next()) {
return new Prescription(rs.getInt("patient_id"), rs.getString("medication"),
rs.getString("dosage"), rs.getString("instructions"));
}
}
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}

public void updatePrescription(int prescriptionId, String medication, String dosage,


String instructions) {
String query = "UPDATE prescriptions SET medication = ?, dosage = ?,
instructions = ? WHERE id = ?";
try (PreparedStatement pstmt = conn.prepareStatement(query)) {
pstmt.setString(1, medication);
pstmt.setString(2, dosage);
pstmt.setString(3, instructions);
pstmt.setInt(4, prescriptionId);
pstmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
}

public void deletePrescription(int prescriptionId) {


String query = "DELETE FROM prescriptions WHERE id = ?";
try (PreparedStatement pstmt = conn.prepareStatement(query)) {
pstmt.setInt(1, prescriptionId);
pstmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
}
}

public class Inventory {


private String medication;
private int quantity;

public Inventory(String medication, int quantity) {


this.medication = medication;
this.quantity = quantity;
}

public void addMedication() {


String query = "INSERT INTO inventory (medication, quantity) VALUES (?,
?)";
try (PreparedStatement pstmt = conn.prepareStatement(query)) {
pstmt.setString(1, medication);
pstmt.setInt(2, quantity);
pstmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
}

public Inventory getInventory(String medication) {


String query = "SELECT * FROM inventory WHERE medication = ?";
try (PreparedStatement pstmt = conn.prepareStatement(query)) {
pstmt.setString(1, medication);
try (ResultSet rs = pstmt.executeQuery()) {
if (rs.next()) {
return new Inventory(rs.getString("medication"), rs.getInt("quantity"));
}
}
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}

public void updateQuantity(String medication, int quantity) {


String query = "UPDATE inventory SET quantity = ? WHERE medication = ?";
try (PreparedStatement pstmt = conn.prepareStatement(query)) {
pstmt.setInt(1, quantity);
pstmt.setString(2, medication);
pstmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
}

public void removeMedication(String medication) {


String query = "DELETE FROM inventory WHERE medication = ?";
try (PreparedStatement pstmt = conn.prepareStatement(query)) {
pstmt.setString(1, medication);
pstmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
}
}

public class Billing {


private int patientId;
private double amount;
private String paymentMethod;

public Billing(int patientId, double amount, String paymentMethod) {


this.patientId = patientId;
this.amount = amount;
this.paymentMethod = paymentMethod;
}

Output
Conclusion

In this Pharmacy Management System, we have designed and implemented a


comprehensive system that manages prescriptions, inventory, billing, and patient
information. The system is built using Advanced Java and utilizes a MySQL database
to store and retrieve data.
The system consists of several classes, each responsible for a specific functionality:

• Prescription Management: This class handles the creation, retrieval, update, and
deletion of prescriptions.

• Inventory Control: This class manages the inventory of medications, including


adding, retrieving, updating, and removing medications.

• Billing and Payment Processing: This class handles the creation, retrieval, update,
and deletion of bills.

• Patient Management: This class manages patient information, including creating,


retrieving, updating, and deleting patient records.
Reference

https://www.altexsoft.com/blog/pharmacy-management-system/
https://en.wikipedia.org/wiki/Pharmacy_management_system
https://www.researchgate.net/publication/375380198_PHARMACY_MANAGEM
ENT_SYSTEM_WEB-BASED_APPLICATION
https://www.lsretail.com/products/ls-central-for-pharmacies

You might also like