Blood Management System
Blood Management System
Abstract:
introduction:
To overcome the above mentioned issues and make effective blood donation
possible, the proposed solution consists of web application for user to search for
the nearest blood bank and contact them after the death of a person for donation.
The project entitled blood bank management is a pilot project for new blood Bank
to be start soon in the city. The management planned this blood Bank to operate
on the next month. They have a big plan to collect the blood Tissue from many
different sources and distribute the same for the needy. To manage all these they
require a full fledged software which will take care all these system.
Scope :
This application is built such a way that it should suits for all type of blood
Banks management system in future. So every effort is taken to implement this
project in this Bank, on successful implementation in this blood Bank, we can
target other blood Banks.
Objective:
The main objective of this application is to automate the complete operations of the
blood Bank. They need maintain hundreds of thousands of records. Also searching
should be very faster so they can find required detail instantly.
Domain overview:
PYTHON OVERVIEW
Python is a high-level, interpreted, interactive and object-oriented scripting
language. Python is designed to be highly readable. It uses English keywords
frequently whereas other languages use punctuation, and it has fewer syntactic
constructions than other languages.
History of Python
Python was developed by Guido van Rossum in the late eighties and early nineties
at the National Research Institute for Mathematics and Computer Science in the
Netherlands.
Python is derived from many other languages, including ABC, Modula-3, C, C++,
Algol-68, SmallTalk, Unix shell, and other scripting languages.
Python is copyrighted. Like Perl, Python source code is now available under the
GNU General Public License (GPL).
Easy-to-learn: Python has few keywords, simple structure, and a clearly defined
syntax. This allows the student to pick up the language quickly.
Easy-to-read: Python code is more clearly defined and visible to the eyes.
A broad standard library: Python's bulk of the library is very portable and cross-
platform compatible on UNIX, Windows, and Macintosh.
Interactive Mode: Python has support for an interactive mode which allows
interactive testing and debugging of snippets of code.
Portable: Python can run on a wide variety of hardware platforms and has the
same interface on all platforms.
Extendable: You can add low-level modules to the Python interpreter. These
modules enable programmers to add to or customize their tools to be more
efficient.
Scalable: Python provides a better structure and support for large programs than
shell scripting.
Apart from the above-mentioned features, Python has a big list of good features,
few are listed below:
LANGUAGE USED:
1.What is Python:
Python is an object-oriented, high level language, interpreted, dynamic and
multipurpose programming language.
Python is easy to learn yet powerful and versatile scripting language which makes
it attractive for Application Development.
Python's syntax and dynamic typing with its interpreted nature, make it an ideal
language for scripting and rapid application development in many areas.
Python supports multiple programming pattern, including object oriented
programming, imperative and functional programming or procedural styles.
Python is not intended to work on special area such as web programming. That is
why it is known as multipurpose because it can be used with web, enterprise, 3D
CAD etc.
We don't need to use data types to declare variable because it is dynamically
typed so we can write a=10 to declare an integer value in a variable.
Python makes the development and debugging fast because there is no compilation
step included in python development and edit-test-debug cycle is very fast.
2. Python Features
1) Easy to Use:
Python is easy to very easy to use and high level language. Thus it is programmer-
friendly language.
2) Expressive Language:
Python language is more expressive. The sense of expressive is the code is easily
understandable.
3) Interpreted Language:
Python is an interpreted language i.e. interpreter executes the code line by line at a
time. This makes debugging easy and thus suitable for beginners.
4) Cross-platform language:
Python can run equally on different platforms such as Windows, Linux, Unix ,
Macintosh etc. Thus, Python is a portable language.
6) Object-Oriented language:
Python supports object oriented language. Concept of classes and objects comes
into existence.
7) Extensible:
It implies that other languages such as C/C++ can be used to compile the code and
thus it can be used further in your python code.
9) GUI Programming:
Graphical user interfaces can be developed using Python.
10) Integrated:
It can be easily integrated with languages like C, C++, JAVA etc.
3. Python History
4. Python Version
Python programming language is being updated regularly with new features and
support. There are a lot of updation in python versions, started from 1994 to
current date.
A list of python versions with its released date is given below.
5. Python Applications
Python as a whole can be used in any sphere of development.
Let us see what are the major regions where Python proves to be handy.
1) Console Based Application
Python can be used to develop console based applications. For example: IPython.
2) Audio or Video based Applications
Python proves handy in multimedia section. Some of real applications are:
TimPlayer, cplay etc.
3) 3D CAD Applications
Fandango is a real application which provides full features of CAD.
4) Web Applications
Python can also be used to develop web based application. Some important
developments are: PythonWikiEngines, Pocoo, PythonBlogSoftware etc.
5) Enterprise Applications
Python can be used to create applications which can be used within an Enterprise
or an Organization. Some real time applications are: OpenErp, Tryton, Picalo etc.
Explanation:
Here we are using IDLE to write the Python code. Detail explanation to run
code is given in Execute Python section.
A variable is defined named "a" which holds "Welcome To Python".
"print" statement is used to print the content. Therefore "print a" statement
will print the content of the variable. Therefore, the output "Welcome To
Python" is produced.
8. Python Variables
Variable is a name of the memory location where data is stored. Once a variable is
stored that means a space is allocated in memory.
Assigning values to Variable:
We need not to declare explicitly variable in Python. When we assign any value to
the variable that variable is declared automatically.
The assignment is done using the equal (=) operator.
Eg:
Output:
1. >>>
2. 10
3. ravi
4. 20000.67
5. >>>
Multiple Assignment:
Multiple assignment can be done in Python at a time.
There are two ways to assign values in Python:
1. Assigning single value to multiple variables:
Eg:
1. x=y=z=50
2. print x
3. print y
4. print z
Output:
1. >>>
2. 50
3. 50
4. 50
5. >>>
1. a,b,c=5,10,15
2. print a
3. print b
4. print c
Output:
1. >>>
2. 5
3. 10
4. 15
5. >>>
Keywords.
Identifiers.
Literals.
Operators.
Tuples:
Eg:
1. >>> tuple=('rahul',100,60.4,'deepak')
2. >>> tuple1=('sanjay',10)
3. >>> tuple
4. ('rahul', 100, 60.4, 'deepak')
5. >>> tuple[2:]
6. (60.4, 'deepak')
7. >>> tuple1[0]
8. 'sanjay'
9. >>> tuple+tuple1
10.('rahul', 100, 60.4, 'deepak', 'sanjay', 10)
11.>>>
Dictionary:
1. >>> dictionary={'name':'charlie','id':100,'dept':'it'}
2. >>> dictionary
3. {'dept': 'it', 'name': 'charlie', 'id': 100}
4. >>> dictionary.keys()
5. ['dept', 'name', 'id']
6. >>> dictionary.values()
7. ['it', 'charlie', 100]
8. >>>
9. Python Keywords
Keywords are special reserved words which convey a special meaning to the
compiler/interpreter. Each keyword have a special meaning and a specific
operation. List of Keywords used in Python are:
10. Identifiers
Identifiers are the names given to the fundamental building blocks in a program.
These can be variables ,class ,object ,functions , lists , dictionaries etc.
There are certain rules defined for naming i.e., Identifiers.
I. An identifier is a long sequence of characters and numbers.
II.No special character except underscore ( _ ) can be used as an identifier.
III.Keyword should not be used as an identifier name.
IV.Python is case sensitive. So using case is significant.
V.First character of an identifier can be character, underscore ( _ ) but not digit.
Django framework:
Versatile:
Maintainable
Django code is built utilising design patterns and ideas that support the
development of reusable and maintainable code. It specifically applies the Don't
Repeat Yourself (DRY) philosophy to avoid needless duplication and cut down on
the amount of code. In keeping with the Model View Controller (MVC) paradigm,
Django also encourages the organisation of related functionality into reusable
"applications" and, on a more basic level, groups related code into modules.
View:
Models are Python objects that specify the data structure of an application
and offer tools for managing (adding, deleting, and querying) database entries.
Templates:
A template is a text file with placeholders for actual content that describes the
structure or layout of a file (like an HTML page). Using an HTML template and
data from a model, a view can dynamically produce an HTML page. Any type of
file can have its structure defined by a template; HTML is not required!
A list of path() and/or re path() functions make up the urlpatterns object. Python
lists are constructed using square brackets, with elements being separated by
commas and maybe having a trailing comma as an option. [item1, item2, item3, for
instance]).
A route (pattern) that will be matched is the first argument for both procedures.
Angle brackets are used in the path() method to specify URL components that will
be copied and provided as named parameters to the view function. The re path()
function makes use of a regular expression, a versatile pattern matching technique.
These will be covered in a subsequent article!Another function that will be run
when the pattern is matched is the second argument. perspectives of the notation.
The function's name, book detail(), is indicated by the book detail variable.
The core of a web application is its views, which take HTTP requests from web
clients and produce HTTP responses. They mobilise the other framework resources
in the interim to access databases, create templates, etc. The URL mapper from the
previous section could have called the minimal view function index(), which is
demonstrated in the example below. It takes a HttpRequest object as a parameter
(request), much as all view functions, and returns a HttpResponse object. In this
instance, we don't respond to the request and simply return the hard-coded string
from the response. In a subsequent section, we'll demonstrate a request that
performs a more intriguing task.
Existing System:
The developed application not only helps users to find the nearest blood bank but
also promotes and helps them to overcome misconceptions regarding blood
donation. From the survey collected common misconceptions were example; my
religion does not allow it, I use specs so I am unfit for blood donations, blood can
be donated for family members So we main reasons for all these misconceptions
are lack of awareness .The application makes use of audio and visual modules to
spread awareness and convince users about the safety and nobility of blood
donation. Today, social networking is one of the biggest tools for information
dissemination. Our application also provides support for social networking thereby
helping users to spread the word about blood donation and encourage other people
for the same.
Disadvantages of Existing System:
1. time waste
2. Difficulty process
Proposed System:
To overcome the above mentioned issues and make effective blood donation
possible, the proposed solution consists of a mobile application for user to search
for the nearest eye bank and contact them after the death of a person for eye
donation. If there is potential eye donor, then the procedure can be followed with
permission of family members and cornea extraction can be achieved within the
time frame as mentioned. The developed application not only helps users to find
the nearest blood bank but also promotes and helps them to overcome
misconceptions regarding blood donation. From the survey collected common
misconceptions were example; my religion does not allow it, I use specs so I am
unfit for blood donations, blood can be donated for family members So we main
reasons for all these misconceptions are lack of awareness . Today, social
networking is one of the biggest tools for information dissemination. Our
application also provides support for social networking thereby helping users to
spread the word about blood donation and encourage other people for the same.
ADVANTAGE:
1. no time waste.
System Architecture:
update the
New Donor
login paient
register details
details
View the
Register
status
the patient
updated
details
and donar
detals
SOFTWARE SPECIFICATION :
Logout
⮚ Operating system : Windows 7 64 bit
⮚ Language : python, Django
⮚ Internet Connection
HARDWARE SPECIFICATION :
Literature Survey :
At present, many scholars are committed to the study of fatigue detection system,
and many effective methods have been put forward. This paper examines condition
of the driver based on the condition of the eyes, and the image processing
technology is used to identify the driver's fatigue status in time and warn him of his
continued driving. According to the particularity of system application, the non-
contact, accurate and real-time fatigue detection system based on human eye
information is designed under natural lighting conditions. Eye-positioning and
tracking throughout the fatigue detection system is the key to the system. However,
if the human eye is directly detected and located in the entire image, not only the
background noise of the humanoid eye but also the accuracy of the system is
affected, and because of the large detection range, the real-time performance of the
system cannot be guaranteed. Therefore, the paper detects the face area in the
whole image and then further locate the human eye and track it in this small area.
2)Real-Time Eye State Detection System Using Haar Cascade Classifier and
Circular Hough Transform
In this section, we present the proposed eye state detection system which
consists of four portions: face detection, eye detection, iris detection based on CHT
and eye state analysis. Fig. 1 shows the scheme of the proposed system. In this
proposed system, after capturing the image, the system will firstly detect the face.
Secondly, after the face is detected, then it will detect the eye on the face region.
After the eyes are successfully detected then the CHT will detect circular shape of
the eye which represented as an iris. Then finally, the system will determine the
status of the eye.
The proposed algorithm can be applied on embedded camera platform without any
This paper we are using new digital signature based only on a conventional
encryption function (such as DES) is described which is as secure as the
underlying encryption function -- the security does not depend on the difficulty of
factoring and the high computational costs of modular arithmetic are avoided. The
signature system can sign an unlimited number of messages, and the signature size
increases logarithmically as a function of the number of messages signed.
Signature size in a 'typical' system might range from a few hundred bytes to a few
kilobytes, and generation of a signature might require a few hundred to a few
thousand computations of the underlying conventional encryption function.
Design Phase
DATAFLOW DIAGRAM
UML DIAGRAMS:
UML is a standard language for specifying, visualizing, constructing, and
documenting the artifacts of software systems. UML was created by Object
Management Group (OMG) and UML 1.0 specification draft was proposed to the
Object Management Group in January 1997.
● UML is different from the other common programming languages like C++,
Java, COBOL, etc.
UML is not a programming language but tools can be used to generate code in
various languages using UML diagrams. UML has a direct relation with object
oriented analysis and design. After some standardization UML is become an
Object Management Group standard.
Use case diagrams are behavior diagrams used to describe a set of actions
(use cases) that some system or systems (subject) should or can perform in
collaboration with one or more external users of the system (actors). Each use
case should provide some observable and valuable result to the actors or other
stakeholders of the system. Use case diagrams are done in an early phase of a
software development project. They express how it should be possible to use the
final system. Use cases are a good way to express the functional requirements of
a software system, they are intuitive and easy to understand so they can be used
in negotiations with non-programmers. The participants in a UML use case
diagram are use cases, one or several actors and relations, associations and
generalizations between them
IT shows the interaction between a set of objects, through the messages that
may be dispatched between them.
The diagrams consists of interacting objects and actors, with messages in-between
them it is common to focus the model on scenarios specified by use-cases. It is also
often useful input to the detailed class diagram to try to model the specified
SEQUENCE DIAGRAM
It express the static structures of a system divided into different parts called
classes and also which relations the classes have to each others. Class diagrams can
profitably be used both in the early phases of a project and during detailed design
activities. A class diagram consists of the parts classes, associations and
generalizations, and can exist in several different levels.
Collaboration Diagram
It shows the flow through a program from an defined start point to an end point.
Activity diagrams describe the workflow behaviour of a system. Activity diagrams
are similar to state diagrams because activities are the state of doing something.
The diagrams describe the state of activities by showing the sequence of activities
performed. Activity diagrams can show activities that are conditional or parallel.
Basic elements in activity diagrams are activities, branches (conditions or
selections), transitions, forks and joins.
Activity diagrams should be used in conjunction with other modeling
techniques such as interaction diagrams and state diagrams. The main reason to
use activity diagrams is to model the workflow behind the system being designed.
Activity Diagrams are also useful for: analyzing a use case by describing what
actions need to take place and when they should occur; describing a complicated
sequential algorithm; and modelling applications with parallel processes. Activity
diagrams do not give detail about how objects behave or how objects collaborate.
MODULES:
1.Admin
2.Donor
3.Patient
4.Logout
Admin:
After logging in, the Dashboard displays the total unit of blood, the number
of donors, the number of blood requests, and the number of authorised requests for
each blood group. can view, update, and delete the patient, the donor, and the
donation request made by the donor. The request can be approved or rejected
depending on the sickness of the donor. The unit of blood will be added to the
blood stock for that blood group if the donation request is approved by the admin.
0 units of blood will be added if the donation request is refused by the admin. can
view and accept or reject a blood donation request submitted by a patient or donor.
If the admin approves the blood request, that unit of blood will be removed from
the store of that blood group. If the admin rejects the blood request.
Donor:
Donor can create an account by entering some basic information. After logging in,
a donor can donate blood. Blood will only be entered to the database with admin
approval. A donor can view the status and history of their donations (Pending,
Approved, Rejected). Blood might be requested by donors as well. Donors can
view the status and history of their blood requests. On their dashboard, donors
can view the number of blood requests that have been made, approved, pending,
and rejected by admin.
Patient:
Make an account (No Approval Required By Admin, Can Login After Signup)
After logging in, users can view the number of blood requests that have been
submitted, approved, pending, and rejected by administrators. A patient may ask
for blood from a particular unit and blood group. The patient can view the status
and history of their blood requests (Pending, Approved, Rejected).
Logout:
RESULTS
Conclusion:
This also helps users to overcome their own misconceptions. Its is designed such
that it should work with minimum resources and without the need of internet
connectivity. This will help people in developing countries where mobile data
network, may not be available all but still they can report for organ donations.
There is lot of scope for more interactive and engaging user interface so that such
social awareness campaigns will be fun and effective. Considering the impact of
local languages these implementations should be translated into local languages.
Such system further can be modified for other organ donation campaigns and the
difficulties involved should be taken out so that people can contact the respective
authority directly for organ donation. Though there are lots of legal aspects
involved in organ donations, but with the help of Official bodies we can solve
problem of shortage of eye donations and help more and more blinds.
FUTURE WORK:
The system which was implemented as full proof system when tested for
participants we noted down their knowledge about eye donation and
misconceptions and problems which are preventing them from donation. So to
record that data we took a test one before use of application and one after use of
application and results show that average of marks increased from so there is
increase in awareness with just one time use of application. Implemented Mobile
Solution not only increases awareness but also overcomes all the misconceptions
with scientific reasoning.
REFERENCES:
[1] Dafne L.P., et al (2012) “Who Cares For Eye Donation?” in International
Journal of Public Health and Human Rights, ISSN: 2277-6052 & E-ISSN: 2277-
6060, Volume 2, Issue 1, pp-11-15.]
[4] The Economic Times Article: After Aakash, government to develop a cost
effective subsidized $100smartphones, www.economictimes.com PIB Editor,
"Low Cost access – Cum-Computing Device Unveiled by Kapil Sibbal", Press
Information Bureau, Retrieved 22 July, 2010.
[5] Official Android Engineering teams, "500 million devices activated globally,
and over 1.3 million added every single day", 2012-09-12.