- ABME661 ; IHS/ASDST/DMJ - UB92 V5 EMC RECORD 61 (Outpatient Services) ;
- ;;2.6;IHS 3P BILLING SYSTEM;;NOV 12, 2009
- ;Original;DMJ;08/18/95 10:06 AM
- ;
- ; IHS/SD/SDR - v2.5 p10 - IM20395
- ; Split out lines bundled by rev code
- ;
- START ;START HERE
- K ABMR(61),ABMREC(61)
- S ABME("RTYPE")=61,ABME("S#")=0
- D SET^ABMERUTL
- K ABMP("FLAT") D FRATE^ABMDF11
- D ^ABMERGRV
- D LOOP
- S L=0 F S L=$O(ABMREC(61,L)) Q:'L D S90^ABMERUTL
- K ABM,ABME,ABMRV
- Q
- LOOP ;LOOP HERE
- S L=0
- S J=0 F S J=$O(ABMRV(J)) Q:'J D
- .S K=-1 F S K=$O(ABMRV(J,K)) Q:K="" D
- ..S M=0
- ..F S M=$O(ABMRV(J,K,M)) Q:M="" D
- ...S L=L+1 I L#3=1 D
- ....S ABME("S#")=ABME("S#")+1
- ....F I=10,20,30,35 D @(I_"^ABME661"),ADD
- ...F I=40:10:130 D @(I_"^ABME661"),ADD
- ...Q:J=9999
- ...S ABM("ACTOT")=+$P(ABMRV(J,K,M),U,6)
- ...S ABM("NCTOT")=+$P(ABMRV(J,K,M),U,7)
- ...D ADTT^ABMER60
- I '$G(ABMP("NOFMT")),$L(ABMREC(61,ABME("S#")))<192 F D Q:$L(ABMREC(61,ABME("S#")))>191
- .S ABMREC(61,ABME("S#"))=ABMREC(61,ABME("S#"))_" "
- Q
- ADD ;ADD TO RECORD
- I '$G(ABMP("NOFMT")) S ABMREC(61,ABME("S#"))=$G(ABMREC(61,ABME("S#")))_ABMR(61,I)
- Q
- 10 ;1-2 Record type
- S ABMR(61,10)=61
- Q
- 20 ;3-5 Sequence
- S ABMR(61,20)=ABME("S#")
- S ABMR(61,20)=$$FMT^ABMERUTL(ABMR(61,20),"3NR")
- Q
- 30 ;6-25 Patient Control Number
- S ABMR(61,30)=$$EX^ABMER20(30,ABMP("BDFN"))
- S ABMR(61,30)=$$FMT^ABMERUTL(ABMR(61,30),20)
- Q
- 35 ;26-27 Filler (National Use)
- S ABMR(61,35)=""
- S ABMR(61,35)=$$FMT^ABMERUTL(ABMR(61,35),2)
- Q
- 40 ;28-31 Revenue Code 1
- S ABMR(61,40)=$P(ABMRV(J,K,M),U)
- S ABMR(61,40)=$$FMT^ABMERUTL(ABMR(61,40),"4NR")
- Q
- 50 ;32-36 HCPCS Procedure Code 1
- S ABMR(61,50)=$P(ABMRV(J,K,M),U,2)
- S ABMR(61,50)=$$FMT^ABMERUTL(ABMR(61,50),5)
- Q
- 60 ;37-38 Modifier 1 (CPT-4 and HCPCS) 1
- S ABMR(61,60)=$P(ABMRV(J,K,M),U,3)
- S ABMR(61,60)=$$FMT^ABMERUTL(ABMR(61,60),2)
- Q
- 70 ;39-40 Modifier 2 (CPT-4 and HCPCS) 1
- S ABMR(61,70)=$P(ABMRV(J,K,M),U,4)
- S ABMR(61,70)=$$FMT^ABMERUTL(ABMR(61,70),2)
- Q
- 80 ;41-47 Units of Service 1
- S ABMR(61,80)=$P(ABMRV(J,K,M),U,5)
- S ABMR(61,80)=$$FMT^ABMERUTL(ABMR(61,80),"7NR")
- Q
- 90 ;48-53 Form Locator 49
- S ABMR(61,90)=""
- S ABMR(61,90)=$$FMT^ABMERUTL(ABMR(61,90),6)
- Q
- 100 ;54-63 Charges Total 1
- S ABMR(61,100)=$P(ABMRV(J,K,M),U,6)
- S ABMR(61,100)=$$FMT^ABMERUTL(ABMR(61,100),"10NRJ2")
- Q
- 110 ;64-73 Charges Non-Covered 1
- S ABMR(61,110)=""
- S ABMR(61,110)=$$FMT^ABMERUTL(ABMR(61,110),"10NRJ2")
- Q
- 120 ;74-81 Date of Service
- S ABMR(61,120)=$$Y2KD2^ABMDUTL(ABMP("VDT"))
- S ABMR(61,120)=$$FMT^ABMERUTL(ABMR(61,120),8)
- Q
- 130 ;82 Filler (National Use)
- S ABMR(61,130)=""
- S ABMR(61,130)=$$FMT^ABMERUTL(ABMR(61,130),1)
- Q
- EX(ABMX,ABMY,ABMZ) ;EXTRINSIC FUNCTION HERE
- ;X=data element, Y=bill internal entry number
- S ABMP("BDFN")=ABMY D SET^ABMERUTL
- I '$G(ABMP("NOFMT")) S ABMP("FMT")=0
- D @ABMX
- S Y=ABMR(61,ABMX)
- I $D(ABMP("FMT")) S ABMP("FMT")=1
- K ABMR(61,ABMX),ABME,ABMX,ABMY,ABMZ,ABM
- Q Y
- ABME661 ; IHS/ASDST/DMJ - UB92 V5 EMC RECORD 61 (Outpatient Services) ;
- +1 ;;2.6;IHS 3P BILLING SYSTEM;;NOV 12, 2009
- +2 ;Original;DMJ;08/18/95 10:06 AM
- +3 ;
- +4 ; IHS/SD/SDR - v2.5 p10 - IM20395
- +5 ; Split out lines bundled by rev code
- +6 ;
- START ;START HERE
- +1 KILL ABMR(61),ABMREC(61)
- +2 SET ABME("RTYPE")=61
- SET ABME("S#")=0
- +3 DO SET^ABMERUTL
- +4 KILL ABMP("FLAT")
- DO FRATE^ABMDF11
- +5 DO ^ABMERGRV
- +6 DO LOOP
- +7 SET L=0
- FOR
- SET L=$ORDER(ABMREC(61,L))
- IF 'L
- QUIT
- DO S90^ABMERUTL
- +8 KILL ABM,ABME,ABMRV
- +9 QUIT
- LOOP ;LOOP HERE
- +1 SET L=0
- +2 SET J=0
- FOR
- SET J=$ORDER(ABMRV(J))
- IF 'J
- QUIT
- Begin DoDot:1
- +3 SET K=-1
- FOR
- SET K=$ORDER(ABMRV(J,K))
- IF K=""
- QUIT
- Begin DoDot:2
- +4 SET M=0
- +5 FOR
- SET M=$ORDER(ABMRV(J,K,M))
- IF M=""
- QUIT
- Begin DoDot:3
- +6 SET L=L+1
- IF L#3=1
- Begin DoDot:4
- +7 SET ABME("S#")=ABME("S#")+1
- +8 FOR I=10,20,30,35
- DO @(I_"^ABME661")
- DO ADD
- End DoDot:4
- +9 FOR I=40:10:130
- DO @(I_"^ABME661")
- DO ADD
- +10 IF J=9999
- QUIT
- +11 SET ABM("ACTOT")=+$PIECE(ABMRV(J,K,M),U,6)
- +12 SET ABM("NCTOT")=+$PIECE(ABMRV(J,K,M),U,7)
- +13 DO ADTT^ABMER60
- End DoDot:3
- End DoDot:2
- End DoDot:1
- +14 IF '$GET(ABMP("NOFMT"))
- IF $LENGTH(ABMREC(61,ABME("S#")))<192
- FOR
- Begin DoDot:1
- +15 SET ABMREC(61,ABME("S#"))=ABMREC(61,ABME("S#"))_" "
- End DoDot:1
- IF $LENGTH(ABMREC(61,ABME("S#")))>191
- QUIT
- +16 QUIT
- ADD ;ADD TO RECORD
- +1 IF '$GET(ABMP("NOFMT"))
- SET ABMREC(61,ABME("S#"))=$GET(ABMREC(61,ABME("S#")))_ABMR(61,I)
- +2 QUIT
- 10 ;1-2 Record type
- +1 SET ABMR(61,10)=61
- +2 QUIT
- 20 ;3-5 Sequence
- +1 SET ABMR(61,20)=ABME("S#")
- +2 SET ABMR(61,20)=$$FMT^ABMERUTL(ABMR(61,20),"3NR")
- +3 QUIT
- 30 ;6-25 Patient Control Number
- +1 SET ABMR(61,30)=$$EX^ABMER20(30,ABMP("BDFN"))
- +2 SET ABMR(61,30)=$$FMT^ABMERUTL(ABMR(61,30),20)
- +3 QUIT
- 35 ;26-27 Filler (National Use)
- +1 SET ABMR(61,35)=""
- +2 SET ABMR(61,35)=$$FMT^ABMERUTL(ABMR(61,35),2)
- +3 QUIT
- 40 ;28-31 Revenue Code 1
- +1 SET ABMR(61,40)=$PIECE(ABMRV(J,K,M),U)
- +2 SET ABMR(61,40)=$$FMT^ABMERUTL(ABMR(61,40),"4NR")
- +3 QUIT
- 50 ;32-36 HCPCS Procedure Code 1
- +1 SET ABMR(61,50)=$PIECE(ABMRV(J,K,M),U,2)
- +2 SET ABMR(61,50)=$$FMT^ABMERUTL(ABMR(61,50),5)
- +3 QUIT
- 60 ;37-38 Modifier 1 (CPT-4 and HCPCS) 1
- +1 SET ABMR(61,60)=$PIECE(ABMRV(J,K,M),U,3)
- +2 SET ABMR(61,60)=$$FMT^ABMERUTL(ABMR(61,60),2)
- +3 QUIT
- 70 ;39-40 Modifier 2 (CPT-4 and HCPCS) 1
- +1 SET ABMR(61,70)=$PIECE(ABMRV(J,K,M),U,4)
- +2 SET ABMR(61,70)=$$FMT^ABMERUTL(ABMR(61,70),2)
- +3 QUIT
- 80 ;41-47 Units of Service 1
- +1 SET ABMR(61,80)=$PIECE(ABMRV(J,K,M),U,5)
- +2 SET ABMR(61,80)=$$FMT^ABMERUTL(ABMR(61,80),"7NR")
- +3 QUIT
- 90 ;48-53 Form Locator 49
- +1 SET ABMR(61,90)=""
- +2 SET ABMR(61,90)=$$FMT^ABMERUTL(ABMR(61,90),6)
- +3 QUIT
- 100 ;54-63 Charges Total 1
- +1 SET ABMR(61,100)=$PIECE(ABMRV(J,K,M),U,6)
- +2 SET ABMR(61,100)=$$FMT^ABMERUTL(ABMR(61,100),"10NRJ2")
- +3 QUIT
- 110 ;64-73 Charges Non-Covered 1
- +1 SET ABMR(61,110)=""
- +2 SET ABMR(61,110)=$$FMT^ABMERUTL(ABMR(61,110),"10NRJ2")
- +3 QUIT
- 120 ;74-81 Date of Service
- +1 SET ABMR(61,120)=$$Y2KD2^ABMDUTL(ABMP("VDT"))
- +2 SET ABMR(61,120)=$$FMT^ABMERUTL(ABMR(61,120),8)
- +3 QUIT
- 130 ;82 Filler (National Use)
- +1 SET ABMR(61,130)=""
- +2 SET ABMR(61,130)=$$FMT^ABMERUTL(ABMR(61,130),1)
- +3 QUIT
- EX(ABMX,ABMY,ABMZ) ;EXTRINSIC FUNCTION HERE
- +1 ;X=data element, Y=bill internal entry number
- +2 SET ABMP("BDFN")=ABMY
- DO SET^ABMERUTL
- +3 IF '$GET(ABMP("NOFMT"))
- SET ABMP("FMT")=0
- +4 DO @ABMX
- +5 SET Y=ABMR(61,ABMX)
- +6 IF $DATA(ABMP("FMT"))
- SET ABMP("FMT")=1
- +7 KILL ABMR(61,ABMX),ABME,ABMX,ABMY,ABMZ,ABM
- +8 QUIT Y