Oracle APEX software for healthcare, retail and HR

HaemoCode

HaemoCode: Blood Bank Management Software

Track every unit of blood from donor registration to issue, with stock, expiry and test status updated as your staff work.

Running a blood bank on registers and spreadsheets makes simple questions hard to answer. How many O-negative units do we have right now? Which units expire tomorrow? Has this donor been deferred before? HaemoCode answers them in seconds, because every step, from donor screening to issue, is recorded once against a barcoded bag number.

HaemoCode · Stock position
Available units248
In testing38
Expiring in 48 h6
GroupPRBCFFPPlatelets
O+41289
B+36227
A+29195
AB+1182
O−3 low41
Sample screen with example data

How a unit moves through HaemoCode

HaemoCode is built by CodeLogic Solutions on Oracle APEX. It runs in a web browser on any PC, tablet or phone in the blood bank, and your data stays in a secure Oracle database, on Oracle Cloud or on a server at your premises.

  1. 1

    Donor and screening

    Register the donor, record weight, haemoglobin and BP, and note any deferral.

  2. 2

    Collection and labelling

    A unique bag number and barcode label is created at collection.

  3. 3

    Testing and components

    Grouping and TTI results are entered, and whole blood is split into components with expiry dates.

  4. 4

    Stock and cross-match

    Cleared units join live stock; requests are cross-matched and units reserved.

  5. 5

    Issue and reports

    Units are issued with a printed slip, and every register updates automatically.

What HaemoCode changes for your team

Made for blood banks, blood centres and hospital blood storage units.

  • Bag-level traceability

    Every bag carries a barcode, so any unit can be traced back to its donor, tests and components, and forward to the patient it was issued to.

  • Less wastage

    Expiry alerts and first-expiry-first-out issuing mean fewer units expire on the shelf.

  • Safer issue

    A unit stays locked until grouping and TTI results clear it, so untested blood cannot be issued by mistake.

  • Inspection-ready registers

    Donor, testing, issue and discard registers are produced from the data your team already enters.

All HaemoCode features

HaemoCode follows every unit of blood from the moment a donor walks in to the moment it is issued to a patient. Staff record each step once, and the system keeps stock, expiry and test status up to date on its own.

Donors and camps 4

  • Donor registration

    Record personal details, ID proof and contact number. Returning donors are found by mobile number, so there is no re-typing.

  • Pre-donation screening

    Capture weight, haemoglobin, BP and the donor questionnaire. Temporary or permanent deferrals are saved with the reason and period.

  • Donation history and recall

    See every past donation and the next eligible date. Pull a list of donors due to donate again, by blood group and area.

  • Blood donation camps

    Plan camps with organiser details, venue and team. Collections are counted per camp, so you can see which camps work best.

Collection, testing and components 4

  • Barcoded bag labels

    Each bag gets a unique number and barcode at collection. Every later step is recorded against that number.

  • Component separation

    Split whole blood into PRBC, FFP, platelets and cryo. Volumes are recorded and expiry dates are calculated automatically.

  • Grouping and TTI testing

    Enter results for blood grouping, antibody screening and TTI tests (HIV, HBsAg, HCV, syphilis, malaria). A unit cannot be issued until it is cleared.

  • Quarantine and discard

    Reactive, expired or damaged units are moved out of stock with the reason noted, keeping the discard register complete.

Stock and issue 4

  • Live stock by group and component

    One screen shows how many units of each group and component are available, reserved or in testing.

  • Expiry alerts

    Units close to expiry are highlighted so they are issued first, cutting down on wastage.

  • Requisitions and cross-match

    Log requests from wards or outside hospitals, record cross-match results and reserve compatible units for the patient.

  • Issue and returns

    Print issue slips with charges, and take back unused units within the allowed time.

Reports 2

  • Registers for inspection

    Donor, collection, testing, issue and discard registers, ready to print when inspectors ask for them.

  • Management dashboard

    Collection against issue, wastage percentage, camp performance and stock trends, month by month.

HaemoCode questions

Anything else? Book a demo and ask us directly.

Who is HaemoCode for?

Standalone blood banks, hospital-based blood centres and blood storage units. It suits a single site, and organisations that also run blood donation camps.

Can HaemoCode print barcode labels for blood bags?

Yes. A unique bag number and barcode label is generated at collection, and every later step, such as testing, component separation and issue, is recorded against it.

Does it track component expiry automatically?

Yes. When whole blood is separated into PRBC, FFP, platelets or cryo, HaemoCode calculates each component's expiry date and highlights units that are close to expiring.

Can we bring in our existing donor records?

In most cases, yes. We can import donor lists from Excel, or from your previous software where an export of the data is available.

Can HaemoCode be customised for our registers and reports?

Yes. Reports and print formats are configured during setup to match the formats you use, and more reports can be added later.

Book a free demo

Tell us a little about your organisation and pick a time that suits you. We'll call or email to confirm the slot.

  • A walkthrough on data like yours. We tailor the demo to your type of business.
  • Straight answers. You'll speak to the people who build and support the software.
  • No pressure. If it's a fit, we'll send a clear quote. If not, no hard feelings.

We'll only use these details to arrange your demo. See our privacy policy.