Forty Items, One Procedure: Costing Theatre Consumables
A caesarean consumes roughly the same forty items every time. If your system cannot issue that as one thing, you will never know what a procedure costs — and you will discover the stockout in theatre.
There is a question every facility manager should be able to answer in one sentence and almost none can: what does one caesarean cost us in consumables? Not the tariff, not the theatre fee — the sutures, drapes, gloves, cannulae, syringes, gauze, catheter, spinal needle and the twenty-odd other things that leave the store every time. The reason the question is hard is not that the answer is complicated. It is that the store issues items and the theatre performs procedures, and nothing in between translates one into the other.
The pack is the unit the clinical side actually thinks in
Theatre staff do not draw thirty-eight line items. They collect a pack. In well-run facilities that pack is physically assembled in advance — a labelled tray or bag, checked against a list, ready for the next case — and that practice exists for clinical reasons that have nothing to do with accounting: it is faster, it is safer, and a missing item is discovered at the bench rather than mid-procedure. The costing benefit is a free side effect of a discipline you should adopt anyway.
Which is why the accounting side should follow the clinical side rather than fight it. If theatre thinks in packs, the store should issue in packs, and the cost per procedure falls out of the arithmetic without anyone assembling a spreadsheet. When the two disagree — clinical staff collecting packs, the store recording thirty-eight unrelated issues — you get the worst of both: the effort of itemised recording and none of the insight.
The physical pack
A tray assembled and checked against a list before the case. This is a theatre discipline, not a software feature, and it is worth doing regardless of what you run.
A named list of what goes in it
You can hold this as a document, a custom field, or a printed checklist. Nothing stops you defining it; nothing reads it either.
Issuing the pack as one action
There is no kit, bundle, pack or bill-of-materials entity. Issuing the pack means recording every component individually, every time.
Stock moving for each component
Once recorded, each item decrements properly against a warehouse, location and batch, with the movement attributable and reversible.
A cost per pack that maintains itself
Because nothing composes the components, nothing rolls their costs up. A pack cost is a calculation you do outside the system and it goes stale the day a supplier price changes.
Reserving tomorrow's packs against today's stock
There is no committed-versus-available distinction anywhere. Stock allocated in your head to tomorrow's list is, as far as the system is concerned, available to anyone.
Two ways to record it, both imperfect
Issue every component, every case
- Stock figures stay genuinely accurate — every item decrements when it actually leaves.
- Batch and expiry are captured per component, so a recall can still be traced to the case.
- Cost per procedure is computable, if someone is willing to add up thirty-eight lines afterwards.
- It takes real time at the busiest moment of the day, which is precisely when it stops happening.
- In practice it decays: the first week is complete, the second is partial, by the month it is fiction.
Issue the pack as a single stock item
- One line at the point of use, so it survives a busy theatre list — the only version that reliably gets recorded.
- Cost per procedure is immediate, because the pack carries one unit cost.
- You lose component-level stock accuracy: the system thinks you hold twelve packs, not the sutures inside them.
- Reordering breaks. Nothing tells you gloves are low, because gloves are no longer a thing you hold.
- Batch traceability into the pack is gone unless you keep the assembly record on paper.
Neither is right, and the choice between them is the actual decision this post exists to help you make. The second option is what a facility does when the first has already failed, and it fails differently: it trades a stock-control problem for a costing win. The pragmatic middle is the one most theatres land on — issue components for real, but batch the recording to once per list rather than once per case, accepting a few hours of lag in exchange for it actually happening.
You run a handful of procedure types at reasonable volume
Issue components, record once per theatre list
Keep component-level stock and reordering intact, and accept that the issue is recorded at the end of the session rather than per case. Cost per procedure comes from dividing the list total by the number of cases, which is accurate enough to act on.
Your consumables are genuinely pre-assembled and bought in as sealed kits
Treat the kit as the item
If a supplier delivers sealed procedure kits, the kit is the stock item and none of the above applies. Cost, expiry and reordering all work normally. This is the one case where the clean answer is available.
You need a defensible cost per procedure for tariff negotiation
Do it once, properly, outside the system
Cost one pack of each type by hand from current supplier prices, date the exercise, and repeat it twice a year. A dated manual costing you trust beats a live figure nothing maintains — and for negotiating with a payer, twice-yearly precision is sufficient.
You are choosing software and this is your main requirement
Ask for the bill of materials explicitly
Use the word. "Can I define a pack of components and issue it as one transaction, with the cost rolling up?" is a yes-or-no question, and a vendor who answers it with a description of custom fields is answering no.
The variable layer is where the costing argument gets won
A standard pack is the easy half. The clinically interesting half is what gets added: the second unit of blood, the extra suture, the antibiotic switch, the case that ran ninety minutes over. If you cost only the standard pack, every complicated case looks exactly as cheap as a routine one — which means your average is wrong in the specific direction that matters, because complications are not distributed evenly across payers or across surgeons.
The practical control is to cost the standard pack once and record only the additions per case. That is a short list, it is clinically meaningful, staff will actually write it down, and it turns cost per procedure into a distribution rather than a single number. A facility that knows its caesarean consumables run from KES 8,400 to KES 19,000 with a median of KES 10,100 is in a completely different negotiating position from one that believes the answer is "about ten thousand".
What clinical staff call it What the system would need it to be
A C-section pack A bill of materials
A named composition of quantities of other items, with its own cost derived from theirs. This is the entity that does not exist.
Made up a pack for theatre A production or assembly transaction
Consuming components to create a unit of something else. Nothing performs this conversion between two stock items.
Reserved for tomorrow's list An allocation against available stock
A committed-versus-available split. The statuses for this exist in the code and are set by nothing at all, so reserved stock is indistinguishable from free stock.
Issued to theatre A stock checkout to a cost centre
This one does work — as a checkout adjustment against a warehouse and location, with a reason and an approval step before it applies.
Cost per procedure A rolled-up standard cost
Available only as arithmetic you perform yourself, because there is nothing to roll up.
| Capability | Sealed kit bought in | Pack assembled in-house | Loose issue per case |
|---|---|---|---|
| Stock figure is accurate | Yes | No | Yes |
| Cost per procedure is immediate | Yes | Yes | Partly — configurable by you |
| Component reordering works | Yes | No | Yes |
| Batch traceability to the case | Yes | No | Yes |
| Survives a busy theatre list | Yes | Yes | No |
| Expiry managed on the components | Partly — configurable by you | No | Yes |
Built and maintained Configurable by you, not maintained by us Not built
The stockout you find in theatre
The operational cost of having no pack entity is not really the costing — it is discovering at the wrong moment that you have plenty of everything except the one item that makes the pack complete. A reorder point per item cannot see this, because each item individually looks fine. The pack is the thing that is short, and the pack does not exist. Until it does, the compensating control is the physical one: assemble packs a day ahead and let the empty tray tell you, at the bench, what the reorder report could not.
What AWRA OpsHub does today
- Stock issue to theatre as a checkout adjustment, against a warehouse and location with a reason, a reference number, an attachment and a Pending → approved → applied lifecycle. Issuing consumables out of the store is properly controlled.
- Batch, lot and serial tracking on every component, with expiry date, supplier and originating purchase order held on the batch — so a recall traces to what left the store and when.
- Item categories, which are real and do scope counts and variance rules, so consumables can be grouped and counted as a class.
- Custom fields on items, which is where a pack membership list can be recorded if you want it on the record rather than on paper.
- Weighted average cost per item, maintained as stock moves and including landed cost, so the per-component numbers you would add up are sound.
- A hard refusal when stock is insufficient. A component that is not there cannot be issued, with the reason stated — no negative stock and no silent override.
What it does not do
- No bill of materials, kit, bundle or pack entity of any kind. This is the central absence and everything else follows from it. You cannot define a composition of items, and there is no assembly transaction that consumes components to produce a unit of something else.
- No rolled-up cost. Nothing derives a pack cost from its components, so any cost per procedure is arithmetic you maintain outside the system and it goes stale silently when a supplier price moves.
- No committed-versus-available stock. The `reserved` and `allocated` statuses exist in the code and are written by nothing, so stock earmarked for tomorrow's list cannot be ring-fenced. A confirmed theatre list reserves nothing.
- No procedure or case entity, so there is nothing for a cost to attach to. The nearest dimension available on a stock issue is a project, which is why a standing project per theatre or per procedure type is the whole of the workaround.
- No pack-level reorder point, which is the operational half of the same gap. Reorder points are per item, and no item being low is not the same as no pack being short.
- No variance between expected and actual consumption, because there is no expected. The theoretical-versus-actual comparison that would catch waste, over-issue or leakage cannot be computed at all.
This is the same missing layer that stops a hotel computing theoretical food cost, and it lands harder here because a theatre stockout is a clinical event rather than an annoyed diner. Everything downstream of the pack works well — issuing, batches, expiry, costing per item, refusal on insufficient stock. Everything that requires composing items into a named thing does not exist and is not scheduled. If cost per procedure is the reason you are evaluating us, the honest answer is that you will be maintaining that number yourself.
The short version
Cost the standard pack by hand twice a year and record only the additions per case. It is less elegant than a bill of materials and it produces the distribution you actually need — which a single standard cost never would.
The consumables in the pack are also the items most likely to expire on a shelf, so this sits directly on top of expiry management and the FEFO discipline that governs which batch leaves first. And once you know a procedure's consumable cost, cost per visit is the framework that turns it into a tariff position.
Control what leaves the store
Stock issues with approval and reasons, batch and expiry on every component, [weighted average cost](/glossary/weighted-average-cost) including [landed cost](/glossary/landed-cost), and a hard stop when stock is not there. A pack as a composable entity with a rolled-up cost is not built — the note above says exactly what that costs you.
See clinic stock control in AWRAFrequently asked questions
What is a procedure pack in inventory terms?
It is a bill of materials — a named composition of specific quantities of other stock items, with a cost derived from theirs. That is the technical name worth using with vendors, because it is a yes-or-no capability. Systems that have it let you issue the pack as one transaction and decrement every component; systems that do not require you to record each component separately every time.
Should we treat the pack itself as a stock item?
Only if you buy it in sealed from a supplier. Then the kit genuinely is the item and everything works — cost, expiry, reordering. If you assemble packs in-house from loose stock, making the pack an item breaks component-level stock figures and reordering, because the system no longer believes you hold gloves. That trade sometimes still wins, but go in knowing what you gave up.
How do we get a defensible cost per procedure without a bill of materials?
Cost one pack of each type by hand from current supplier prices, write down the date, and redo it every six months. Then record only the per-case additions — the extra suture, the second unit of blood. That gives you a median and a range rather than a single average, which is both more honest and more useful in a tariff negotiation.
Why does an average cost per procedure mislead?
Because it hides the variable layer. Complications are not evenly distributed across payers, surgeons or times of day, so a single average is wrong in whichever direction your case mix leans. A facility that knows its caesarean consumables run KES 8,400 to KES 19,000 with a median of KES 10,100 can negotiate; one that says "about ten thousand" cannot defend the number when challenged.
Can we reserve stock for tomorrow's theatre list?
Not in the system. There is no committed-versus-available distinction — the statuses exist in the code and nothing sets them — so stock you have mentally allocated to tomorrow is available to anyone today. The compensating control is physical: assemble packs a day ahead, which removes the stock from general circulation in the only way that is actually enforced.
How do we catch a pack that is short before we are in theatre?
Per-item reorder points cannot see it, because each component individually looks adequate. Assemble packs a day in advance and let the incomplete tray raise the alarm at the bench, where it costs nothing. This is the one control that reliably substitutes for a pack-level reorder point, and it is the reason the practice exists in well-run theatres regardless of software.
Does batch traceability survive if we pack in-house?
Not through the system. Once components are recorded as consumed into an in-house pack, the link between a specific batch and the case it was used in exists only on your assembly sheet. If recall traceability to the patient matters to you — and for implants and blood products it should — record the batch numbers on the pack list and keep it, because nothing else will.