Showing posts with label EDI 5010. Show all posts
Showing posts with label EDI 5010. Show all posts

Monday, 21 September 2015

Difference Between 837 Institutional and 837 Professional

837 Professional

Professional billing is responsible for the billing of claims generated for work performed by physicians, suppliers and other non-institutional providers for both outpatient and inpatient services. Professional charges are billed on a CMS-1500 form. The electronic version of the CMS-1500 is called the 837-P, the P standing for the professional format.

837 Institutional
Institutional billing is responsible for the billing of claims generated for work performed by hospitals and skilled nursing facilities. Institutional charges are billed on a UB-04.
And also Hospital Billing uses Revenue Codes.


Revenue Codes

Revenue codes are 3-digit numbers that are used on hospital bills to tell the insurance companies either where the patient was when they received treatment, or what type of item a patient might have received as a patient. A medical claim will not be paid if this is missing from a bill.

Revenue codes go along with procedure codes. When putting them in a charge master, you would add the correct revenue code to the CPT code you were going to use for a particular department. It's the use of revenue codes which allows hospitals to use the same CPT code in multiple departments because it will show which department the services were provided in.

An easy example to use here would be to match up CPT code 99282, which is for an emergency room visit of low to moderate severity, and revenue code 450, which stands for emergency room. In this case, revenue code 450 is the only code that could be used for this CPT code, thus making this one easy to code.

In short, Revenue Codes are descriptions and dollar amounts charged for hospital services provided to a patient.  The revenue code tells an insurance company whether the procedure was performed in the emergency room, operating room or another department.For example, stitches may be given to a patient in the emergency room, or in a completely different area of the hospital like the maternity ward.


837 Specification

Both sets of 837 specifications are same. The only differences would be claim specific data that pertains to a single transaction. All three transactions contain ISA, GS and ST segments but some data and qualifying codes are specific to the type of 837. Another way to quickly identify which type of 837 is being encountered is by the codes sent in the GS-08 or in the ST-03. Professionals use a 005010X222, Institutional uses a 005010X223 and Dental uses a 005010X224.


837 Institutional Transaction Sample

Data Element

Value

Subscriber:

Clark Kent

Subscriber Address:

123 Fake St.

Pittsburgh, PA 15123

Sex:

M

DOB:

May 3, 2006

Insurance ID#:

000000001-03

Payer ID #:

987654321

Patient:

Clark Kent

Primary Payer:

UPMC Health Plan

Submitter:

Line Medical Center

EDI #:

111111111

Receiver:

UPMC Health Plan

EDI #:

222222222

Billing Provider:

Line Medical Center

Provider #

111111111

Address:

123 Line Blvd.

Pittsburgh, PA 15123

Contact Person and Number

Dr. J, 412-454-1000

Attending Physician:

William J. Line, MD

Attending Physician NPI:

2222222222

UPIN #

P97777

Patient Account Number:

333333

Date of Admission:

04/17/2011

Place of Service:

Hospital

Occurrence Codes and Dates:

41 on 5/1/2010

27 on 7/15/2010

33 on 4/15/2010 C2 on 4/10/2010

Value Code

30

Value Amount

$20.

Condition Codes:

01

ICD-9 Procedure Code and Date:

449.1, 7/30/2010

Principal Diagnosis Code:

250.00

Secondary Diagnosis Codes:

789.01

Revenue Codes

0300 0320 0270

Services:

HC

Institutional Services Rendered:

81000 76092 J1120

Line Item Charge Amounts

$120. $50. $30.

Total Charges:

$200.

 

 

Example 837 Data String
The following transmission sample illustrates the file format used for an EDI transaction, which includes delimiters and data segment symbols. The sample includes the ISA (Interchange Control) and GS (Functional Group) portions of a transmission, and only one ST/SE segment. This sample contains a line break after each tilde to provide an easy illustration of where a new data segment begins.

ISA*00* *00* *ZZ*111111111 *33*7306849549*110418*1336*^*00501*000000312*1*P*:~
GS*HC*111111111*7306849549*20110418*1336*312005010X223~
ST*837*0034*005010X223A1~
BHT*0019*00*3920394930203*20100816*1615*CH~
NM1*41*2* LINE MEDICAL CENTER*****46*111111111~
PER*IC*DR. J*TE*4124541000~
NM1*40*2*UPMCHP*****46*222222222~
HL*1**20*1~
NM1*85*2* LINE MEDICAL CENTER*****XX*1111111111~
N3*123 LINE BLVD~
N4*PITTSBURGH*PA*15123~
REF*EI*111111111~
PER*IC*CLARK KENT*TE*00000000101*FX*6145551212~
HL*2*1*22*0~
SBR*P*18*XYZ1234567******BL~
NM1*IL*1*KENT*CLARK*S**MI*00000000101~
N3*123 FAKE ST~
N4*PITTSBURGH*PA*15123~
DMG*D8*19820503*M~
NM1*PR*2*UPMCHP*****PI*222222222~
CLM*333333 *200***13:A:1***A**Y*Y~
DTP*434*RD8*20110417-20110417~
CL1*1*9*01~
REF*F8*ASD0000123~
HI*BK:25000~
HI*BF:78901~
HI*BR:4491:D8:20100730~
HI*BH:41:D8:20100501*BH:27:D8:20100715*BH:33:D8:20100415*BH:C2:D8:20100410~
HI*BE:30:::20~
HI*BG:01~
NM1*71*1*LINE*WILLIAM*AL***34*2222222222~
REF*1G*P97777~
LX*1~
SV2*0300*HC:81000*120*UN*1~
DTP*472*D8*20100730~
LX*2~
SV2*0320*HC:76092*50*UN*1~
DTP*472*D8*20100730~
LX*3~
SV2*0270*HC:J1120*30*UN*1~
DTP*472*D8*20100730~
SE*41*0001~
GE*1*312~
IEA*1*000000312~

Tuesday, 27 May 2014

SQL Server Stored Procedure for EDI 837 P 5010 Version

Here is a sample Stored Procedure which is used to generate Loop 2010BB. For complete List, please email me at vbsenthilinnet@gmail.com

 

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO



/********************************************************************************
Page No : 130
Purpose : PAYER NAME
********************************************************************************/

ALTER PROCEDURE [dbo].[ProcHCEDI_Loop2010BB]
@plngClaimNo Bigint = NULL,
@pstrSegDelim VARCHAR(1) = Null,
@plngInsPlanRowID Bigint = NULL

AS
DECLARE
@strValidText VARCHAR(8000),
@strInValidText VARCHAR(8000),
@StrInsName VARCHAR(100),
@strAddress1 VARCHAR(100),
@strAddress2 VARCHAR(100),
@strCity VARCHAR(50),
@strState VARCHAR(50),
@strZip VARCHAR(50),
@strPayerID VARCHAR(50),
@strNHPI VARCHAR(80)



BEGIN

SET @strValidText = ''
SET @strInvalidText = ''
SELECT @pstrSegDelim = IsNull(@pstrSegDelim,'*')

SET @strValidText = 'NM1' + @pstrSegDelim


/*
Page No : 131
Loop No : 2010BB
Loop Name : PAYER NAME
Segment Name : NM1 Individual or Organizational Name
Data Element : NM101 - Entity Identifier Code
*/

SET @strValidText = @strValidText + 'PR' + @pstrSegDelim


/*
Page No : 131
Loop No : 2010BB
Loop Name : PAYER NAME
Segment Name : NM1 Individual or Organizational Name
Data Element : NM102 - Entity Type Qualifier
*/

SET @strValidText = @strValidText + '2' + @pstrSegDelim


SELECT
@StrInsName = LTRIM(RTRIM(ISNULL(InsuranceName,''))),
@strAddress1 = LTRIM(RTRIM(ISNULL(Address1,''))),
@strAddress2 = LTRIM(RTRIM(ISNULL(Address2,''))),
@strCity = LTRIM(RTRIM(ISNULL(City,''))),
@strState = LTRIM(RTRIM(ISNULL(State,''))),
@strZip = LTRIM(RTRIM(ISNULL(Zip,''))),
@strPayerID = LTRIM(RTRIM(ISNULL(PayerID,'')))
FROM
ViewHCInsurance
WHERE
Code = (SELECT InsCode From ViewHCPatientPolicy Where InsPlanRowID =@plngInsPlanRowID)



SELECT @strNHPI = LTRIM(RTRIM(ISNULL(NHPI,'')))

FROM
ViewHCInsurancePlan
WHERE
PlanRowID = (SELECT PlanRowID From ViewHCPatientPolicy Where InsPlanRowID =@plngInsPlanRowID)



IF @StrInsName= ''
SET @strInValidText = @strInValidText + 'E2010BB_NM103' + @pstrSegDelim
ELSE IF LEN(@StrInsName) > 35
SET @strInValidText = @strInValidText + 'E2010BB_NM103_01' + @pstrSegDelim
ELSE
SET @StrValidText = @strValidText + @StrInsName + @pstrSegDelim


/*
Page No : 131
Loop No : 2010BB
Loop Name : PAYER NAME
Segment Name : NM1 Individual or Organizational Name
Data Element : NM104,NM105,NM106,NM107
NOT USED
*/

SET @StrValidText = @strValidText + @pstrSegDelim + @pstrSegDelim + @pstrSegDelim + @pstrSegDelim

/*
Page No : 131
Loop No : 2010BB
Loop Name : PAYER NAME
Segment Name : NM1 Individual or Organizational Name
Data Element : NM108,NM109
*/


IF @strPayerID = '' AND @strNHPI = ''
SET @strInValidText = @strInValidText + 'E2010BB_NM109' + @pstrSegDelim
ELSE
BEGIN
IF @strNHPI <> ''
SET @StrValidText = @strValidText + 'XV' + @pstrSegDelim + @strNHPI
ELSE IF @strPayerID <> ''
SET @StrValidText = @strValidText + 'PI' + @pstrSegDelim + @strPayerID
END


SELECT @strValidText as EDIinfo, @strInvalidText as ErrInfo,1 as RowNum,'2010BB - Payer Name' +space(200) AS LoopNo,'NM1' as SegmentName, '130' as PageNo into #temp
--**************************************************************************************************

/*
Page No : 134
Loop No : 2010BB
Loop Name : PAYER NAME
Segment Name : N3 Address Information
*/


SET @strValidText = ''
SET @strInvalidText =''

/*
Page No : 134
Loop No : 2010BB
Loop Name : PAYER NAME
Segment Name : N3 Address Information
Data Element : N301 - ALIAS: Payer Address 1
*/

SET @strValidText = 'N3' + @pstrSegDelim

IF @strAddress1 =''
SET @strInValidText = @strInValidText + 'E2010BB_N301' + @pstrSegDelim
ELSE
SET @StrValidText = @strValidText + @strAddress1


/*
Page No : 134
Loop No : 2010BB
Loop Name : PAYER NAME
Segment Name : N3 Address Information
Data Element : N302 - ALIAS: Payer Address 2
*/

IF @strAddress2 <> ''
SET @StrValidText = @strValidText + @pstrSegDelim + @strAddress2
Insert into #temp SELECT @strValidText as EDIinfo, @strInvalidText ,2,'2010BB - Payer Name Address','N3', '134'
--**************************************************************************************************


/*
Page No : 135
Loop No : 2010BB
Loop Name : PAYER NAME
Segment Name : N4 Geographic Location PAYER CITY/STATE/ZIP CODE
*/

SET @strValidText = ''
SET @strInvalidText =''

SET @StrValidText = 'N4' + @pstrSegDelim


-- Page No 135
IF @strCity = ''
SET @strInValidText = @strInValidText + 'E2010BB_N401' + @pstrSegDelim
ELSE
SET @StrValidText = @strValidText + @strCity + @pstrSegDelim

-- Page No 135
IF @strState = ''
SET @strInValidText = @strInValidText + 'E2010BB_N402' + @pstrSegDelim
ELSE
SET @StrValidText = @strValidText + @strState + @pstrSegDelim

if @strZip <> ''
SET @strZip = REPLACE(@strZip,'-','')

-- Page No 135
IF @strZip = ''
SET @strInValidText = @strInValidText + 'E2010BB_N403' + @pstrSegDelim
ELSE
SET @StrValidText = @strValidText + @strZip

Insert into #temp SELECT @strValidText as EDIinfo, @strInvalidText ,3,'2010BB - Payer City/State/ZipCode','N4', '135'
--**************************************************************************************************


SELECT EDIinfo, ErrInfo,LoopNo,SegmentName,PageNo FROM #temp order by RowNum

IF @@ERROR = 0
RETURN 0
ELSE
RETURN 1

END



EDI 835 Health Care Claim Payment/Advice

Looking for best Practice Management software ? Please email at vbsenthilinnet@gmail.com


If you are new to Medical Billing, then please read this article
first.
If you are new to EDI, then  read the following articles

1. What is an EDI ?
2. EDI Transactions 

3. Understanding EDI Structure
4. EDI Instruction


EDI 835 Health Care Claim Payment/Advice

The 835 is used primarily by Healthcare insurance plans to make payments to healthcare providers, to provide Explanations of Benefits (EOBs), or both. When a healthcare service provider submits an 837 Health Care Claim, the insurance plan uses the 835 to detail the payment to that claim, including:

  • What charges were paid, reduced or denied
  • Whether there was a deductible, co-insurance, co-pay, etc.
  • Any bundling or splitting of claims or line items
  • How the payment was made, such as through a clearinghouse

A particular 835 document may not necessarily match up one-for-one with a specific 837. In fact, it is not uncommon for multiple 835 transactions to be used in response to a single 837, or for one 835 to address multiple 837 submissions. As a result, the 835 is important to healthcare providers, to track what payments were received for services they provided and billed. And also one EDI 835 File, may contain multiple Checks i.e Multiple EOBs

Before going into detail, Let us understand how insurance Payer make the Payment. Please understand and have good understanding on the following topics.

1. What is Copay, Co Insurance and Deductible in  Insurance Payment Posting ?
2. EOB – Explanation of Benefits

 

I have developed a small Parsing tool in VB.NET/VB.6/Java . This tool will take the EDI File and convert into PDF File as shown here.



 

Looking for best Practice Management software ? Please email at vbsenthilinnet@gmail.com 

Questions or feedback are always welcome. You can email me at vbsenthilinnet@gmail.com

Wednesday, 14 May 2014

271–5010 Health Care Eligibility Benefit Response - Subscriber Demographic Information and Subscriber Date –Loop 2100C

        

Subscriber Demographic Information.

Loop Seg ID Segment Name Format Length Ref# Req Value
2100C DMG Demographic Information ID 3 S DMG
Element Separator AN 1 *
DMG01 Date Time Period format Qualifier ID 2 1250 S D8 = Date format
Element Separator AN 1 *
DMG02 Date Time Period AN 8 1251 S <CCYYMMDD - Recipient Date of Birth>
Segment Terminator ~


Sample
DMG*D8*19571112

image_thumb6



Loop Seg ID Segment Name Format Length Ref# Req Value
2100C DTP Subscriber Date ID 3 R DTP
Element Separator AN 1 *
DTP01 Date Time Qualifier ID 2 374 R See values below
Element Separator AN 1 *
DTP02 Date Time Period Format Qualifier ID 2/3 1250 R D8 or RD8
Segment Terminator ~


DTP 01 – Date Time Qualifier
 
Code Definition
096 Discharge
102 Issue
152 Effective Date of Change
291 Plan
307 Eligibility
340 Consolidated Omnibus Budget Reconciliation Act (COBRA) Begin
341 Consolidated Omnibus Budget Reconciliation Act (COBRA) End
342 Premium Paid to Date Begin
343 Premium Paid to Date End
346 Plan Begin
347 Plan End
356 Eligibility Begin
357 Eligibility End
382 Enrolment
435 Admission
442 Date of Death
458 Certification
472 Service
539 Policy Effective
540 Policy Expiration
636 Date of Last Update
771 Status

DTP 02 – Date Time Period Qualifier

Code Definition
D8 Date Expressed in Format CCYYMMDD
RD8 Range of Dates Expressed in Format CCYYMMDD-CCYYMMDD


Sample

DTP*356*D8*20110101
DTP*346*D8*20140101
DTP*347*D8*20141231

image



        
Questions or feedback are always welcome. You can email me at vbsenthilinnet@gmail.com. 

271–5010 Health Care Eligibility Benefit Response – Loop 2100C Subscriber Name

 
        

image

Use this segment to identify an entity by name and/or identification number. Use this NM1 loop to identify the insured or subscriber

 
Loop Seg ID Segment Name Format Length Ref# Req Value
2100C NM1 Subscriber Name ID 3 R NM1
Element Separator AN 1 *
NM101 Entity Identifier Code ID 2/3 98 R IL
Element Separator AN 1 *
NM102 Entity Type qualifier ID 1/1 1065 R 1
Element Separator AN 1 *
NM103 Name Last or Organization Name AN 1/60 1035 R Insured Person Last Name
Element Separator AN 1 *
NM104 Name First AN 1/35 1036 S Insured Person First Name
Element Separator AN 1 *
NM105 Name Middle AN 1/25 1037 S Insured Person Middle Name
Element Separator AN 1 *
NM106 Name Prefix AN 1/10 1038 Not used
Element Separator AN 1 *
NM107 Name Suffix AN 1/10 1039 S Insured Person Suffix
Element Separator AN 1 *
NM108 Identification code Qualifier ID 1/2 66 R MI
Element Separator AN 1 *
NM109 Identification code AN 2/80 67 R Insured Policy No
Segment Terminator ~
               
 
 
NM102 - Entity Type Qualifier
Code qualifying the type of entity
Code Definition
1 Person
2 Non-Person Entity
 
Sample
NM1*IL*1*MULLIN*DANIEL****MI*XJBH12345678~

Segment Structure
image_thumb1


SUBSCRIBER Additional identification

Loop Seg ID Segment Name Format Length Ref# Req Value
2100C REF Reference Identification ID 3 R REF
Element Separator AN 1 *
REF01 Reference Identification qualifier ID 2/3 128 R See below for valid values
Element Separator AN 1 *
REF02 Reference Identification AN 1/50 127 R Identification value
    Element Separator AN 1 *
  REF03 Description AN 1/80 352 S Free form description as optional

REF01- Reference Identification Type Qualifier
 
Code Definition
18 Plan Number
1L Group Policy Number
1W Member Identification Number
3H Case Number
49 Family Unit Number
6P Group Number
CE Class of Contract
CT Contract Number
EA Medical Record  Identification Number
EJ Patient Account Number
F6 Health Insurance Claim (HIC) Number
GH Identification Card Serial Number
HJ Identify Card Number
IF Issue Number
IG Insurance Policy Number
N6 Plan Network Identification Number
NQ Medicaid Recipient Identification Number
Q4 Prior Identifier Number
SY Social Security Number
Y4 Agency Claim Number
   

Sample
REF*6P*1111119*XXXXXXX XXXXXXXXXX XXXXXXXXX, INC.
REF*EJ*660415~

image



2100C Subscriber Address
 
Loop Seg ID Segment Name Format Length Ref# Req Value
2100C N3 Subscriber Address AN 2 R N3
Element Separator AN 1 *
N301 Address Line 1 AN 1/55 166 R Insured Person Address Line 1
Element Separator AN 1 *
N302 Address Line 2 AN 1/55 166 S Insured Person Address Line 2 if exists
Segment Terminator ~

 
2100C Subscriber City/State/Zip code
Loop Seg ID Segment Name Format Length Ref# Req Value
2100C N4 Subscriber City / State / Zip Code AN 2 R N4
Element Separator AN 1 *
N401 City Name AN 2/30 19 R Insured Person City Name
Element Separator AN 1 *
N402 State or Province Code ID 2/2 156 R Insured Person State Code
Element Separator AN 1 *
N403 Postal Code ID 3/15 116 R Insured Person Zip Code
Segment Terminator ~



2100C Subscriber Demographic Information.
Loop Seg ID Segment Name Format Length Ref# Req Value
2100C DMG Subscriber Demographic ID 3 R DMG
Element Separator AN 1 *
DMG01 Date time Period Format Qualifier ID 2/3 1250 R D8
Element Separator AN 1 *
DMG02 Date time Period AN 1/35 1251 R Insured Date of birth in the Format CCYYMMDD
Element Separator AN 1 *
DMG03 Gender Code ID 1 1068 R Print M for Male
Print F for Female
Print U for unknown
Segment Terminator

Sample

N3*254 Holly ST
N4*HYDE PARK*NY*011111117
DMG*D8*19521212*M


image

image

image

 
        
Questions or feedback are always welcome. You can email me at vbsenthilinnet@gmail.com.