BiologicallyDerivedProductDispense — Biological dispense
The dispense event of a blood bag, an organ, a transplant graft: product issued from stock, recipient identified, compatibility verified, transported to the ward.
Purpose
BiologicallyDerivedProductDispense captures the dispense event on the blood-bank or transplant-platform side. It documents:
- the product dispensed (RBC unit, organ, bone-marrow graft…);
- the identified recipient and verified compatibility (ABO, HLA, crossmatch);
- the moment of issuance from stock;
- the operators (transfusion safety officer, blood-bank nurse);
- the destination (ward, OR).
This resource pivots the regulatory follow-up in transfusion (haemovigilance) and transplant (biovigilance).
Key elements
| Field | Type | Cardinality | Role |
|---|---|---|---|
status | code | 0..1 | preparation, in-progress, allocated, issued, completed, returned, entered-in-error. |
basedOn | Reference(ServiceRequest)[] | 0..* | Originating transfusion / transplant request. |
partOf | Reference(BiologicallyDerivedProductDispense)[] | 0..* | Parent dispense (splitting). |
product | Reference(BiologicallyDerivedProduct) | 1..1 | Dispensed product. |
patient | Reference(Patient) | 1..1 | Recipient. |
performer | BackboneElement[] | 0..* | Actors (verifier, issuer, recipient). |
matchStatus | CodeableConcept | 0..1 | Compatibility status (matched, not-matched). |
quantity | Quantity | 0..1 | Quantity (often 1 unit). |
preparedDate | dateTime | 0..1 | Preparation date. |
whenHandedOver | dateTime | 0..1 | Hand-over date. |
destination | Reference(Location) | 0..1 | Delivery location. |
usageInstruction | string | 0..1 | Instructions to respect at administration. |
JSON example
Dispense of an ABO/RhD-matched RBC unit on 16 May 2026:
{
"resourceType": "BiologicallyDerivedProductDispense",
"id": "example-dispense",
"status": "completed",
"basedOn": [{
"reference": "ServiceRequest/transfusion-request-001"
}],
"product": {
"reference": "BiologicallyDerivedProduct/example-rbc-unit"
},
"patient": {
"reference": "Patient/recipient-67890"
},
"performer": [{
"function": {
"coding": [{
"system": "http://hl7.org/fhir/biologicallyderivedproductdispense-performer-function",
"code": "verifier"
}]
},
"actor": {
"reference": "Practitioner/nurse-blood-bank"
}
}],
"matchStatus": {
"coding": [{
"system": "http://hl7.org/fhir/biologicallyderivedproductdispense-match-status",
"code": "matched"
}]
},
"quantity": {
"value": 1,
"unit": "unit"
},
"preparedDate": "2026-05-16T08:00:00+00:00",
"whenHandedOver": "2026-05-16T09:15:00+00:00",
"destination": {
"reference": "Location/ward-icu-101"
},
"usageInstruction": "Confirm ABO + RhD compatibility at the bedside."
} Common pitfalls
- Undocumented matchStatus: in transfusion, missing crossmatch or ABO/RhD validation is a major hemolytic risk.
- Missing basedOn: breaks traceability to the originating medical request.
- preparedDate vs whenHandedOver swapped: the gap between preparation and hand-over is a key KPI for cold-chain breaks.
Related resources
- BiologicallyDerivedProduct — dispensed product.
- ServiceRequest — medical request.
- Procedure — transfusion / transplant act.
- Patient — recipient.