Skip to content

837P — Professional Claims

The 837P (Professional) transaction is used by physicians, laboratories, and other non-institutional providers to submit claims for healthcare services. It's one of the most common EDI files in healthcare billing.


Purpose

The 837P transmits:

  • Claims for professional services (office visits, procedures, tests)
  • Supporting clinical information (diagnosis codes, referring providers)
  • Billing and payment details (charges, prior authorization)

It flows from provider → clearinghouse → payer during the claims submission process.


Loop Structure

Loop 1000A — Submitter Name
Loop 1000B — Receiver Name
Loop 2000A — Billing Provider (HL*20)
  Loop 2010AA — Billing Provider Name
  Loop 2010AB — Pay-To Address (if different)
  Loop 2010AC — Pay-To Plan Name (if different)
  Loop 2000B — Subscriber (HL*22)
    Loop 2010BA — Subscriber Name
    Loop 2010BB — Payer Name
    Loop 2000C — Patient (HL*23, if different from subscriber)
      Loop 2010CA — Patient Name
      Loop 2300 — Claim Information
        Loop 2310A — Referring Provider
        Loop 2310B — Rendering Provider
        Loop 2310C — Service Facility
        Loop 2310D — Supervising Provider
        Loop 2320 — Other Subscriber Info (COB)
        Loop 2400 — Service Lines
          Loop 2420A-F — Line-level providers

Key Segments

CLM — Claim Information

The heart of every claim:

CLM*CLAIM001*1500***11:B:1*Y*A*Y*Y~
ElementPositionDescriptionExample
Claim ID01Submitter's claim identifierCLAIM001
Total Charge02Total billed amount1500
Facility Code05Place of service (05-1 = 11 = Office)11:B:1
Provider Signature06Signature on file indicatorY
Assignment07Accept assignment codeA
Benefits Assignment08Benefits assigned indicatorY
Release of Info09Information release signedY

SV1 — Professional Service Line

Each procedure on the claim:

SV1*HC:99213:25*125*UN*1***1~
ElementPositionDescriptionExample
Procedure Code01Composite: qualifier:CPT:modifiersHC:99213:25
Charge Amount02Line item charge125
Unit Type03UN=Units, MJ=MinutesUN
Quantity04Number of units1
Diagnosis Pointer07Links to HI segment (1,2,3,4)1

HI — Diagnosis Codes

ICD-10 diagnosis codes:

HI*ABK:J0690*ABF:E119~
ElementPositionDescription
Principal Diagnosis01ABK = ICD-10 Principal, value after colon
Additional Diagnoses02+ABF = ICD-10 Other

HL — Hierarchical Level

Organizes the claim structure:

HL*1**20*1~     (Billing Provider, has children)
HL*2*1*22*1~   (Subscriber, parent=1, has children)
HL*3*2*23*0~   (Patient, parent=2, no children)
ElementPositionDescription
ID01Unique ID within transaction
Parent ID02ID of parent HL (empty for top level)
Level Code0320=Provider, 22=Subscriber, 23=Patient
Has Children041=yes, 0=no

EDI Paisan Features

Viewing

  • Claim tree navigation — Expand/collapse by provider, subscriber, patient, claim
  • Claim summary panel — Total claims, charges, service lines at a glance
  • Segment inspector — Click any segment to see element descriptions
  • Search — Find claims by ID, patient name, diagnosis code, or procedure

Splitting (Pro)

Split ModeWhat It Does
By ClaimOne file per CLM segment with proper envelopes
By SubscriberAll claims for one subscriber in a file
By Rendering ProviderGroup by who performed the service (NM1*82)
By TransactionOne file per ST...SE envelope
In HalfDivide claims evenly into two files
Into N PartsDivide claims evenly into N files

Each split file includes:

  • Correct ISA/IEA envelope with new control numbers
  • Correct GS/GE envelope with new control numbers
  • Proper ST/SE with accurate segment counts
  • All required header segments (BHT, submitter, receiver, billing provider)
  • Subscriber/patient hierarchy for each claim

Anonymization (Pro)

Masks PHI while preserving file structure:

Data TypeMasking Method
NamesFirst character preserved: "SMITH" → "S****"
AddressesFirst character preserved
DOBYear only: "19850315" → "1985XXXX"
Member IDsConsistent replacement (same ID = same mask)
SSNFull mask: "*********"
Phone NumbersPreserve area code: "555-123-4567" → "555-XXX-XXXX"
ZIP CodesHIPAA Safe Harbor: preserve first 3 digits

Anonymization only affects patient/subscriber data, not provider information.


Common Issues

Missing Required Segments

EDI Paisan validates and warns about:

  • Missing CLM segment in claim loop
  • Missing subscriber/patient NM1 segments
  • Missing payer NM1 segment
  • Missing HI (diagnosis) segment

Control Number Mismatches

When splitting, EDI Paisan automatically:

  • Generates new ISA13/IEA02 control numbers
  • Generates new GS06/GE02 control numbers
  • Updates ST02/SE02 transaction control numbers
  • Recalculates SE01 segment counts

Hierarchy Issues

If HL segments have incorrect parent references, EDI Paisan will:

  • Display warnings in the validation panel
  • Still render the file with best-effort hierarchy

Example 837P Structure

ISA*00*          *00*          *ZZ*SENDER         *ZZ*RECEIVER       *240115*1200*^*00501*000000001*0*P*:~
GS*HC*SENDER*RECEIVER*20240115*1200*1*X*005010X222A1~
ST*837*0001*005010X222A1~
BHT*0019*00*BATCH001*20240115*1200*CH~
NM1*41*2*ACME BILLING SERVICE*****46*123456789~
PER*IC*JOHN SMITH*TE*5551234567~
NM1*40*2*BLUE CROSS*****46*987654321~
HL*1**20*1~
NM1*85*2*ABC MEDICAL GROUP*****XX*1234567890~
N3*100 MAIN STREET~
N4*ANYTOWN*NY*12345~
REF*EI*111111111~
HL*2*1*22*0~
SBR*P*18*GROUP001******CI~
NM1*IL*1*SMITH*JOHN****MI*MEM123456~
N3*200 OAK AVENUE~
N4*SOMEWHERE*NY*12346~
DMG*D8*19850315*M~
NM1*PR*2*BLUE CROSS*****PI*BCBS~
CLM*CLAIM001*250***11:B:1*Y*A*Y*Y~
DTP*472*D8*20240110~
HI*ABK:J0690~
NM1*82*1*JONES*MARY****XX*9876543210~
LX*1~
SV1*HC:99213*125*UN*1***1~
DTP*472*D8*20240110~
LX*2~
SV1*HC:85025*125*UN*1***1~
DTP*472*D8*20240110~
SE*28*0001~
GE*1*1~
IEA*1*000000001~

Your Friend in EDI