HL7 BPS_O29 Blood Product Dispense Status

HL7 message structure BPS_O29 groups and segments from HL7 v2.5.1 Hide structure

These are the generated groups and segments for the version selected at the top of the page. The article explains the workflow, and this panel follows the chosen HL7 version.

Message Structure

SegmentNameRequiredRepeatable
Message Header Yes No
Software Segment No Yes
Notes and Comments No Yes
BPS_O29.PATIENT
Patient group No No
Patient Identification Yes No
Patient Additional Demographic No No
Notes and Comments No Yes
BPS_O29.PATIENT_VISIT
Patient Visit group No No
Patient Visit Yes No
Patient Visit - Additional Information No No
BPS_O29.ORDER
Order group Yes Yes
Common Order Yes No
BPS_O29.TIMING
Timing group No Yes
Timing/Quantity Yes No
Timing/Quantity Relationship No Yes
Blood product order Yes No
Notes and Comments No Yes
BPS_O29.PRODUCT
Product group No Yes
Blood product dispense status Yes No
Notes and Comments No Yes

BPS_O29 reports the dispense status of blood products. It sits after the blood product order workflow and before final transfusion or disposition. The blood bank or transfusion service uses it to tell the placer what has been crossmatched, prepared, issued, dispensed, returned, or otherwise changed in pre-transfusion handling.

This message exists because ordinary order and observation messages do not carry enough blood product detail. A receiver often needs the donation ID, component code, blood group, expiration, product status, dispensing location, and person-to-person handoff details. That detail lives mostly in BPX.

A small BPS O29 example

MSH|^~\&|BLOODBANK|CITYHOSP|EHR|CITYHOSP|20260717143500||BPS^O29^BPS_O29|BPS290001|P|2.5.1 PID|1||123456^^^CITYHOSP^MR||Smith^Jane^Anne^^Ms^^L||19800314|F PV1|1|I|WARD3^312^A^CITYHOSP ORC|SC|BPORD7001^EHR|BBK8801^BLOODBANK||||||20260717143000 TQ1|1||||||20260717150000 BPO|1|RBC^Red blood cells^L|IRR^Irradiated^HL70508~LR^Leukoreduced^HL70508|2|600|mL^milliliter^ISO+|20260717150000|BLOODBANK^^^CITYHOSP|||20260717143000|WARD3^312^A^CITYHOSP||ANEMIA^Symptomatic anemia^L|Y BPX|1|DISP^Dispensed^L|F|20260717143000|DON12345^BLOODBANK|RBC^Red blood cells^L|PATIENT^Patient use^L||||O POS^O positive^L|IRR^Irradiated^L|20260718120000|1|300|mL^milliliter^ISO+|UNIT12345^BLOODBANK|WARD3^312^A^CITYHOSP||44556^Receiver^Rita|77889^Issuer^Ivan

What workflow it represents

The sender is usually the blood bank or transfusion service. The receiver is the ordering system, transfusion documentation system, ward application, or integration engine that needs current product status. A BPS can follow an OMB_O27 order and ORB_O28 acknowledgment, but it is not just another order response. It reports product state.

Pre-transfusion status is operational. Crossmatch complete, product reserved, product issued, product dispensed, and product returned are different states with different safety and inventory consequences.

How to read the structure

MSH identifies the message. Optional patient and visit context ties the status to the right patient and encounter. The required ORDER group starts with ORC, may include TQ1/TQ2, and requires BPO so the status is anchored to the original blood product request.

The optional PRODUCT group repeats for each product status. BPX is the key segment. It carries dispense status, observation/message status, status time, donation ID, component, blood group, special testing, expiration, quantity, unique product ID, location, receiver, and dispensing individual.

Implementation traps

Do not collapse product identity into the order number. One order can involve multiple units, and one unit can have a donation ID, component, local unique ID, and blood bank tracking number. Keep those identifiers distinct.

Also be careful with finality. BPX status can change as the product moves through crossmatch, issue, and dispense. Downstream systems should know whether they are seeing a preliminary status update or a final state for that product movement.

Reference notes

The HL7 v2+ BPS_O29 page describes blood product dispense status messages as carrying detail not available in the general order/observation model, including donation ID, product code, blood type, expiration, and current status. HL7 terminology for blood product dispense status notes that status changes can begin when a product becomes linked to a patient and continue through dispense.