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 ​

Strip patient identifiers in the viewer for Free; download the cleaned file with 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