NEWFree ROI Calculators — quantify what prior auth and siloed data are costing your organization.Prior Auth ROI Siloed Data ROI
HL7 v2Segment6 min read

HL7 BLC Segment: Blood Code

The BLC (Blood Code) segment carries the blood-product detail needed to charge for a blood transfusion or blood-product issue. It pairs a blood product code with an amount, so that a financial message can record exactly which blood product was used and in what quantity for billing purposes. It is a compact, special-purpose financial segment used in the context of blood-bank charging.

The BLC segment has just two fields, but both are load-bearing: Blood Product Code (BLC-1) identifies the product, and Blood Amount (BLC-2) quantifies it.

Purpose

The BLC segment exists to attach blood-product charge detail to a financial transaction. It does the following:

  • Identifies the specific blood product being charged.
  • Records the amount of that blood product used or issued.
  • Supplies the granularity a billing system needs to generate an accurate blood-product charge.

BLC carries neither price nor account — those come from the surrounding financial transaction and charge-master resolution. It supplies the clinical-financial fact of what blood product, and how much, was involved.

Used in

BLC (Blood Code) carries blood-product charge data in BAR/DFT financial messages. It appears in the financial-transaction context where a blood product needs to be itemized for billing, accompanying the financial-transaction detail that records the charge. It is used where blood-bank charges flow into the patient-accounting or detailed-financial-transaction stream.

Typical placement in a financial-transaction context:

  • FT1 (Financial Transaction) — the financial transaction detail
  • BLC (Blood Code) — blood-product code and amount for that transaction

Field-by-field reference

Source: HAPI HL7v2 v2.5.1 javadocs (BLC). Length ; Required and Table # from the HL7 v2.5.1 standard where well-established.

SeqNameData TypeLengthReqRepeatTable #Description
BLC-1Blood Product CodeceOHL70426Code identifying the blood product
BLC-2Blood AmountcqOQuantity of the blood product

Most-used fields

  • BLC-1 Blood Product Code is the identity of the product being charged and the key the billing system uses to resolve a charge-master entry.
  • BLC-2 Blood Amount quantifies the product (for example a number of units or a volume) and drives the multiplier on the resolved price.

Both fields are normally sent together; a Blood Product Code with no amount, or an amount with no product code, is rarely useful to a billing receiver.

Version differences (2.3 to 2.8.2)

  • BLC is a specialized blood-bank financial segment introduced in the blood-bank message work; the two-field shape of Blood Product Code plus Blood Amount has been stable in the v2.4 and v2.5/2.5.1 releases where it appears.
  • The CQ type used for Blood Amount carries a quantity and an associated units component; this structure is unchanged across the versions in which BLC is defined.
  • In v2.6 through v2.8.2 the segment retains both fields in the same order with no deprecations.
  • Because BLC is narrow and special-purpose, support varies by receiving system more than by HL7 version; not every vendor implements it even when their version nominally includes it.

Common mistakes

  • Sending Blood Amount (BLC-2) without its units component, leaving the receiver to guess whether the value is units, milliliters, or something else.
  • Sending a Blood Product Code (BLC-1) without an amount and expecting the receiver to default a quantity of one.
  • Assuming BLC carries a price — it does not; the charge is resolved downstream from the product code and amount.
  • Treating BLC as repeating; in v2.5.1 it is a single, non-repeating segment, so multiple products require separate transaction contexts.
  • Using a local blood-product code without a coding system in BLC-1, which prevents the receiver from mapping it to a charge.
  • Confusing BLC with BLG. BLC itemizes a blood product for charging; BLG carries general billing instructions on an order.

Examples

Minimal BLC (product code only):

BLC|PRBC^Packed Red Blood Cells^HL70426

Fully populated BLC:

BLC|PRBC^Packed Red Blood Cells^HL70426|2^units^HL70126

Annotated breakdown of the fully populated example:

BLC-1  Blood Product Code   PRBC^Packed Red Blood Cells^HL70426   (packed red blood cells)
BLC-2  Blood Amount         2^units^HL70126                       (two units)

In-context excerpt 1 — BLC following an FT1 in a DFT blood-product charge:

MSH|^~&|BLOODBANK|MERCYGEN|PATACCT|MERCYGEN|20260610120000||DFT^P03^DFT_P03|MSG00845|P|2.5.1
PID|1||MRN778412^^^MERCYGEN^MR||Rivera^Daniela^A||19840312|F
FT1|1|TXN-330118|||20260610120000||CG|PRBC^Packed Red Blood Cells^L|||2|||BB^Blood Bank^L
BLC|PRBC^Packed Red Blood Cells^HL70426|2^units^HL70126

In-context excerpt 2 — BLC in a BAR patient-accounting blood-product charge context:

MSH|^~&|BLOODBANK|MERCYGEN|PATACCT|MERCYGEN|20260610124500||BAR^P01^BAR_P01|MSG00846|P|2.5.1
PID|1||MRN778412^^^MERCYGEN^MR||Rivera^Daniela^A||19840312|F
FT1|1|TXN-330122|||20260610124500||CG|FFP^Fresh Frozen Plasma^L|||1|||BB^Blood Bank^L
BLC|FFP^Fresh Frozen Plasma^HL70426|1^units^HL70126

FHIR mapping

BLC is not mapped at the segment level. No segment-level ConceptMap is published in the v2-to-FHIR Implementation Guide for BLC. Conceptually, a BLC blood-product charge corresponds most closely to a FHIR ChargeItem for a blood product, where Blood Product Code maps to ChargeItem.code and Blood Amount maps to ChargeItem.quantity. Because the published IG does not define a normalized field-by-field mapping for BLC, any such projection is an integration design decision rather than a standard transform.

Engine considerations

  • BLC is narrow and not universally supported; confirm the receiving system consumes it before relying on it, and have a fallback (such as itemizing the product in FT1) where it does not.
  • The CQ type in BLC-2 carries a quantity plus a units component; parse and preserve the units so the downstream multiplier is correct.
  • Keep BLC bound to the financial transaction it itemizes so the product detail is not separated from its charge.
  • Validate Blood Product Code (BLC-1) against the blood-product vocabulary and require a coding system so the receiver can resolve a charge.
  • Because BLC does not repeat, model multiple blood products as separate transactions rather than packing them into one segment.

How Vorro parses and produces BLC

When consuming a BAR or DFT message, Vorro binds each BLC to the financial transaction it accompanies, decomposing Blood Amount (BLC-2) into its numeric quantity and units component and validating Blood Product Code (BLC-1) against the blood-product vocabulary. The product code and amount are carried together so downstream charge resolution can compute an accurate blood-product charge.

When producing BLC, Vorro emits it only where a blood product must be itemized for charging, populating both the product code (with an explicit coding system) and the amount with its units. Each blood product is emitted in its own transaction context rather than packed into a single segment, and BLC is kept adjacent to its financial-transaction detail so receivers can associate the product with the correct charge.

Sources

← Back to HL7 v2 Guide

Ready to Integrate This Into Your Workflow?

Talk to a Vorro expert about implementing HL7 v2 in your specific environment.

Browse HL7 v2 Guides
HL7 BLC Segment: Blood Code | Vorro Academy | Vorro