The PRC (Pricing) segment carries the facility-specific and patient-class-specific pricing detail for a single charge-master entry. Where the CDM segment defines what a charge is, the PRC segment defines what it costs and under what conditions that price applies. A single charge can have many PRC rows — one per facility, department, or patient class — so PRC almost always repeats within a charge-master record.
The PRC segment is the pricing companion to CDM inside a charge-description master. Its key fields are Primary Key Value - PRC (PRC-1), which links the price row to its charge, Facility ID - PRC (PRC-2), and Price (PRC-5).
Purpose
The PRC segment exists to transmit how a chargeable item is priced in a given context. It does the following:
- Links a price row to a charge-master entry through a shared primary key.
- Scopes pricing to a facility, department, and set of valid patient classes.
- Carries the actual price, any pricing formula, and quantity and price boundaries.
- Records effective start and end dates so receivers can apply time-bounded pricing.
- Flags chargeability, override behavior, and cost.
PRC carries no patient or encounter data. Like CDM, it is reference data maintained centrally and synchronized through master-file notification messages.
Used in
PRC (Pricing) carries charge-master pricing data in MFN^M04 master-file notification messages. Within an MFN^M04, each charge-master record is introduced by an MFE (Master File Entry) segment and a CDM (Charge Description Master) segment, after which one or more PRC segments follow to supply pricing for that charge. The message opens with an MFI (Master File Identification) segment identifying the charge-description master.
Typical placement inside the MFN^M04:
- MSH (Message Header)
- MFI (Master File Identification)
- MFE (Master File Entry) — one per charge-master record
- CDM (Charge Description Master) — the charge definition
- PRC (Pricing) — one or more pricing rows for that charge
Field-by-field reference
Source: HAPI HL7v2 v2.5.1 javadocs (PRC). Length —; Required and Table # from the HL7 v2.5.1 standard where well-established.
| Seq | Name | Data Type | Length | Req | Repeat | Table # | Description |
|---|---|---|---|---|---|---|---|
| PRC-1 | Primary Key Value - PRC | ce | — | R | — | HL70132 | Charge code linking the price to its entry |
| PRC-2 | Facility ID - PRC | ce | — | O | Y | HL70464 | Facility for which this price applies |
| PRC-3 | Department | ce | — | O | Y | HL70184 | Department for which this price applies |
| PRC-4 | Valid Patient Classes | is | — | O | Y | HL70004 | Patient classes eligible for this price |
| PRC-5 | Price | cp | — | O | Y | — | The price amount and price type |
| PRC-6 | Formula | st | — | O | Y | — | Formula used to derive the price |
| PRC-7 | Minimum Quantity | nm | — | O | — | — | Minimum chargeable quantity |
| PRC-8 | Maximum Quantity | nm | — | O | — | — | Maximum chargeable quantity |
| PRC-9 | Minimum Price | mo | — | O | — | — | Floor price for this charge |
| PRC-10 | Maximum Price | mo | — | O | — | — | Ceiling price for this charge |
| PRC-11 | Effective Start Date | ts | — | O | — | — | Date this price becomes effective |
| PRC-12 | Effective End Date | ts | — | O | — | — | Date this price stops being effective |
| PRC-13 | Price Override Flag | is | — | O | — | HL70268 | Whether the price may be overridden |
| PRC-14 | Billing Category | ce | — | O | Y | HL70293 | Billing category for the charge |
| PRC-15 | Chargeable Flag | id | — | O | — | HL70136 | Whether the item is chargeable |
| PRC-16 | Active/Inactive Flag | id | — | O | — | HL70183 | Whether the price row is active |
| PRC-17 | Cost | mo | — | O | — | — | Cost of the item to the facility |
| PRC-18 | Charge On Indicator | is | — | O | — | HL70269 | When the charge is triggered |
Most-used fields
- PRC-1 Primary Key Value - PRC is the link back to the charge. It must match the CDM-1 of the charge being priced, or the price row is orphaned.
- PRC-2 Facility ID - PRC scopes the price to a facility, which is what lets one charge carry many prices in a multi-facility system.
- PRC-5 Price is the core payload — the amount and price type (for example total price versus professional component).
- PRC-11 Effective Start Date and PRC-12 Effective End Date define the time window in which the price applies and drive correct historical pricing.
- PRC-16 Active/Inactive Flag tells receivers whether to apply or retire the price row.
Version differences (2.3 to 2.8.2)
- PRC was introduced alongside the master-file framework and has carried these eighteen fields since HL7 v2.3.
- Across v2.3 through v2.5.1 the field set and order are stable; changes were limited to data-type refinements such as the monetary MO type used for Minimum Price, Maximum Price, and Cost, and to table references.
- In v2.6 through v2.8.2 the segment retains all eighteen fields in the same sequence. CE-typed fields are frequently represented as CWE in tooling, but the PRC definition itself is not restructured.
- No PRC fields have been deprecated or withdrawn across 2.3 to 2.8.2, making it a dependable segment for cross-version charge-master interfaces.
Common mistakes
- Mismatching PRC-1 against CDM-1. The two primary keys must agree, including coding system, or pricing is silently dropped.
- Sending Price (PRC-5) without a price type component, leaving the receiver to guess whether it is a total, professional, or technical price.
- Ignoring Effective Start/End Dates (PRC-11/PRC-12) and overwriting current pricing with a future-dated row.
- Confusing PRC-9/PRC-10 (Minimum/Maximum Price, MO) with PRC-7/PRC-8 (Minimum/Maximum Quantity, NM).
- Collapsing repeating Facility ID (PRC-2) or Valid Patient Classes (PRC-4) into a single value and losing scope.
- Forgetting that PRC-15 Chargeable Flag and PRC-16 Active/Inactive Flag are independent — an active row can still be flagged non-chargeable.
Examples
Minimal PRC (charge key and a single price):
PRC|10042^Chest X-Ray Single View^L|||175.00^USD^^^TP
Fully populated PRC:
PRC|10042^Chest X-Ray Single View^L|MERCYGEN^Mercy General^L|RAD^Radiology^L|I~O|175.00^USD^^^TP|BASE*1.0|1|3|150.00^USD|400.00^USD|20260101|20261231|N|DIAG^Diagnostic^L|Y|A|62.40^USD|ON_ORDER
Annotated breakdown of the fully populated example:
PRC-1 Primary Key Value - PRC 10042^Chest X-Ray Single View^L (links to CDM-1)
PRC-2 Facility ID - PRC MERCYGEN^Mercy General^L (priced for this facility)
PRC-3 Department RAD^Radiology^L (radiology department)
PRC-4 Valid Patient Classes I~O (inpatient and outpatient)
PRC-5 Price 175.00^USD^^^TP (total price, US dollars)
PRC-6 Formula BASE*1.0 (pricing formula)
PRC-7 Minimum Quantity 1 (minimum chargeable qty)
PRC-8 Maximum Quantity 3 (maximum chargeable qty)
PRC-9 Minimum Price 150.00^USD (floor price)
PRC-10 Maximum Price 400.00^USD (ceiling price)
PRC-11 Effective Start Date 20260101 (price effective from)
PRC-12 Effective End Date 20261231 (price effective to)
PRC-13 Price Override Flag N (no override allowed)
PRC-14 Billing Category DIAG^Diagnostic^L (billing category)
PRC-15 Chargeable Flag Y (chargeable)
PRC-16 Active/Inactive Flag A (active price row)
PRC-17 Cost 62.40^USD (facility cost)
PRC-18 Charge On Indicator ON_ORDER (charge triggered on order)
In-context excerpt 1 — PRC inside an MFN^M04 charge-master notification, following CDM:
MSH|^~&|CHARGEMASTER|MERCYGEN|BILLING|MERCYGEN|20260610093000||MFN^M04^MFN_M04|MSG00231|P|2.5.1
MFI|CM^Charge Master^HL70175|MERCYGEN|UPD|20260610093000||AL
MFE|MAD|||10042^Chest X-Ray Single View^L|CM
CDM|10042^Chest X-Ray Single View^L||CXR 1V|Radiology Chest X-Ray, Single Frontal View|N||71045^Radiologic exam chest single view^CPT|A|||||N
PRC|10042^Chest X-Ray Single View^L|MERCYGEN^Mercy General^L|RAD||175.00^USD^^^TP||1|1|||20260101|||N|DIAG^Diagnostic^L|Y|A|62.40^USD|
In-context excerpt 2 — one charge with two PRC rows (inpatient and outpatient pricing):
MFE|MAD|||10042^Chest X-Ray Single View^L|CM
CDM|10042^Chest X-Ray Single View^L||CXR 1V|Radiology Chest X-Ray, Single Frontal View|N||71045^Radiologic exam chest single view^CPT|A|||||N
PRC|10042^Chest X-Ray Single View^L|MERCYGEN^Mercy General^L|RAD|I|175.00^USD^^^TP||||||20260101|||N|DIAG^Diagnostic^L|Y|A||
PRC|10042^Chest X-Ray Single View^L|MERCYGEN^Mercy General^L|RAD|O|140.00^USD^^^TP||||||20260101|||N|DIAG^Diagnostic^L|Y|A||
FHIR mapping
PRC is not mapped at the segment level. No segment-level ConceptMap is published in the v2-to-FHIR Implementation Guide for PRC. Conceptually, a PRC pricing row corresponds most closely to a FHIR ChargeItemDefinition, where the price maps to ChargeItemDefinition.propertyGroup.priceComponent, the effective dates map to ChargeItemDefinition.applicability, and the active flag maps to ChargeItemDefinition.status. Because the published IG does not define a normalized field-by-field mapping for PRC, any such projection is an integration design decision rather than a standard transform.
Engine considerations
- PRC frequently repeats within one charge record; engines must preserve each repetition as a distinct pricing row rather than merging them.
- Repeating fields inside a PRC (PRC-2, PRC-3, PRC-4, PRC-5, PRC-6, PRC-14) require repetition (
~) handling; flattening loses facility, class, or price-type scope. - Effective-date handling (PRC-11/PRC-12) should be modeled as a date range so future-dated rows do not overwrite current pricing.
- Because PRC-1 must match CDM-1, validate the join during transformation and reject or quarantine orphaned price rows.
- Monetary fields (MO) and the CP price field carry currency components; normalize currency before any arithmetic.
How Vorro parses and produces PRC
When consuming an MFN^M04, Vorro binds each PRC to the CDM that precedes it within the same charge-master record group, validating that PRC-1 matches CDM-1 before persisting the price. Each PRC repetition is kept as a separate pricing row keyed by facility (PRC-2), department (PRC-3), and patient class (PRC-4), with effective dates modeled as a closed or open range. Price and cost fields are normalized to a normalized currency representation, preserving the price-type component so totals are not confused with professional or technical components.
When producing PRC, Vorro emits PRC-1 as the required link to the charge, then populates facility, price, and effective dates from the source pricing record. Multiple price contexts are emitted as repeated PRC segments under a single CDM, and empty trailing fields are suppressed. The MFE/CDM/PRC grouping is always preserved so receivers parse pricing in the context of its charge definition.
