Most lab software stops at the report. The patient is registered, the test is run, the result is typed and the PDF goes out. Everything around that — the blood bank register, the biopsy report written in Word, the expense diary, the salary register, the notebook of what is still pending on the bench — stays on paper.
That leftover paper is where a lab loses time and, occasionally, a patient. So over three days at the end of September we went through what a working Pakistani laboratory still keeps outside its software, and built it in. This is what we added, what it does, and — because it matters just as much — what it does not do.
The blood bank, from donor to bedside
A blood bank register has to answer three questions without fail: is this donor safe to bleed today, is this bag safe to give, and is it the right blood for this patient. A register can only remind you to ask. The software now refuses to go ahead when the answer is no.
The donor. Every donor gets a donor number, and one CNIC can only be registered once. When a donation is recorded, the system checks the donor against the day's rules: age 18 to 60, at least 50 kg, haemoglobin at least 12.5 g/dL, and 90 days (men) or 120 days (women) since the last donation. If any of those fails, it will not register the bag, and it says which rule failed.
The bag. Each bag — whole blood, packed red cells, FFP, platelets or cryoprecipitate — gets its expiry from its component, and starts in quarantine. It becomes available only when HIV, HBsAg, HCV, syphilis and malaria are all recorded non-reactive. If one comes back reactive, the bag is discarded and the donor is deferred permanently. A reactive result cannot be changed back.
The patient. A blood request cannot be crossmatched until the patient's own blood group is recorded. Then the system lists only the bags compatible with that group — ABO and Rh for red cells, the reverse for plasma — that are still in date, soonest expiry first. It refuses an incompatible, expired or unscreened bag even if someone clicks it. Every crossmatch is kept, compatible or not, and nothing is issued without the name of the person collecting it.
Emergencies are real, so an emergency request can take blood before crossmatch. It still has to be a compatible group — or O-negative when the patient's group is unknown — and it needs a written clinical reason. The lab's admins are told each time. Transfusion reactions are recorded against the bag they came from.
The blood bank is on the Premium plan, because it is what hospital laboratories need and a single-room collection lab does not.
Histopathology and cytology, written as reports
Until now a biopsy in A Pulse Solution was a test with four result rows called GROSS, MICROSCOPY, DIAGNOSIS and SPECIMEN. That is how most lab software handles pathology, and it is why pathologists keep writing their reports in Word.
A pathology test is now a written report: specimen and site, clinical history, gross description with blocks and slides, microscopic description, a diagnosis and a diagnostic category from benign to malignant. Cytology swaps blocks for specimen adequacy. Each case is numbered automatically — H-26-00001 for histopathology, C-26-00001 for cytology — and the number never changes.
For Pap smears, the Bethesda wording (NILM, ASC-US, LSIL, HSIL, unsatisfactory) is one click away, and fluid cytology has "negative / positive for malignant cells". These are phrases the pathologist inserts, never pre-filled text. A pre-filled normal report that gets signed without being read is worse than a blank one.
Culture and sensitivity got the same treatment earlier in the week — organisms, colony counts and an S / I / R table — along with an antibiogram that shows, per organism, the share of isolates susceptible to each antibiotic over any period you choose.
The bench: what is still pending?
Ask a technician what is still pending and they usually have to walk the bench to find out. The new worklist shows every open test, how long it has waited, and which tests are past their turnaround time. It prints as a worksheet.
Batch entry is for the tests that run in batches. Pick Serum Uric Acid and type it for every patient in one column, each with their own reference range under the box. It is a normal save for each patient, so payment, consent and critical-value checks still apply.
Three safety features came with it:
- Two-step release. One person verifies the results, a different person approves the report. Change a value after it was verified and it has to be verified again.
- Delta check. A result that differs sharply from the same patient's previous result for that test is flagged before approval. You set the percentage and how far back to look.
- Reflex tests. Rules like TSH above 4.5 → offer Free T4 suggest the follow-up test on the same order the moment the result is saved.
The money that leaves the lab
Every lab records the money that comes in. Almost none record what goes out, which is why the owner's real profit is usually a guess.
Expenses — rent, electricity, reagents bought for cash — each get a voucher number. None can be deleted; a mistake is voided with a reason and stays on the list. A cash expense comes out of that cashier's drawer, so the cash close at the end of the shift still balances.
Payroll holds each person's basic salary, allowances and fixed deductions such as EOBI. Each month you enter unpaid leave, bonuses and advance recovery, finalise the run, and pay. Every payslip prints on A4, and every salary paid is recorded as an expense.
Put together, that gives the owner a profit & loss they did not have before: money received, less refunds, less expenses, stock purchases and doctor share paid, for any period, by category and by month.
It is a practical owner's view, not a replacement for your accountant. It counts money when it actually moves, so a bill that has not been paid yet is not income. There are no tax returns and no double-entry ledger.
Stock, refunds and the rest
- Inventory with reorder levels, suppliers and purchase orders. A reagent linked to its test is used up automatically each time a result is saved, from the batch that expires first. (Medium & Premium.)
- Refunds, order cancellations with a reason, and patient advances.
- Discount limits per role, with a manager's approval above the limit.
- Bulk printing of reports, trend graphs beside results on the printed report, and consent recorded for the tests that need it.
For hospitals: a public API
A hospital running its own information system can now connect to the lab (Premium):
- Read patients, orders and results.
- Place orders from the ward.
- Get a signed notification the moment a report is released.
Results are only ever shared once a report is released. Orders placed from the hospital go through the same checks as the front desk.
Be clear about one limit: the API is ready, but connecting a particular hospital system still needs someone on the hospital's side to build the link to it. We provide the reference and the keys; we do not write the hospital's integration for them.
Try it on your own work
Everything in this article is in the free 7-day demo, with every module unlocked and no card needed. The quickest way to judge it is on your own tests: register a donor, write a biopsy report, run batch entry for a batch you ran this morning, and close a cash shift.
If something your lab does every day is still missing, tell us on WhatsApp. That is how most of this list was written.