The GP2 segment carries procedure line-item grouping and reimbursement data used in DRG-based institutional billing under the Outpatient Prospective Payment System. It conveys the revenue code, service units, charge, reimbursement action, ambulatory payment classification (APC), outpatient code editor (OCE) edits, payment adjustment, packaging status, expected payment, co-pay, and pay rate for a single procedure line. GP2 details each procedure within a visit while its companion GP1 segment carries the visit-level summary; both relate to the DRG segment that conveys the diagnosis-related group assignment.
Purpose
GP2 provides the per-procedure grouping and reimbursement detail that a payer or grouper applies to an institutional claim line. It reports the revenue code and service units for the line, the charge, the reimbursement action and any denial, the assigned ambulatory payment classification, the OCE and modifier edits raised on the line, packaging status, and the expected payment, co-pay, and pay-rate amounts. GP2 lines roll up to the GP1 visit summary and the DRG assignment.
Used in
UB1 (UB-82 form data) and UB2 (UB-92 form data) carry institutional-billing form information, while GP1 and GP2 carry grouping and reimbursement (DRG-based) data. GP2 appears in BAR (billing and account) messages and in ADT institutional-billing contexts, typically following the PID, PV1, DRG, and GP1 segments that establish patient, visit, grouping, and visit-summary context.
Field-by-field reference
Source: HAPI HL7v2 v2.5.1 javadocs (GP2.html). Length is shown as —; Required and Table # are taken from the HL7 v2.5.1 standard where well-established.
| Seq | Name | Data Type | Length | Req | Repeat | Table # | Description |
|---|---|---|---|---|---|---|---|
| GP2-1 | Revenue Code | is | — | O | — | HL70456 | Revenue code for the procedure line |
| GP2-2 | Number of Service Units | nm | — | O | — | — | Count of service units on the line |
| GP2-3 | Charge | cp | — | O | — | — | Charge amount for the procedure line |
| GP2-4 | Reimbursement Action Code | is | — | O | — | HL70459 | Reimbursement action applied to the line |
| GP2-5 | Denial or Rejection Code | is | — | O | — | HL70460 | Denial or rejection reason for the line |
| GP2-6 | OCE Edit Code | is | — | O | Y | HL70458 | Outpatient code editor edits on the line |
| GP2-7 | Ambulatory Payment Classification Code | ce | — | O | — | — | Assigned APC for the procedure line |
| GP2-8 | Modifier Edit Code | is | — | O | Y | HL70467 | Modifier edits raised on the line |
| GP2-9 | Payment Adjustment Code | is | — | O | — | HL70468 | Payment adjustment applied to the line |
| GP2-10 | Packaging Status Code | is | — | O | — | HL70469 | Packaging status of the procedure line |
| GP2-11 | Expected CMS Payment Amount | cp | — | O | — | — | Expected payment amount for the line |
| GP2-12 | Reimbursement Type Code | is | — | O | — | HL70470 | Reimbursement type for the line |
| GP2-13 | Co-Pay Amount | cp | — | O | — | — | Co-pay amount due on the line |
| GP2-14 | Pay Rate per Service Unit | nm | — | O | — | — | Pay rate per service unit on the line |
Most-used fields
- GP2-1 Revenue Code: identifies the chargeable category for the procedure line.
- GP2-3 Charge: composite price reporting the charge amount for the line.
- GP2-6 OCE Edit Code: repeating outpatient code editor edits raised on the line.
- GP2-7 Ambulatory Payment Classification Code: the assigned APC that drives line reimbursement.
- GP2-11 Expected CMS Payment Amount: composite price for the expected payment on the line.
Version differences (2.3 to 2.8.2)
- GP2 was introduced with the Outpatient Prospective Payment System grouping and reimbursement work and is present in v2.4 onward; it is not part of the earliest 2.3 message structures.
- Through v2.5.1 GP2 retains its fourteen-field structure with repeating OCE edits (GP2-6) and modifier edits (GP2-8).
- Composite-price refinements to the Charge (GP2-3), Expected CMS Payment Amount (GP2-11), and Co-Pay Amount (GP2-13) fields across the 2.4 to 2.8.2 range tightened component definitions without changing field order.
- GP2 is paired with GP1 for visit-level summary throughout the 2.x range; confirm both segments' availability against the specific version in use.
Common mistakes
- Confusing GP2 (procedure line item) with GP1 (visit level). GP2 details each procedure; GP1 summarizes the visit.
- Collapsing repeating fields. GP2-6 OCE Edit Code and GP2-8 Modifier Edit Code both repeat; flattening them loses detail.
- Sending money fields as plain numbers. Charge (GP2-3), Expected CMS Payment Amount (GP2-11), and Co-Pay Amount (GP2-13) are CP composite prices.
- Treating GP2-1 as required. All GP2 fields are optional in the standard.
- Omitting the related DRG and GP1 context. GP2 line items are most useful alongside the visit summary and grouping assignment.
Examples
Minimal GP2 (revenue code, units, and charge only):
GP2|0450|1|275.00^USD
Fully populated GP2:
GP2|0450|1|275.00^USD|1|0|E1~E2|0606^Level II^L|M1~M2|01|1|220.00^USD|2|55.00^USD|220.00
Annotated breakdown:
GP2|0450|1|275.00^USD|1|0|E1~E2|0606^Level II^L|M1~M2|01|1|220.00^USD|2|55.00^USD|220.00
| | | | | | | | | | | | | |
| | | | | | | | | | | | | +-> GP2-14 Pay Rate per Service Unit = 220.00
| | | | | | | | | | | | +------------> GP2-13 Co-Pay Amount = 55.00 USD (CP)
| | | | | | | | | | | +---------------> GP2-12 Reimbursement Type Code = 2
| | | | | | | | | | +--------------------------> GP2-11 Expected CMS Payment Amount = 220.00 USD (CP)
| | | | | | | | | +-----------------------------> GP2-10 Packaging Status Code = 1
| | | | | | | | +--------------------------------> GP2-9 Payment Adjustment Code = 01
| | | | | | | +--------------------------------------> GP2-8 Modifier Edit Code = M1, M2 (repeating)
| | | | | | +------------------------------------------------------> GP2-7 APC Code = 0606 (Level II)
| | | | | +------------------------------------------------------------> GP2-6 OCE Edit Code = E1, E2 (repeating)
| | | | +--------------------------------------------------------------> GP2-5 Denial or Rejection Code = 0
| | | +----------------------------------------------------------------> GP2-4 Reimbursement Action Code = 1
| | +---------------------------------------------------------------------------> GP2-3 Charge = 275.00 USD (CP)
| +-----------------------------------------------------------------------------> GP2-2 Number of Service Units = 1
+----------------------------------------------------------------------------------> GP2-1 Revenue Code = 0450
In-context excerpt inside a BAR^P01 (billing account) message, after PID, PV1, DRG, and GP1:
MSH|^~&|REGISTRATION|MERCYGEN|BILLING|MERCYGEN|20260610113000||BAR^P01^BAR_P01|MSG10244|P|2.5.1
EVN|P01|20260610113000
PID|1||MRN884412^^^MERCYGEN^MR||DOE^JANE^Q||19710204|F
PV1|1|O|EDOP^^^MERCYGEN||||1023^WELBY^MARCUS|||EMR||||A|||1023^WELBY^MARCUS|OP|ACC778901|||||||||||||||||||||||||20260601|20260601
DRG|470^Major Joint Replacement^MS-DRG|20260601|Y
GP1|131|0450~0636|03|E1~E2|1850.00^USD
GP2|0450|1|275.00^USD|1|0|E1|0606^Level II^L|M1|01|1|220.00^USD|2|55.00^USD|220.00
Second in-context excerpt (a shorter procedure line following GP1):
MSH|^~&|REGISTRATION|RIVEROAKS|BILLING|RIVEROAKS|20260609090000||BAR^P01^BAR_P01|MSG55015|P|2.5.1
EVN|P01|20260609090000
PID|1||MRN200337^^^RIVEROAKS^MR||SMITH^ROBERT^A||19640812|M
PV1|1|O|CLINIC^^^RIVEROAKS||||2210^HOUSE^GREGORY|||OUT||||A|||2210^HOUSE^GREGORY|OP|ACC661204|||||||||||||||||||||||||20260520|20260520
DRG|313^Chest Pain^MS-DRG|20260520|N
GP1|131|0510|01||
GP2|0510|1|130.00^USD|1||||||||95.00^USD|
FHIR mapping
- Source: GP2.
- Target: Not mapped at the segment level.
- Notes: No segment-level ConceptMap is published in the v2-to-FHIR IG for GP2. Institutional-billing data maps conceptually to the FHIR Claim resource (UB-04/837I billing). Revenue code, charge, APC, expected payment, and co-pay align with Claim.item and Claim.item.adjudication rather than a single normalized field.
Engine considerations
- GP2 fields are optional; a conformant engine should accept a sparsely populated GP2 line.
- Preserve repetitions in GP2-6 OCE Edit Code and GP2-8 Modifier Edit Code using repetition-aware accessors.
- Validate the money fields (GP2-3, GP2-11, GP2-13) as CP composites, retaining price and currency components.
- Treat GP2 as procedure-level detail that rolls up to the GP1 visit summary and the DRG assignment; keep the segments associated when routing.
- Apply the established tables (HL70456 revenue code, HL70458 OCE edits, and the related reimbursement and adjustment tables) for validation where configured.
How Vorro parses and produces GP2
Vorro parses GP2 into a normalized procedure line-item model that keeps the repeating OCE edits (GP2-6) and modifier edits (GP2-8) as lists and reads the charge (GP2-3), expected payment (GP2-11), and co-pay (GP2-13) as typed composite prices with their currency components. When producing GP2, Vorro emits fields in standard sequence, populates only the elements present in the source claim line, and preserves the coded values against the established revenue, OCE-edit, and reimbursement tables. Each GP2 line is kept associated with its parent GP1 visit summary and the related DRG assignment so the procedure-level reimbursement detail stays connected to the visit picture.
Related pages
- GP1 Segment: Grouping/Reimbursement - Visit
- DRG Segment: Diagnosis Related Group
- BAR Message: Billing and Account
