Blood Bank Management System

Rashtrotthana is one of the leading blood banks in Bangalore, India. The scale of operations had increased and they were looking for a system that could streamline their processes and improve efficiency.
They began evaluating several Blood Banking software in the market which came up with many Blood Banking related modules already implemented but none of them could fit into the processes they had and provide the overall functionality they needed.
We approached them with the incentive that the blood banking software would be built from the ground up. Each functionality built would be custom built based on their unique processes in place. With this understanding being made, we started exploring best known Blood Banking Software in the world picking ideas that fitted well and could improve their processes. In the coming months, discussions and further implementations went hand in hand resulting in software we were proud of and a Blood Banking Software they were looking for.
We have explored many Blood Banking Softwares similar to ours but could find none that matched the amount of diverse functionality, complexity and customizations we provided.
The software application was given to us during early 2012. At that time many modules we considered critical for the software were not mature enough for Drupal 7. We built the site using Drupal 6. Currently the plan is on upgrading the entire software system to Drupal 7.

The Proposal

The Blood Bank Management System has been created with a purpose of replacing all of paperwork done at the Blood Bank. All aspects of blood banking, be it Donor Record Management, Component Separation, Blood Search, Cross-matching, Compatibility Tests, Patient Management, Blood Issue, Billing, Inventory, Blood Camp Management, Blood Availability, Numerous Reports with excel export mechanisms is completely managed by the software. The system boasts in variety and number of reports made available for analysis, legal documentation and insight. Features include:

Blood Camp Management and Reporting

  • Provides recording of details of camp beginning from allocation of staff, details of facilities available in the camp venue
  • Provides assigning of donor to a particular camp and generate camp organizer report
  • Automated report generation of camp details for submission to the Government

Donor Management

  • Intuitive and intelligent donor form for capturing details like Donor Questionnaire, Medical Examination, Blood Collection Details and Serology Report
  • The system allows automatic component data generation based on the component selected in the blood donor form.
  • The system allows bulk update for serology for blood units. Serology result for many donors can be updated at once.
  • The system allows for either component creation before serology test or vice versa. Based on the serology test, the component created are updated automatically
  • The system allows bar-coded blood bag number entry
  • All donor related reports are excel downloadable
  • All Reports provides filtering over many factors like Blood Group, gender, area, blood Camp, date of donation, donor type etc.
  • The system provides easy link for easy edit or adding details for various sections of the donor form
  • During form filling, the system notifies the user how much percentage of donor data has been updated
  • The donor form is highly configurable and can be easily modified to include additional data required by various blood banking institutions

Donor Test Results Management and Adverse Reaction Data Management

  • Provides filterable selections for donor selections
  • Excel download of all reports
  • The reports are highly configurable and can be configured to display data as per institution requirements
  • Search based on Component ID, Donor Registration ID, Donor Blood Bag Number and Donor Name
  • The results displayed in search is highly configurable
  • The search functionality also allows for site-wide search. It means a user can search for any data available in the system
  • Custom links can be added in the search results to allow easier navigation and accessibility

Blood Components Management

  • Automatic generation of components form donor form
  • Based on the date of collection, the system automatically derives the date of expiry and disallows issue of component if unit has expired
  • Until the serology test is done, the system marks the status of the component as test awaited. And only after serology test is done, the component is marked for Ready for Issue
  • The Available components list is available and the system automatically generates the list of components that are ready for issue to be available.
  • The status of the component can be modified to Reserved or Issued to state is it has been reserved for a patient or already issued.
  • The system automatically generates the component label required for printing when issuing the component.
  • Various reports related to components are available. Ex: Master Register
  • The system allows multiple cross-match to be done for a component and store cross-match details of all. At the same time, it does not allow a cross match to be done for an issued/rejected component unit
  • The system does not allow a unit to be issued to patients if cross-match fails for the component

Patient Management System

  • Captures patient personal information as well as the hospital where blood is required
  • The system allows for reserving a unit for 24 hours for a patient
  • The blood component issued, the payment made as well as link to the final bill is available when the patient page is opened
  • The data allows reports like: Issue Register, Reserved Units and Patient Inventory List
  • The system allows for capturing transfusion reaction data

Blood Issue and Billing

  • Ability to provide adjustments in the final payment receipt for concession for blood unit
  • The system prevents blood issue if crossmatch is not done or fails
  • Final bill gets generated only if only the payment has been accounted for
  • Final bill gets generated only component selected has been serology tested and is ready for issue
  • Auto-generated final receipt
  • Auto-generated Cross-matching report

Managing Practical Solutions for Blood Bank Management

  • The system allows components to be created before serology and vice-versa. The system takes care to automatically update the components when serology is done.
  • Automatic creation of components from the donor form as well as manual component creation.
  • Bulk update of serology for multiple donors at once
  • Bulk issue of components for various centers
  • Checks in place to ensure that a component for which cross-match is not done does not get issued
  • Automated deferral for a donor is medical evaluation for a donor fails
  • Based on serology details, components are auto marked as discard when serology fails and the system does not allow them to be issued.
  • The system prevents final bill generation for patients if the payment has not been accounted for.
  • The system provides configurable cost for patients from Govt and Private Centres
  • The system allows discounts to be given for patients as well as free issue to patients
  • Final Bill, Component Label, Cross Match Report - Auto Generated as per institution requirements

Govt Issue Reports

  • Reports for Legal Compliance
  • Sub Groups available for Blood Groups in donor form
  • Reports - All variety of reports are provided in the exact requirement as requested
  • Excel and pdf downloadable reports.

Other Features:

  • Inventory Management System
  • Fine tuned permission management for access to software for various roles like doctor, nurse, technician, receptionist, coordinator etc
  • Blood Bank Staff Management System
  • Reports: Adverse Reaction Report, Master Register, Govt Issue Register, Daily Remittance, Donor Register, Blood Bag Reports and so on. We have covered all the reports possible from a blood bank point of view.
We realized that the customization that we had to do to make a system really effective and efficient can be overwhelming. However, with Drupal making minor but effective changes was mostly a cakewalk. We made several optimization and tweaks at the  form level as well as provided options for bulk update  that made routine work very seamless.
The Blood Banking Software was deployed in September 2012. For the year 2013, Rashtrotthana Blood Bank was awarded the Best Blood Bank in the State for the largest collection of Blood Units in the entire state.

Key Modules List:

  • CCK
  • Multiform : Used for creating Donor Form which required multi-step forms
  • Flags:  Used once with Rules for creating relevant records automatically from donor records
  • Rules: Lots of Rules. This software system was possible due to Rules!
  • Node Reference URL Widget: Very handy module for improving accessibility.
  • Features: We started using features from this site. Creation of relevant functionality and the development stage and exporting them to production site. There were initial hiccups, but it did really help us compartmentalize individual features of the site
  • Print: A good number of auto generated documents for printout. Generation of PDFs as well
  • Views: Blood banks need report for everything, each variant. We used various add-ons with views to generate desired reports.
  • Content Multigroup
  • Computed and Dynamic Fields: We have used Computed field to store printable results to be displayed via print module apart from saving computed status.
  • Content Profile: Used very basic for Blood Bank Staff profile data
  • Custom Modules: We have used a built a couple of custom modules for Blood Banking software but none of them are generic enough for community sharing. If you do have a use case, do let us know. We will be glad to assist.


  • LAMP installed server on Ubuntu 11.04
  • Basic configuration of Dual Core Intel with 6 GB RAM
We were initially worried about how MySQL and Drupal would scale as the amount of data entry and frequency is very high. With almost about 30 to 60 new forms of various sizes with custom Rules used for validation and updation at multiple levels, being saved every minute during peak hours the system behaved very well.

Relevant Links: